Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411423 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 18, 2024, 02:38:16 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityTownhallForum IssuesArchived subforums (read only)TutorialsSO YOU WANT TO MAKE GAMES - the beginner's guide [in progress]
Pages: [1] 2 3 4
Print
Author Topic: SO YOU WANT TO MAKE GAMES - the beginner's guide [in progress]  (Read 38482 times)
genericuser
Guest
« on: November 07, 2010, 06:41:59 AM »

(This guide is intended to be an answer to the question "how do I make games?".
It is not finished yet - however, it should be a decent guide in its current form.
Feedback and suggestions for improvements are welcome  Smiley )

BEFORE WE START

  • There's no quick way of making games.
  • There is no quick way of making games.
  • This means your first game will not be the next World of Warcraft. You're going to do simple games at first, like Pong or Breakout.
  • But that's OK - you're learning this as you go, after all. Speaking of which...
  • Be prepared to learn. When stuck, try to research things on your own - use Google, read the linked tutorials, read books, and if you can, look at the source of other games.
  • If you're still stuck, people in forums/chatrooms can help you, but in most cases only if:
  •      a) You've done your own research, and still can't find the answer
  •      b) You can narrow the problem down to one specific question.
  •      c) You're polite about it. Correct spelling and grammar helps - it makes it easier to help you, and you'll be taken more seriously.


Remember this, and you should be good to go.

BUT WHAT DO I USE TO MAKE GAMES?
It depends:

I want to make games right now!

Go with Construct or Game Maker - both allow for setting up basic games without much trouble, and can be used to work on larger projects.

I don't need no game makers, I want to code games!
Warning: Making games through code is somewhat more time consuming. You'll need to learn how to code as well as learning how to make games. You will also need to code things that you'd normally take for granted with a game development tool.
That being said, programming is a practical skill outside of game development as well, so more power to you!

ActionScript and Flixel/Flashpunk is often recommended as a good language to start out with, as well as Python with PyGame.

(Note: While C++ is often cited as a good starting language/the "industry standard", you will probably be better off starting with a simpler language and later transitioning into others. As programming languages share a lot of concepts, it's easier to learn other languages when you've grasped one of them.)


GAME MAKING TOOLS

Construct

http://www.scirra.com/
Benefits: Open source (free), easy to pick up, similar to MMF.
Caveats: May suffer from occasional crashes, unpolished in certain areas.
Guides: Tutorial list on the Construct wiki.

Game Maker
http://www.yoyogames.com/gamemaker
Benefits: Cheap pro version, several tutorials available, scripting is possible.
Caveats: Some quirks(1), scripting required to create more advanced games.
Guides: Tutorials on the forum, the GML guide (in the help section of the program).

Unity
http://unity3d.com/
Benefits: Capable of both 2D and 3D games, powerful.
Caveats: Some coding may be required. 1200$ license required for some features.
Guides: Alec's video tutorials, the 3D platformer tutorial

PROGRAMMING LANGUAGES


Python
http://python.org
Benefits: Easy to pick up, several libraries available.
Caveats: Isn't as strict with type definitions(which might be a problem when transitioning to other languages), indentation may be confusing.
Guides: Official tutorial

C/C++
Several IDEs; Code::Blocks, Visual Studio Express, and XCode for the Mac.
Benefits: Tried and tested. Compatible with a wide range of libraries. Once you've learned this, learning other languages is easier.
Caveats: Harder to learn, definitely not the best language for people starting out, complicated in areas.
Guides: CProgramming's introduction to C++

ActionScript
http://flashgamedojo.com
Benefits: Produces Flash games, which many portals (like Newgrounds and Kongregate) accept. One of the easier languages to learn.
Caveats: May be somewhat slower than other languages, might be limited in some ways by the Flash plugin.
Guides: Flash Game Dojo's guide (with resources for Flixel and Flashpunk)

LIBRARIES

In most cases, the programming language does not handle the input/output part of games - graphics, sounds and keys - so you'll typically need a library to handle these.

SFML
http://www.sfml-dev.org/
Usable with: C/C++, Python
Benefits: Easy to get into, good alternative to SDL.
Caveats: Work in progress - you might run into problems.
Guides: SFML-Dev's list of tutorials

Flixel
http://flixel.org
Usable with: ActionScript
Benefits: Coding mostly done through extending Flixel's objects - things are mostly set up for you.
Caveats: (see ActionScript)
Guides: Flash Game Dojo's tutorial

Flashpunk
http://flashpunk.net/
Usable with: ActionScript
Benefits: Workflow is similar to Game Maker's scripting language.
Caveats: (see ActionScript)
Guides: Flashpunk's list of tutorials

PyGame
http://www.pygame.org/
Usable with: Python
Benefits: Relatively easy, allows for a lot of control.
Caveats: Coding is done from the ground up.
Guides: The line-by-line Chimp example, Code Comments


Footnotes
(1) - Game Maker quirks
« Last Edit: December 16, 2010, 09:49:45 AM by GenericUser » Logged
ink.inc
Guest
« Reply #1 on: November 07, 2010, 08:27:38 PM »

