A Guide To Making PC Games
When it comes to making your own computer game on Windows you basically have two options. You can either use a WYSIWIG (what you see is what you get) editor such as Unity or ShiVa or you can choose to learn a programming language such as Java or C# (easier to learn that C++). Although choosing to learn how to program in Java or C# is a much more advanced option and would usually be used in conjunction with an SDK (Software Development Kit) such as Eclipse, there are also many WYSIWIG options becoming available, ShiVa allows you to create games that can be ported to many different formats including iPhone and Nintendo Wii. However, making a simple 2D PC game is probably the best place to start and you can progress from there.
The easiest SDK to use out of all of them
Without a doubt the easiest and simplest SDK out of all of them is the aptly titled Game Maker. Technically it isn't an SDK because it was actually released for student purposes though it has become a very popular and very useful game creation tool. It comes with a library of resources that can be used without limitation in commercial productions so you can sell your games without risk. Game Maker 8 currently only allows you to make games for the PC although YoYo games have now released Game Maker Studio which supports iOS and Android (for a license fee). Game Maker 8 allows you to create 2D or (fake) 3D games and has it's own scripting language for advanced users called GML - Game Maker Language.
Although the functionality of scripting and writing your own code is available, it isn't a necessity as Game Maker 8 uses a simple drag-and-drop system that allows the user to define behaviors of objects - the programming aspect of a game's development is basically done for you. However, those wishing to create more advanced games or (standard) 3D games will need to learn how to code in GML which isn't difficult. Anyone who has had experience of programming in BASIC is sure to pick up GML relatively easily. Game Maker 8 is perfect for creating 2D games but requires more advanced knowledge to do anything more than that.
Developing Your Game
Before jumping in head-first it's probably a good idea to design your game and work out a plan on paper. Game Maker 8 is sprite-oriented which means that all visual objects in your game, apart from backgrounds, are objects based on graphical sprites. A sprite is simply an animated (or un-animated) picture or icon which can be given behaviors such as collision events or controls and which plays an interactive role in your game.
Producing graphics and sound effects or music for your game is probably the most difficult aspect of creating it though there are a wide range of resources available online. Game Maker 8 also comes with it's own library of sprites and sounds that you are allowed to use. To make your game you simply load in all sprites, objects and sounds, choose their paths and behaviors and decide where they will be used on-screen and what happens to them when certain events occur - this can all be done by simply using the drag-and-drop interface.
Exporting Your Game
Once your game is complete Game Maker 8 gives you the facility to export your game into a standalone executable file (.exe). Once this has been done the executable file runs without the need for installation and your game can be loaded on any Windows system without having to have Game Maker installed. You can also customize the loading-up display and global settings of your game to make it look more professional and to add credits. However, this can only be done using the fully licensed purchased version of the software. No evidence is left behind that you used Game Maker to create your game and you are legally entitled to sell your game commercially.
I am a full-stack Web Application Developer and Software Developer, currently I'm work at DoMyWriting and living in Los Angeles, CA. I have a Bachelor of Science in Computer Science from Northeastern University, and my primary focus and inspiration for my studies is Web Development. In my free time, I study human computer interface and the psychology of human computer interaction. I am both driven and self-motivated, and I am constantly experimenting with new technologies and techniques. I am very passionate about Web Development, and strive to better myself as a developer, and the development community as a whole.