Sign in to follow this  
Alan Greenspan

How do I make a game?

Recommended Posts

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.)

Share this post


Link to post
Share on other sites
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 [url="http://www.python.org/"]Python[/url] (here's the [url="http://wiki.python.org/moin/BeginnersGuide"]Beginner's Guide[/url]). 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, [url="http://www.yoyogames.com/gamemaker/windows"]GameMaker[/url] is really cool, as is [url="http://www.scirra.com/"]Construct[/url].

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
[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.
[/quote]

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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
[quote name='Alan Greenspan' timestamp='1347323688' post='4978745']
[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.
[/quote]

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. [img]http://public.gamedev.net//public/style_emoticons/default/wink.png[/img] 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. [url="http://en.wikipedia.org/wiki/Civilization_IV#Customization"]Civilization IV[/url] uses Python heavily for modding support and map generation. [url="http://en.wikipedia.org/wiki/Battlefield_2"]Battlefield 2[/url] 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 [i]instead of [/i]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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Sure - Toontown is a successful and profitable commercial MMORPG that has been operating for nearly a decade. You might not find the theme interesting or the art style -- and it IS a stylistic choice rather than any imposed limitation -- particularly impressive, but if you ever create a game even one-tenth as successful you would be doing well. I believe Disney also have an MMO built on the same technology with a Pirates of the Caribbean theme if that would be an example more to your taste.

Share this post


Link to post
Share on other sites
[quote name='Alan Greenspan' timestamp='1347342217' post='4978801']
[quote name='jbadams' timestamp='1347326371' post='4978751']
Python was used for EVE Online and Toontown Online
[/quote]

Sorry, but Toontown? Really?
[/quote]

You should stop looking at the visuals of the games (or whether you enjoy them or not), and start thinking about the architecture.
Toontown is a MMORPG that must support tons of players at once participating in different events in a 3D world (that was launched in 2003).
Minecraft (launched the online component in 2009), though more to your personal preference in terms of gameplay, supports a much smaller amount of people in a block-based world. And Minecraft still has (last time I played) entire chunks of the world that go missing from time to time that hasn't been resolved after three years.

Toontown is a greater feat of [i]engineering [/i](even though you may not like it's [i]design[/i]). Both games could've been programmed in either Python or Java, or any of a dozen other languages. Edited by Servant of the Lord

Share this post


Link to post
Share on other sites
I think with about 90% certainty that this guy is either
a) a troll
b) an idiot who just assumes that because minecraft is written in java its the best when you could argue that many many more successful games are written in C++

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this