Yay! Finally someone made one of these threads... this should be stickied so folks with this sort of question don't keep on making new threads to ask...

Note

-a downside to using Game Maker: terrible horizontal screen tearing on a lot of computers; also, a lot of computers don't support surfaces, which GM has in spades.
« Last Edit: November 07, 2010, 08:36:42 PM by John Sandoval » Logged
Nugsy
Level 10
*****



View Profile
« Reply #2 on: November 07, 2010, 11:11:47 PM »

You should add the Blitz range of products to the list!

http://www.blitzbasic.com/Home/_index_.php
Logged


AuthenticKaizen
Freeware Ninja
Level 10
*


*Prestige Worldwide*


View Profile WWW
« Reply #3 on: November 09, 2010, 11:52:58 AM »

Good work! Keep it up!  Gentleman

Added it to the list over here...
(maybe you could use some stuff from there and implement it into your guide)
http://www.pixelprospector.com/2010/08/the-big-list-of-game-development-resources/
Logged

PixelProspector.com - the indie goldmine + Marketing Guide for Indie Game Developers             
“Knowing is not enough, you must apply; willing is not enough, you must do.” (Bruce Lee)
MaloEspada
Guest
« Reply #4 on: November 09, 2010, 12:22:50 PM »

Hmm, what about that thing.. Stencyl? I think it has been released already?
There is also MMF too, though I don't think many would recommend that haha.
Logged
genericuser
Guest
« Reply #5 on: November 09, 2010, 02:32:09 PM »

@John Sandoval: Thanks - I added that as a footnote.
@Nugsy: I haven't used any of the Blitz languages, and I'm kind of wary of BASIC - will check it out some time.
@AuthenticKaizen:  Grin
That list will definitely be helpful.
@rdein: Stencyl is released already? Whoa. I'll have to check that out.
As for MMF, Construct is pretty similar and free, to boot.

Actually, I don't know how it compares in terms of plugins etc. - but I don't think it'd be my first recommendation in any case.
Logged
ink.inc
Guest
« Reply #6 on: November 09, 2010, 03:42:46 PM »

I think it would be best if you changed the current format into a set of steps that people could follow, as opposed to chunks of text.

Example:

Step One
Understand that making games is an extremely difficult and time consuming process. You will get angry. You will bash your head against the keyboard. You will cry like an oversized man-child. You will contemplate suicide. But the act of completing and excecuting a concept from beginning to end is a very satisfying, life affirming experience.

Step Two
Forget about making your dream game (for now). You don't have the skills yet to complete it and have it have any semblance to your original vision. What happens when you do? You end up with bunch of shitty code that you realize five months down the line is completely unusable for the scale of your envisioned project (ie terribly hacked together and uncommented) and a bunch of unusable art assets. You will start small. You will get better. Then, once you have an understanding of the way the system works, you will "mak gams".

Step Three
Buy a legit copy of Game Maker. It costs 20 bucks. Don't pirate it like a little bitch. That's no way to start off in the indie games scene.


Etc, etc.

Like that, but without being demeaning and swearing a lot. (Step Two is personal experience, except I realized that my dream game would be shit in one month, not five)
« Last Edit: November 09, 2010, 04:05:59 PM by John Sandoval » Logged
ChevyRay
Guest
« Reply #7 on: November 09, 2010, 05:06:03 PM »

Quote
Flashpunk
...
Benefits: Similar to Game Maker's scripting language.

Not really. Actually not at all, that is a common mistake, not sure where it originated from. It would be fair to say that game design workflow is fairly similar to what Game Maker users are familiar with, but the coding is something entirely different, especially since version 1.0.

Smiley Cheers! Awesome list, I will probably mirror this from my blog, as I get lots of hits and emails from people asking these very questions.
Logged
genericuser
Guest
« Reply #8 on: November 09, 2010, 10:54:20 PM »

@John: Makes sense. I'll try to change the structure sometime soon.

@ChevyRay, ah, my bad. I've changed it to "workflow is similar", which I hope is more accurate. Thanks, though!  Grin
Logged
ChevyRay
Guest
« Reply #9 on: November 09, 2010, 11:12:38 PM »

No problem! Keep up the good work man Smiley
Logged
valis
Level 0
***

Kaffiyeh Camel


View Profile
« Reply #10 on: November 20, 2010, 04:54:56 AM »

Don't be wary of BlitzMax, it's not like any kind of BASIC I ever used, though I guess the syntax is mostly similar.  I feel like I've become a Blitz zealot in the last few weeks but it really is a superlative product.
Logged
Impossible
Level 3
***



View Profile
« Reply #11 on: December 12, 2010, 10:51:53 PM »

I know the TIGSource forums have a bias toward Code::Blocks, but it seems strange not to even mention Visual Studio Express and XCode...
Logged
genericuser
Guest
« Reply #12 on: December 13, 2010, 04:29:18 AM »

Only reason they're not included is because I forgot them! I haven't tried them yet, so they didn't come to mind when I wrote that part (adding them now). It certainly wasn't intended as a "VS and XCode sucks".

(I really should get around to finishing this guide. Any questions/areas I should cover?)
Logged
increpare
Guest
« Reply #13 on: December 13, 2010, 04:35:43 AM »

