I have to make a game as the final project for my APCS class. I have chosen to make a game similar to Blizzard’s creations like Warcraft, Starcraft or Diablo. I have a pretty good understanding of java classes and everything, running threads and drawing basic squares and shapes to the screen to the screen. The only Full-GUI program I have written is a A* Pathfinder that saves and loads maps. I want to try to develop something off of what i have but I don’t know where to start ??? . The project is due in may 2010 so I’m trying to get a head start on it. Any tips on where I can get help on making this project?
if you keep the mechanics VERY simple then its probably doable - however RTS’s are not the simplest of games to do!
It’s not crazy, but don’t expect to be too polished at the end, half year project for a beginner will make many many mistakes along the way.
Main thing is to break the process up into logical chunks, plan what you need, put the to-do list on paper.
Then start working through the pieces, and if all goes well you should have a game ready at the end…
Be careful not to have feature bloat at this stage, as it will be depressing when nearing halfway you realize you’ve just scraped the
start of the pile. Try to minimize the design to the barest minimum necessary for a working game, if you get that done in
time then you are free to add stuff and polish the remaining time. Good Luck!
Like Matzon said, keeping it simple is the magic trick
Perfectly possible to do, and if you keep it small (like Dune 2) then not too difficult either. However I’d advise keeping the amount of content needed as small as possible, and keep it 2d rather then 3d. I’d also keep the number of features small too as it’s easier to add more later then to remove them.
A common misconception is that because a game is old, it will be easy to copy.
Sure, you don’t have to worry about optimising (too much) with todays hardware, but Dune 2 took a bunch of highly skilled developers a few years! Don’t underestimate these ‘simple games’.
Yeah, it’s only taken us all year to get a fifth of the way through Revenge of the Titans
And the pathfinding is still not fast enough!
Cas 
[quote]Sure, you don’t have to worry about optimising (too much) with todays hardware, but Dune 2 took a bunch of highly skilled developers a few years!
[/quote]
Correct but they wouldn’t have had access to the lovely libraries and nice tools we have now :
So half the resources needed now I believe…
Unfortunately the relationship between system capability and tool simplification is very similar to the one between “crap all over the floor” and “size of bedroom”, that is, the bigger your bedroom is, it seems there’s always more crap on the floor to fill the extra space. So the tools keep simplifying things, only for the required capabilities to expand to make it just as hard as it ever was to make games.
And don’t for a minute think that you don’t need to optimise!
Cas 
Ofcourse you need to optimise… just not as much as in the old days.
Anyway, back on topic:
I’d advise the original poster to make a tic-tac-toe game (if you feel this is beneath you, there is no hope, and you might as well stop right now), then build a pacman game, then pacman with more than 1 controllable unit, then mouse-controlled pacman units. Then you have the basics of an RTS, without writing too much new code.
I don’t think it’s easy to copy because it’s old, I think it’s easy to copy because the whole game (especially the AI) is very small and simplistic.
But they effectively invented the modern RTS genre with that game. Prototyping new ideas takes far longer then reimplementing existing ideas. Plus unlike back then there are lots of online guides and resources for teaching you how to implement these concepts, as well as all of the modern day tools and libraries to help. Yes they can be a distraction and slow you down, but if they are good then they will cut down time and allow you to do more in the long term (note that this if they are good).
I wish I was building a game for my final year project!
I wouldn’t call the AI and pathfinding in games like the old C&C games simplistic, it may have been dumb but still a technical achievement that is difficult to copy/clone for a lone programmer especially if your new to games programming.
I’d say go for it. In my opinion, the most difficult part of crafting an RTS is getting everything balanced and the pathfinding. If you just make your world grid-based, pathfinding becomes very easy, and if it’s for a school project then balance doesn’t matter at all at this point.
Just don’t expect yourself to make Starcraft.
Riven suggestion is a pretty good one. Start real simple. If you must do a RTS then do a “tank only” RTS with just one unit type. Get that going, get that polished. Then look at adding more units. However i would look at game play options that could make even that fun. If you get that working really well, think about network play. (my 2c)
Getting something playable at the start is a really good idea. I tried it with my RTS, but its still not playable and I have been working on it, off and on since 2000. If i was doing things again I would do a one unit type RTS and go from there. Which what i am now doing btw.
Also Dune 2 was great, but far from simple. You had 3 “teams” (freemen, Harkoen, and Artreides), you could capture sand worms and get them to do your bidding. You had “automatic” carrayalls and ornithopters. Many Many unit types that are all different (sonic tanks for the win!). You could run over human units with harvesters, and they would cry out in pain, and a 10pixel corpse is left in the sand … etc. It was not a simplistic game even by some modern RTS standards.
In my experience, the pathfinding is relatively easy to accomplish.
What is the most difficult part is how to make the game-object move naturally along this path, taking into account the type of the game-object, all the dynamics of the world, and a whole variety of other things.
[quote=“delt0r,post:13,topic:34561”]
I disagree. Indevidually all of those points are not too difficult (or in some cases trivial) to implement. It’s lots of simple elements, not one big complex game.
Riiiight. Surely you can implement this rather fast, but it would run at miserable framerates. Suddenly you find yourself switching algorithms and finally changing just about the whole structure of your game, to make it run decently on your 3.0GHz CPU.
As I am doing (and have been doing for the last year or so) precisely this, I would like to confirm that Riven is exactly right.
Cas 
I’m not trying to say it’s easy, or that it’s not a lot of work. I’m saying that when you break it down it becomes lots of easy(er) tasks.
It’s just not true. You can’t write a bunch of ‘easy’ parts and expect them to work at decent performance. Complexity increases exponentially, even with simple tasks.
Breaking a game down into tasks doesn’t mean you need to slack on code quality. It just means your breaking it down from one large task, into lots of smaller tasks. A small task is typically easier then a big task because there is less to do. Perhaps this way of thinking doesn’t work well for everyone, but for me (and many people I know) it does.
Plus performance isn’t everything. Your top priority should be getting it done. If you don’t finish then no one will care if it’s fast or slow.