AuthorTopic: making video games, where do you start?, how do you stay focus?  (Read 29047 times)

Offline dragonboy

  • 0001
  • *
  • Posts: 28
  • Karma: +0/-0
    • View Profile
I want to eventually make a video game, or be part of a development team, but where exactly do I begin making the game?  First you can't make the game without the game engine but how would you know how the game engine should work if you don't know what sized sprites your going to use and how many of them without drawing the graphics first?  How do you stay attentive drawing the graphics?  I've been working on an animation of a girl dancing for about a month and I only have 9/12 (I might even need more than 12 for this, but I don't know yet) frames done.  How do you make an game engine anyway? (I'm thinking of making this game for either a Sega Genesis or a Super Nintendo)  How do you come up with a system of designing the game that allows you to do EVERYTHING?!  I have a lot of crazy game ideas that don't involve just having enemy sprites walking on a non-moving background layer.  For example, having a wall in the background crack and then the ceiling collapse on you, you can't achive with just the "sprites on one playfield background" kind of engine.  It wouldn't work because it will require the top of the background to be turned into two backgrounds and the second will be also as much as part of the game as the first background.  So how do you make a engine/system that does everything you want it to do?  What about compressing graphics?: If you do all the decompressing before you start the level you might run into RAM limitations; if you do real-time compression you might have som miserable slowdowns (unfortuanately, a lot of Snes games relied on this method, I heard from someone); and if you don't use compression you might run into ROM problems.  So what will be the solution?  Have a giant mess of different strategies, strategically chosen for all the different characters and items and stuff.  But there is two problems with that:  1) How do you know what strategy to use if you haven't drawn all the sprites and counted how much memory all this takes up?  2) How do you make an game engine that lets you use whatever kind of compression strategy whenever you want it?  Anybody who could solve all my unorginized confusion, thanks in advance!

Offline Beoran

  • 0010
  • *
  • Posts: 112
  • Karma: +1/-0
    • View Profile
First, take a deep breath.

First of all, it takes many years to make a full length video game if you do it alone. Are you willing to invest that effort, knowing that , along the way, you'll probably have to sap your design several times and may have to start from scratch several times?

Can you program? What programming languages do you know? If you don't know how to program, you'll either have to learn how to, or you will have to find a programmer who is willing to work together with you. Both of these are hard. If you want to learn how to program and make games quickly, yet with complete flexibility, I reccommend either Pygame (Python programing language) http://www.pygame.org/ or Rubygame at http://rubygame.sourceforge.net/  (Ruby programing language). If you want to hire a programer, you'll need money. No programmer is willing to work fro free on an idea that is not his own or not close to his own. :)

To learn Ruby, you can start with an online demo of it here:
http://tryruby.hobix.com/ (hmm, seems to be fdown now)

You can get Ruby for windows here:
http://rubyforge.org/frs/download.php/29263/ruby186-26.exe

For Python, I don't know very wel, since I prefer Ruby. :)

Once you learn either Python or Ruby, contact me again, and I'll tell you how to go at it in detail. First you have to learn how to walk before you can run. :)
« Last Edit: July 31, 2008, 07:49:24 pm by Beoran »
Kind Regards, Beoran.

Offline dragonboy

  • 0001
  • *
  • Posts: 28
  • Karma: +0/-0
    • View Profile
I do know assembly of a few older processors like 6502 and 68000 and Z80, but I never had the chance to use any of them.  I've tried making demos for old systems but I always fall asleep programming them.  Take for instance, a background scrolling demo, it seems really simple at first glance, but whenever I dive in I realize that I have to draw something, convert my drawing to numbers, set the GPU to the right mode, program it to load the graphic tiles, then to load the color palette, then to load the tile map, and to top that off I have to look back and forth through hardware documents to find what are the right registers to use for everything.  Programming just doesn't seem rewarding for me.  All this fuss just to display a picture.

Offline chriskot

  • 0010
  • *
  • Posts: 109
  • Karma: +0/-0
    • View Profile
Have you tried GameMaker? It's pretty diverse, yet much simpler than programming something from scratch. Some of the best indie games use it. Also, the demo is free.
« Last Edit: August 01, 2008, 12:30:29 am by chriskot »

Offline Frychiko

  • 0010
  • *
  • Posts: 211
  • Karma: +0/-0
  • Don't waste garbage here.
    • View Profile
I do know assembly of a few older processors like 6502 and 68000 and Z80, but I never had the chance to use any of them.
...
and to top that off I have to look back and forth through hardware documents to find what are the right registers to use for everything.

Why the hell are you coding in assembly... on ancient machines.. when you're just starting out? Go and smack whoever said to do that. Start making games in high level languages on a pc. Start simple.

Forget about other gaming systems, compression of graphics, hardware limitations right now... that's completely irrelevant at this stage.



« Last Edit: August 01, 2008, 07:22:39 am by Frychiko »
Congratulation this story is happy end. Thank you. - Ghost & Goblins

Offline Akira

  • 0010
  • *
  • Posts: 334
  • Karma: +0/-0
  • Heheheh
    • View Profile
Forget about compression of graphics, hardware limitations right now... that's completely irrelevant.
...unless he wants to make a game for the snes or sega like he said in his post...
thanks Dogmeat!

Offline Frychiko

  • 0010
  • *
  • Posts: 211
  • Karma: +0/-0
  • Don't waste garbage here.
    • View Profile
Yes, but first he needs to know how to actually make a game which is platform independent and would be best done in a higher level language on a system without any strict limitations and plenty of resources; good tutorials, documentation and help at hand. (imo)





« Last Edit: August 01, 2008, 07:37:18 am by Frychiko »
Congratulation this story is happy end. Thank you. - Ghost & Goblins

Offline Beoran

  • 0010
  • *
  • Posts: 112
  • Karma: +1/-0
    • View Profile
Exactly, assembly is only for programming for a very old console, you don't need it anymore these days to make a game. Gamemaker is not free, it's nor platform independent, and also, it's programming language is not something you will be able to use later for, say, a job interview. Ruby and Python are amongst the top 10 most widely known languages, and you can use them, together with the right libraries to make games relatively easily, without having to mess with all the low-level details. And Python or Ruby might help you land a job as a programmer later on. So I recommend you use either of those languages.

Oh yeah, the try ruby online link I gave you is working again, see how you like programming in a real high level language.

And you also have the Gosu development game library for ruby, which I hear is also very nice.
http://code.google.com/p/gosu/

In this tutorial, a character is moving over a background, and that in 30 lines of Ruby code:
http://code.google.com/p/gosu/wiki/RubyTutorial

If you'd try to do that in assembler for a console, I bet you'll need 300 lines or more! Why bother with assembler then? Most people don't have a SNES or a Megadrive anymore.  If you use Gosu or Rubygames, you can distribute versions for Windows, Mac OS X and Linux , all from the same source code, without any problems. 
Kind Regards, Beoran.

Offline Akira

  • 0010
  • *
  • Posts: 334
  • Karma: +0/-0
  • Heheheh
    • View Profile
hmmm yeah. i guess rereading through dragonboy's posts it probably would be better for him to go the high level way.
@beoran: people still develop for old platforms because its interesting or they like the way the old platforms feel or they are crazy. just look at grand theftendo.

i guess i'm just too much of a nostalgic old fool for you young'uns with your high level programming languages.
thanks Dogmeat!

Offline Frychiko

  • 0010
  • *
  • Posts: 211
  • Karma: +0/-0
  • Don't waste garbage here.
    • View Profile
Young? I'd like to be that again..
Congratulation this story is happy end. Thank you. - Ghost & Goblins