Quote
There's no quick way of making games.
There are many quick ways of making games [that I recommend], such as

renpy
KnP

Quote
Some programming may be required.
Programming is required for all the others on that list as well...
Logged
genericuser
Guest
« Reply #14 on: December 13, 2010, 05:13:55 AM »

Quote
There's no quick way of making games.
There are many quick ways of making games [that I recommend], such as...

I meant that in the sense of having to make content yourself, not necessarily in the sense of speed or difficulty.

Quote
Quote
Some programming may be required.
Programming is required for all the others on that list as well...

Coding. I meant coding (writing code in a programming language, opposed to using an event system).
Logged
danny34
Level 1
*


View Profile
« Reply #15 on: December 15, 2010, 06:12:58 PM »

(I really should get around to finishing this guide. Any questions/areas I should cover?)

Hello, your article is very GOOD! Thank you. The article can really help a lot of people and me. Your suggestions are good. I have also tried Unity, Game Maker and Construct.

The following game making programs are what I discover on the Internet. If you have time, I hope that you will test and try these game making programs(or some of them). Adding detailed test results of these programs to your article will help many beginners(like me). Thanks a lot.

1. Bennu
http://www.bennugd.org/

2. IG Maker
http://www.rpgmakerweb.com/product.html?prod=ig

3. Game Editor
http://game-editor.com/Main_Page

4. Enigma
http://enigma-dev.org/

5. ZGameEditor
http://www.zgameeditor.org/

6. Express Game Maker
http://www.expressgamemaker.com/Downloads/

7. 001 Game Creator
http://www.engine001.com/gamemaker.htm

8. Novashell
http://www.rtsoft.com/novashell/

9. Sphere
http://www.spheredev.org/wiki/Main_Page

10. Wintermute
http://dead-code.org/home/

11. Ren'Py
http://www.renpy.org/wiki/renpy/Home_Page

12. Playbasic
http://www.playbasic.com/

13. CoolBasic
http://www.coolbasic.com/index.php?lang=en

14. GLBasic
http://www.glbasic.com/

15. 3D Rad
http://www.3drad.com/

16. Venatio Creo
http://www.venatiocreo.com/index.php

17. Nuclear Basic
http://www.nuclearglory.com/products.php

18. SGP Baltie 4 C# (Pro)
http://www.sgpsys.com/en/Default.asp

19. Small Basic
http://www.smallbasic.com/

20. Brutus2D
http://pewtersoftware.com/wordpress/

21. Phrogram
http://phrogram.com/

22. NaaLaa
http://www.naalaa.com/index.html

23. EGSL
http://egsl.wikidot.com/start
Logged
dantheman363
Level 1
*



View Profile WWW
« Reply #16 on: December 27, 2010, 05:01:39 PM »

Good work! Keep it up!  Gentleman

Added it to the list over here...
(maybe you could use some stuff from there and implement it into your guide)
http://www.pixelprospector.com/2010/08/the-big-list-of-game-development-resources/

I love the pixel prospector lists, very useful stuff.
Logged

Richard Kain
Level 10
*****



View Profile WWW
« Reply #17 on: December 27, 2010, 10:50:55 PM »

Quote
There's no quick way of making games.
There are many quick ways of making games [that I recommend], such as

renpy
KnP

Though certainly easier than starting from scratch, I wouldn't call either of those options "quick." RenPy in particular is geared toward visual novels that would require some quite extensive writing and visual content. And that's if you do as little programming as possible. Simply having the framework for producing a game is not the same as actually producing one.

The point the original author was trying to make is that game development in general involves long hours of hard work, no matter what method you employ. And no matter what game-construction tools or libraries you might use, I think it is still a valid point. This is not a slap-dash hobby where you throw something together in an hour or two and call it done.
Logged
increpare
Guest
« Reply #18 on: December 28, 2010, 05:05:41 AM »

Quote
This is not a slap-dash hobby where you throw something together in an hour or two and call it done.
lots of people do just this on a regular basis

I must admit that different people have very different approaches to making games, very different processes, and ultimately different realities (though a lot of people hop back and forth between the different timescales of game-making quite nimbly, going to jams in the midst of larger project development, for instance).  GU's advise is coming from somewhere else to where I am right now.  It's a truism to say that he can only really speak from his perspective, but forums help other people chime in with their experiencees.

And yes, I will take back my words and agree that a tool like Renpy or Construct isn't a way of making a quick game.  They do allow for the more expedient creation of games, potentially allowing for short-form game creation, but neither do they at all rule out more extended efforts (except maybe for construct, which is very unstable for larger projects Wink ).
Logged
mirosurabu
Guest
« Reply #19 on: December 28, 2010, 11:09:18 AM »

Prototyping is a quick way of making games. It involves scaling down ambitions and effort to quickly finish something.

However, I believe GU's post is directed at complete beginners who believe that highly ambitious games can be produced quickly. So, his answer is just "no, you can't do that quickly!", which is valid and doesn't negate the value of prototyping.
Logged
Pages: [1] 2 3 4
Print
Jump to:  

Theme orange-lt created by panic