How do I make a game?

Started by
11 comments, last by 6677 11 years, 7 months ago
Hey folks. I've had a lot of free time lately so I've been playing amazing games like Minecraft and Terraria, which have inspired me to make a game of my own. I was wondering how a passionate video game fan like myself could go about "crafting" some games. (See what I did there? lol). I have a lot of great ideas for truly EPIC games and want to start applying them to a sort of sandbox style game like the ones I mentioned.

Thanks a ton,
Alan

(PS I didn't know what topic prefix meant so I went with the one that sounded coolest.)
Advertisement
Well, it takes time to learn how to program - on the order of several years - but it's really enjoyable once you get into it. You won't be able to even start creating a game like Minecraft or Terraria for quite awhile, though.

Typically, first you start with text-based games, then simple games like asteroids or tetris, then a slightly-larger (but still small) project that's more unique, and kinda work your way up game by game, learning as you go. It can be frustrating limiting yourself to very small games when you have very big ideas, but meh, that's what must be done to learn.

You could start with Python (here's the Beginner's Guide). I hope you find it very enjoyable! It may seem confusing at first, but stick with it through the confusion, and it'll get very enjoyable (and more challenging) as time goes on.

If all you want to do is just kinda play around making sandcastles (which is perfectly fine!) instead of really becoming a carpenter, GameMaker is really cool, as is Construct.

However, yet another possibility is modding an already-existing game. I always enjoy spinning up a copy of Halflife 2 and building a couple levels for fun (I usually don't finish them, though). You could poorly teach yourself Java (in a butchered and bumpy way, but you'll still benefit at least somewhat) by modding Minecraft or Terraria, and studying what other mods do and asking on their respective forums. It'll be... uh, rather frustrating at times, since you'll have no clue what you're doing, but you'll eventually learn something if you keep at it, and will probably produce better short-term results (though it'll take longer to produce real long-term results if you choose to actually pursue programming heavily).

Whatever you choose: Good luck.
Going with the coolest topic prefix is a dumb idea, you might want to stop doing things like that if you want results.

FYI Python is a programming language. Not one well suited to actually making games (can be done though, pygame and pyglet are a good start there) but its incredibly easy to learn and the knowledge gained applies to other languages.

You could start with Python (here's the Beginner's Guide). I hope you find it very enjoyable! It may seem confusing at first, but stick with it through the confusion, and it'll get very enjoyable (and more challenging) as time goes on.


Why would I use a language I've never heard of? Minecraft is living, breathing proof that Java is the best way to go, am I wrong?
If you want "living breathing proof", Python was used for EVE Online and Toontown Online, and as a scripting language in Civilization 4. It's perfectly capable, and is an absolute joy to work with.

Java is ALSO perfectly capable (Minecraft and Runescape being examples), so if you prefer Java then go ahead and use it.

You could also consider C#/XNA, which were used for Terraria.


Language choice is actually relatively unimportant - you can make professional looking games using MOST languages.

- Jason Astle-Adams


[quote name='Servant of the Lord' timestamp='1347246238' post='4978463']
You could start with Python (here's the Beginner's Guide). I hope you find it very enjoyable! It may seem confusing at first, but stick with it through the confusion, and it'll get very enjoyable (and more challenging) as time goes on.


Why would I use a language I've never heard of? Minecraft is living, breathing proof that Java is the best way to go, am I wrong?
[/quote]

Just because you never heard of it, that doesn't mean that it's unknown. wink.png Most game players don't know what the games they play are made of, and just because they hear one is made in language X doesn't mean language X is better than other languages (or even the best language for making the game they played) - it just means the developer who happened to make that game also happened to use language X.

Java isn't bad, and it's a viable option. It certainly isn't better than Python just because one game that happened to be successful also happened to use Java. Minecraft could've been programmed just as easily in Python, it just so happened that it wasn't. Civilization IV uses Python heavily for modding support and map generation. Battlefield 2 apparently uses Python for scripting.

Besides, you won't hit the limitations of the language you choose for several years, and will eventually want to learn multiple languages and understand the pros and cons of each. Python puts you in a really good position, because it's easy to learn, but also really powerful, and can interface with C++ libraries for that extra hit of power when (years from now) you might need it.

But the best tool for the right job. If making an Android app, you'll probably need Java. If an iPhone app, probably Objective-C, if a XBox Live Arcade app, probably C#.
But to find the best tool for the right job, you first have to know what the 'job' is. In this case, the job is learning how to program while having fun making games. There are several right tools for this (and it's debatable which one is "best"), and in my opinion Python is one of those right tools. I think Java might be another right tool, but I don't have experience with Java to say for sure.

Note: I'm not saying use Python instead of Java, I'm just saying that they are both possible paths to learning game development. Honestly, as long as you choose a half-way decent language with good documentation and tutorials and active communities (both Java and Python fit in those categories), the most important thing is sticking with it.
If you want to learn to "make" games, then you will need to be serious about learning. You're not going to write the next Minecraft, Total War, IL-2, ARMA or Call of Duty without several years of learning and practice -- and once you know how you need the time, financial/man-power resources and some business experience to make it happen. But that can all come to you from getting a job in the industry (once you learn), managing money wisely and learning, learning, learning! Most people who are in your position, just wanting to start off, end up giving up (probably 90% or more). The other 9% never make a good game... yet another 0.9% only make moderately successful or decent games, and only 0.01% end up making a multi-million dollar AAA-grade title. But if you know you have what it takes and you're serious about making it, don't let statistics scare you. Some of those "0.01%'ers" are hanging around these very forums! :-)

I recommend heartily that you go with C#, and start off learning with the XNA Framework. It will let you get your feet wet and show you how DirectX games are put together without making you kill yourself learning about low-level graphics programming.
_______________________________________________________________________________
CEO & Lead Developer at ATCWARE™
"Project X-1"; a 100% managed, platform-agnostic game & simulation engine

Please visit our new forums and help us test them and break the ice!
___________________________________________________________________________________
I don't know why this was in Game Programming instead of For Beginners -- so I moved it to FB.

-- Tom Sloper -- sloperama.com


Minecraft is living, breathing proof that Java is the best way to go, am I wrong?


Minecraft is living, breathing proof that Notch is a very capable programmer.

+---------------------------------------------------------------------+

| Game Dev video tutorials -> http://www.youtube.com/goranmilovano | +---------------------------------------------------------------------+

Python was used for EVE Online and Toontown Online


Sorry, but Toontown? Really?

This topic is closed to new replies.

Advertisement