Fractal Softworks Forum

Please login or register.

Login with username, password and session length

Author Topic: Where to start with programming a game  (Read 2755 times)

mostmodest

  • Commander
  • ***
  • Posts: 171
    • View Profile
Where to start with programming a game
« on: April 04, 2013, 02:11:53 AM »

Me and a few mates are thinking of making a game, the only problem is that we have no experience with coding (I have done the JavaScript course on CodeAcademy, but that's about it).
These questions are directed at anyone who can help.
First question: ShouldI use an engine, if so, which one. (Also, if Alex reads this; what engine did you use, if any?)
Second q: which language should I use? I'm looking for something easy-ish to use that will work the best.

Basically, it's going to be a 2D space sim, similar to SS, but with some differences.
Logged
Yes, you are reading to far into this.

catmorbid

  • Ensign
  • *
  • Posts: 3
    • View Profile
Re: Where to start with programming a game
« Reply #1 on: April 04, 2013, 02:50:32 AM »

With your experience I'd suggest GameMaker. It's pretty beginner friendly and has good tutorials and manual. It's basically possible to make some kind of game without any coding, using the drag n drop thingies, but the more complex stuff require using the scripting language. The language itself is pretty simple, although the code editor is not so good. Regardless, it's probably the most simple platform if you have zero gamedev and programming experience, but is also powerful enough to make pretty solid 2D games.
Logged

mostmodest

  • Commander
  • ***
  • Posts: 171
    • View Profile
Re: Where to start with programming a game
« Reply #2 on: April 04, 2013, 04:20:45 AM »

I've tried GM before, but didn't really like it. Got anything else?

Sorry for being picky...
Logged
Yes, you are reading to far into this.

catmorbid

  • Ensign
  • *
  • Posts: 3
    • View Profile
Re: Where to start with programming a game
« Reply #3 on: April 04, 2013, 05:22:54 AM »

What was your biggest problem with GM if I may ask? I tried it recently myself and found the latest version pretty beginner friendly and despite all its flaws, an ok platform for relatively small games or prototypes.

Anyway, there's a ton of 2D game engines available, and everyone whose worked with one has a preference, so I'm not sure if there's a correct answer to any of your questions. Unless you know what kind of features to look for, you should either try the simplest possible platform or start learning from scratch by just picking a language, like Python or Java for example, and start learning by doing.

This probably doesn't help much, from my experience, there is no easy way. Just pick something and start doing, then a month later, you'll be much smarter about it :)
Logged

mostmodest

  • Commander
  • ***
  • Posts: 171
    • View Profile
Re: Where to start with programming a game
« Reply #4 on: April 04, 2013, 05:25:41 AM »

I just need a starting point, like a tutorial or engine or something, that can lead me to know how to code a game.

My main problem with GM was that it seemed too cluttered and I just didn't like the feel of it.
Logged
Yes, you are reading to far into this.

Sproginator

  • Admiral
  • *****
  • Posts: 3592
  • Forum Ancient
    • View Profile
Re: Where to start with programming a game
« Reply #5 on: April 04, 2013, 05:27:16 AM »

I love using Visual Studio 2012 for my coding, well i DID, Till i was sacked and then realized it was £500 :O

Notepad ++ works for me now xD
Logged
A person who's never made a mistake, never tried anything new
- Albert Einstein

As long as we don't quit, we haven't failed
- Jamie Fristrom (Programmer for Spiderman2 & Lead Developer for Energy Hook)

sdmike1

  • Admiral
  • *****
  • Posts: 820
  • Dyslexics of the world, untie!
    • View Profile
Re: Where to start with programming a game
« Reply #6 on: April 04, 2013, 06:46:31 AM »

As to the engine that Alex uses, he uses a custom engine that he built basically from the ground up :)

The springRTS engine works well, it is free and open sourc, but it is a RTS engine so Idk if that maters to you.  It is written in c++ which can be confuseing especially if you have never coded before. Java is easier to learn as it is more straight forward to compile :)

Just my opinion :) more experienced coders feel free to disagree with me :)

Thaago

  • Global Moderator
  • Admiral
  • *****
  • Posts: 7227
  • Harpoon Affectionado
    • View Profile
Re: Where to start with programming a game
« Reply #7 on: April 04, 2013, 09:42:59 AM »

I'm a big Python fan, especially for people new to coding. You will need to learn how to program in python, but there are tons of good tutorials: http://docs.python.org/2/ Most people are still using Python 2 (2.7 and up), but Python 3 is also out (and NOT back compatible :( ). I suggest using Python 2 for now because everything works for it.

I personally like using IDLE as my editor - it has a shell for screwing around and testing stuff, code completion, built in debugger... its also packaged along with the default python install (free). It is MUCH easier than using a basic text editor, but does not have some of the sophisticated features of a Java IDE like Netbeans or Eclipse.

In order to do games in python you need access to the keyboard, mouse, screen drawing... the easiest way to do this is to use a module called pygame: http://www.pygame.org/ Pygame is basically a low level engine - it will do low level things like drawing and setting up event queues for you, and also handles windowing etc. It also gives you full control over the main event loop - but it is pure coding, no drag and drop stuff.

[Edit] Looks like pygame is now included with the default python install, so no worries there :P

Again there are tons of tutorials - you can also download other people's games to see what they have done. Checking out the pygame tutorials and looking up anything you don't understand in the main python docs is a good way to learn the language!

A few downsides to Python (I love it, but just so you are aware):
Code obfuscation is difficult so python is not the best case for a commercial game where piracy is a problem. It can be done, but is difficult.
Python runs a bit slower than other languages - if CPU (not GPU) performance is an issue then you may want to write those sections in other languages.

Biggest upside to Python: It is very fast to prototype and develop in. Kind of hand in hand: you will have a much smaller source code base than other languages.
« Last Edit: April 04, 2013, 12:21:53 PM by Thaago »
Logged