Highschool student starting work on a project and seeking info, please help!

Started by
34 comments, last by Twiggy 19 years, 4 months ago
Hello to you, my new GameDev friends. I'm a senior highschool student, and I have a yearly project to build and hand in on May, and Iv'e decided I'll be creating a 2D Strategy (Something like old and good Warcraft) using basic AI. After talking to knowledgable friends, I've decided that the things I need to learn are: Win32 API DirectDraw - [For average, acceptable graphics] Creating RTS (Tile-Based) engines and games AI for this game Currently, after searching GameDev and the net, I've only found articles concerning DirectDraw and not so helpful tile-based articles (but I think it's just me that's not understanding how to build an engine for an RTS 2D game). I would really appreciate if you would post a link to articles having more information, especially conerncing Win32 API (I was told that it would be better to learn the Win32 API before getting over on DirectDraw). I would also really be thankful if you would post any suggestions on the project. i.e. if I chose a too much complicated and long project for a half-a-year deadline, or if I'm learning stuff I don't need, or if there are better stuff to learn that would be useful in my project, or additional stuff I need in order to build it, etc. These are my grades, folks, any help would be really, really groovy here, thanks! :) P.S. I do not have the time or money to spend on books concerning the above subjects or others, I really have to start working seriously on my game. So online articles would be a lot more helpful than Amazon-Books links and such.
___________________________"Peg, is there a certain reason that cactus is standing in the place where my alarm clock should be?"
Advertisement
Hi Twiggy,

Search for Direct3D rather then DirectDraw. I personally enjoy using OpenGL more then Direct3D. I'm not trying to start a API-War here or anything, I just find it easier. All you need to do to get some pretty going is:

  1. Download Dev-CPP (with Mingw/GCC)
  2. Install the SDL/OpenGL DevPack by going to Tools->Check for Updates/Packages. Choose the devpaks.org mirror. Click "Check For Updates", find the SDL package and install it.
  3. Start a new SDL&GL project (File->New Project. Multimedia, SDL&GL)
  4. Save Project As...
  5. Copy SDL.DLL from the DLL's folder in the DevCPP directory to your project location.
  6. Press F9 to compile and run.

Rob Loach [Website] [Projects] [Contact]
IMHO learning the (legacy) Win32 API is a waste.
All you need is to get familiar with some higher level library like
SDL.
You can then jump directly into the AI, UI and other game related areas.

On the above site are tons of links to tutorials and documentation, so I think it's a very good start. Using SDL also offers some cross-platform abilities, which is good because your game will be available on many platforms without much porting-related hassle.

Good luck with your game,
Pat.
I think one thing the above two posters are trying to tell you is...don't reinvent the wheel. No reason to use DirectDraw or Win32 API when SDL is sofa king great.

I'll look up some articles about RTS AI (I had a very nice one bookmarked, but it seems to have disappeared) and edit this post.

What do you already know, by the way? If you have to learn all of these things, you're going to be hard-pressed to do it AND make something decent out of it in 6 months.

I won't say that you can't do it, but you'll probably want to get started before you finish reading this post.

Have you started yet? You should already have a window set up by now! SLOW POKE!

...[lol]
Things change.
OK Guys, first of all, we are given these compilers to work freely on: Borland ol' compiler (the blue screen thingy) and Visual Studio 6 C++ and Basic, so I presume using the VC 6 is better instead of DEV C++ right? If not, please tell me.

