Jump to content
  • Advertisement


This topic is now archived and is closed to further replies.


2d Game Render/Function System

This topic is 5282 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am posting what I have so far as a template I am going to use for my 2d games I am making, I am attempting to make it completely reusable and all in directx. I guess it could be called a mini engine of some type, but I hate calling it that. Below is what I have implemented so far. Please tell me what I am missing or should add to it. Initialization of Direct x Textures - Loads into linked list Sends to graphics function to be drawn to back buffer Uses the LoadTextureFromFileEx function to load them Graphics - Draws textures in texture quads to buffer for render Input - Uses direct input to acquire input from the keyboard Sound - Uses DirectMusic to play background noise - Still have to work at playing a sound overtop of background ---------------------------------------------------------------- This is what I have so far, I hope to put this as a .dll once it is done and get down to actually programming games. My 2d games I hope to make is a Tetris clone, Breakout, and a Pac-man clone. These will be my first full games I have programmed, I have just been working on the above for the last 2 weeks to get this done first. I have made mini stuff before but never a complete game. So if you would add anything to this to make this usable for all three of these games let me know. I was thinking of adding colision detection to the engine but not really sure how to do that yet. The only collision detection I have done so far is cheap tetris style by creating a playable area and marking where the block is and not letting it leave the basic array. Any help would be very much appreciated, I will post the source when I think I have something worthy of it and get your advice again before I start the actuall game themselves. Thanks Again in advance, Plex

Share this post

Link to post
Share on other sites
Two general capabilities that are usually in engines:

- Scripting/Configuration
- Logging capabilities

I don''t know anything about your situation or your capabilities, but my suggestion is: Finish a game. Stop working on an engine that can be totally reusable in the future. Why? Because without ever having made a single, complete game you will not understand all the complexities involved in creating a production-level piece of software. You have to at least slog through an entire development cycle before you can begin to envision what will be very useful in an engine.

Now don''t get me wrong. It sounds like you''ve done quite a lot on your engine and you can use that to complete a game. But until you actually finish a complete game you will not have the context for which to make your engine highly useful.

I think I suffer from this symptom too and I call it the "Anal Engineer Syndrome". When we''re writing code we are always thinking reuse, reuse, reuse and good design but we rarely end up completing concrete projects because we enjoy engineering the engine too much.

Of course this is all my own opinion so take it as you will.


[ CodeDread ]

Share this post

Link to post
Share on other sites
One of the best (and most accesible) ways to create a quality engine is to attempt to create a quality engine. Sure, maybe you get to a certain spot and you realize, "Doh! I really should have done it like this, but it''s too late now", but you will plan better for it next time.

You can read all the articles you want, and make all the small non-engine based games you want, but until you actually try to make a decent engine, you won''t know exactly what you need, and what you don''t need. And you''ll catch onto that quite quickly

Also, engine programming isn''t an exactly science. Everybody does it different. As long as it accomplishes what it set out to do, then it''s at least a half-decent design.

This is why I think XNA is a little bittersweet. Yea, it''s going to be awesome, and it''s going to interface both the PC and xbox, but it could really take the fun and creativity out of engine programming.

Why? Because it provides a consistent interface that you have to use. Sure, this is awesome, and will be great for productivity. However, if there is this concrete structure, how are we supposed to develop our own engines?

Sorry, I kinda got off on a tangent there

Dustin Franklin
Mircrosoft DirectX MVP

Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!