Okay. For your edification, I am going to post my current “Things To Do On Planitia” list. I’ve been maintaining this list since I started the project. According to SVN, I created this file on Monday, December 11, 2006, so I guess I can say that’s when I started working on Planitia.
Everything starred is done. Everything not starred is not done.
Tasks to be done on Planitia * Create a heightfield. Texture it with our grass texture. * Create a camera object and implement our moving, rotating, zooming camera. Do * nothing else until this works. * We'll start with billboarded sprites as our objects. Rip graphics from * another game. * Make it so units move smoothly across the landscape at any angle. * Create the walker unit. * Create the archer unit. * Create the fighter unit. * Create the barbarian (for now) unit. * Add combat stats to all units. * Fix the weird mipmapping on the units. * Add code to ensure that two units can never stop in the same grid square. * Fix problems with the picking input and box drawing. * Create the arrow unit. * Change the unit selection and orders to match a more traditional UI style. In * other words, make it so that right-click gives orders. Also change it so that * left clicking on a new unit dumps the current unit selection. * When you don't have a selection, left-clicking on the ground does nothing. * Left-clicking on a unit selects it. Drawing a box with the left mouse button * selects all units in that box. * When you have a selection, left-clicking on the ground removes your selection. * Left-clicking on a unit removes your current selection and selects the unit. * Drawing a box with the left mouse button removes your current selection and selects * all units in that box. * When you don't have a selection, right-clicking on the ground does nothing. * Right-clicking on a unit does nothing. Drawing a box with the right mouse * button does nothing. (Boy, that was easy.) * When you have a selection, right-clicking on the ground moves all selected units * to that spot on the ground. * Right-clicking units not on the current team tells all selected units to attack * that unit. * Make sure that every time you delete a unit off the stack, you check the entire * list to see if anyone has a target to that unit and set them all to NULL. * Drawing a box with the right mouse button does nothing. * Jigger the numbers on unit creation so that attacks are staggered. * Add simple "find Quinn's ass and beat it" AI. * Create three teams of units and see what happens when the AI has them fight each other. * Moving the mouse to an edge of the screen should scroll the screen in that direction. * Get the hit point bars off the arrows. * Moving the mousewheel should zoom in/out. * Double-left-clicking a unit should dump any current selection and select all units * of that type. * Unit movement is time-dependent, which is correct, but camera movement is frame * dependent, which is wrong. Fix it. * Have the zoom and the pan move faster the farther out you are. * Fix the box so that it works in any direction. * Add line to the help screen that tells people to exit the game by pressing ESC. * Make it so that you can pan, zoom and rotate all at the same time. * Add braking to all camera movement so that it doesn't feel so "hard". Need pop states NEED STORY STUFF NOW or we run the risk of Planitia having no story elements. Need a dirt-simple text-based scripting system for story scenes. * MOVECAMERATO (location) (time the move should take in MS) * ROTATECAMERATO (angle) (time the rotate should take in MS) WAIT (time to wait in MS) * BARK (location) (text) (time to display in MS) DROPUNIT (type) (unit) (position) MOVEUNIT (unit) (position) (time the move should take in MS) * BOUNCEUNIT (unit) - Causes unit to "bounce" as if it jumped TURNUNIT (unit) - Causes the unit to rotate 180 degrees * Need parts of a talk bubble that can be put together to form any size talk * bubble so that we can print text on it. Based on script input. NEED LEVEL INI FILE FORMAT NOW It should include: Targa file to use as heightfield data Location of trees Location of rocks Initial location of buildings Initial location of units Initial location/rotation of camera Level goal requirements Script to run for intro Script to run for outro Need god powers. Start with lightning/meteor as a test. Need to flesh out design so we can figure out which ones we want. Reference Populous 1/2, Powermonger, Age of Mythology, Black & White. Need ten playable levels, plus intro outro scripts for each level. Need skirmish against computer. Need multiplayer, up to four people (can come after initial release). Need 3D buildings, trees and rocks. Want 3D units (may not be necessary but it would be very nice). Fix terrain picking to use a real ray-plane test (sphere doesn't work that well). Sort units back to front before rendering. Do a cleanup pass; the code is getting kind of murky.
At this point it’s really feeling like every single thing I finish adds two more things to the list. But I’m hoping to have the game feature-complete by the end of March so that I can spend all of April creating content for it.
I was originally going to gloss over everything, but then I thought that I might get some insight into what kinds of things other people deem important enough to write down.
Can you explain the staggered attack part? What does unit creation have to do with staggering attacks?
Well, creating a full-featured RTS is a very complicated task for a single programmer. I hope you will finish Platinia successfully 8)
GB: Oh, that was a temporary thing. Because I was creating combat units at startup in range of each other, the archers would always fire in perfect synchronization. I put a time delay on their initial attack to make their attacks staggered, but I’ve since removed it because now it’s not possible for archers to be attacking right as the game begins.
Irwin1138: Thank you very much. I’m sure that come April I’m going to wish I’d picked an easier project, but I’m hoping to get something out that’s fun, no matter how small it is.