Btw, they were legally purchased. :) (I'm a FAQ reader, sue me)

My current education is Pascal, C, and above basic programming education like using recursions and binary trees.

In addition to these stuff I'm learning C++ just becase i KNOW it will greatly help me on the project. I'll just be finishing volume 1 of Eckel's book if anyone knows of. best C++ tutorial ever known of by me.

So what you say is that I abandon the Win32 API and DirectDraw and just get to know the SDL?

And to the last dude - we've started our work on september, and what i've already done was setting the basic map tiles on ah single header (on memory - you know.. - creating a huge list of tile-types [instead of a huge array map tile, takes less memory. I'm also efficient :)]) We have 10 academic hours (45 minutes) to work on it weekly on school, and this is not including the time i can spend on it freely at home, using these LEGAL compilers they're giving us. :)

This is no joke btw, they ARE legal.

The thing is is that i thought i would make my game on dos and then decided that it is not such a good idea, because i need high resolution and bitmaps. So the mouse header and a bit of graphics (lousy window borders, i'm no SLOW POKE!) i made won't be much of a use in the future i presume. :)

The only thing that will be usuable is the map header, which is not that finished. That's why i need some good 2d rts tutorials btw. :)

Oh btw, please answer all the issues here when you're answering. people tend only to answer the last. this is just a reminder. thank you!
___________________________"Peg, is there a certain reason that cactus is standing in the place where my alarm clock should be?"
Quote:
(I'm a FAQ reader, sue me)


We hate it when people dont read the FAQs and other provided information, so we're hardly likely to sue you for behaving in the desired fashion. [wink]

You'll need to put in a large amount of time and effort to succesfully complete such a project, but yes, it definately can be done. If you don't think you'll be able to complete it, a lesser goal you could work towards would be a tetris clone, but I assume from your posts that you're willing to put in what it takes for the larger, more complex project.

Be sure you have a good grip on the basics of your language before you try more advanced topics - you arent going to get anywhere otherwise. For the compiler/IDE, it's really a preference thing, but VS6 will be just fine as long as you're happy to use it.

Make sure to build your game incrementally, so that each part is functional before you add the next - this way you'll have something functional to submit if you happen to fall slightly short. Your first task (once you've passed the learning stage for all relevant techniques), should probably be to get a scrolling tilemap on screen. Next, add some units to the map, and make it so you can give them orders. Then combat for the units. Follow this with structures that can produce additional units, and perhaps some way of producing new structures. Don't get bogged down in having to many unit or building types, you need to have something working - if you have time to spare, you can always add more content and/or extra features after you're happy with the basic project. Due to time constraints, and with the assumption you wouldnt know how to implement it, it's not at all advisable to attempt to add multiplay.

Don't worry overly much about effeciency at the expense of getting things working either, there's a saying that goes "premature optimisation is the root of all evil", or something along those lines, and to an extent it's true - especially with a deadline. Make it work, then if it's too slow, find a way to speed it up - otherwise, you can get stuck on increasing the speed of a function that may not actually be time-critical anyway.

Yes, SDL would probably be a good option for you.

Anyways, just some general advice, hope it's of some help, I don't have access to my saved links atm, but I'll post again with some links to more specific information if I remember any.

Good luck, and welcome to GDnet! [smile]

- Jason Astle-Adams

Wow, thank you all very much.
You've done a great help, and I'll really love you if you post those articles \ tutorials you're talking about.

oh and by the way, i said i can use VC 6, i just don't know if i should. I mean, what would be more comfortable \ less complicated \ more understandable - Dev C++ or VC6 ?
___________________________"Peg, is there a certain reason that cactus is standing in the place where my alarm clock should be?"
Bare minimum DirectDraw and Win32 Game Loop if you want to use these. Straight C style. See demos middle of page, near the bottom.

VazGames

A bit more set up than SDL which has built in 2D graphics functions. So SDL probably easier, haven't used it yet myself.

Phil P
Stick with VC6 if you've already started. Its a great IDE and the debugging features are very handy! If you hate VC6 then it'd be worth trying something else but I doubt you'll find anything significantly better so unless you have major issues i'd suggest just sticking with VC.
I'd be tempted to do this in Win32 GDI only. Pros:
1) It's one less thing to learn
2) Win32 provides lots of GUI stuff so you don't have to worry about implementing them yourself
3) It's a very desirable skill - ability to write good quality editors for a game can make a huge impact on the development of the game
Cons:
1) It's not going to be as fast a pure DirectDraw version

A general rule in development is:
"make it work, then make it work fast"
So, if you are careful about your design you can, if time permits, replace the GDI rendering system with a DirectDraw system (or SDL/OpenGL/whatever).

Also, search around the internet for free tile sets - ask in the Isometric forum for any links.

Skizz

This topic is closed to new replies.

Advertisement