Advertisement

Need Some Advice

Started by May 23, 2010 12:44 AM
9 comments, last by Oberon_Command 14 years, 5 months ago
I used to have this problem. In fact, it was one of the biggest hurdles I faced while learning to program; I knew what I wanted to make, but where the hell did I start?

I can't remember exactly how I "got" it, but at some point I realized that the best way to do it was to start with the most basic functionality that my program needed and work my way up from there. The first time I understood this was during the Four Elements IV contest here at GameDev, way back in... 2006, was it? That long ago? [smile] In any case, I wanted to make an RTS. I had messed around with various tutorials on game development, with a particular focus on things like like 2D sprites and tile maps since I knew that I didn't have enough math to understand the 3D stuff. At some point I sat down and started my project, and wondered where to begin. My progression went something like this (and I have screenshots that demonstrate all of this):

1. Installing SDL and getting a simple demo program to compile. This consisted of basically a black window that didn't do anything.
2. Drawing a single image on the screen (in the very center of the screen, IIRC). The image in question was a single tile, since I planned to implement a tile engine next.
3. Drawing a whole bunch of tiles on the screen in the right position. This was the first piece of code I ever wrote that worked exactly right the first time I wrote it. I was very pleased with my 16-year-old self.
4. Making the tile map scroll around.
5. Loading a tile map from a file. I think I used .BMP files as my maps, since I realized that I could use one color channel to represent the tile indices, another channel to represent game units, and the third to represent "doodads." I could probably have used the alpha channel for something, too, if I had thought of it. Today I would probably use it to store scenario properties and perhaps script bytecode associated with the scenario.
6. Drawing a single unit on the screen.
7. Animating the unit.

And so and, and so forth.

This topic is closed to new replies.

Advertisement