Sign in to follow this  
MMarcel

Seeking for a hint how to take the next step...

Recommended Posts

Hi there everybody. I've been working for a while with C/C++ and DirectX now. I think that I am familiar to all the topics a noob-hobby-game-developer should know about and a bit more as I was working as a programmer for mods several times. Well, however I've programmed some kind of "2d-engine" so far, I should better call it a fast bitmaploader with the ability to draw some lines and point in addition. The thing is, I've been working all the time with things like materials etc. for now and I think I've done a really good job with the things I've programmed, but I am stuck now, because I don't actually know how to make a game out of this, I am not sure what kind of texture manager I should create etc. or if this actually is necessary, so what I'm searching for is not a source of a game but just a hint which will give me an idea to think of by myself how I could get on the next level and get finally a game. So how all of the game management should look like. I hope I have described my problem properly ^^, however thanks in advance for any sort of reply, Marcel

Share this post


Link to post
Share on other sites
Hi,

I know exactly what you mean. Do something really, really small. Clone another simple game (like Space Invaders, Tetris, or anything). Also, making a game entirely not graphics related might be a good thing, like a text adventure. Get a feeling what you need to give the name "game" to your program. :)

Hope that helps!

Cheers,
Drag0n

Share this post


Link to post
Share on other sites
Hmm ... well I wasn't assuming to programm Doom 6 now anyway, but anyhow thanks, I am searching more for some kind of brief description how an simple 2d game engine should be concepted, but thx anyhow, I'll just keep thinking ;)

... what shouldn't mean that I don't welcome more replys ^^

marcel

Share this post


Link to post
Share on other sites
Oh! ;)

Well, there are many good articles in the reference section of this very web site. A few tutorial series on game engine programming might get you started.

Cheers,
Drag0n

Share this post


Link to post
Share on other sites
Ok
From what I can gather from your post, you need to consider what the game will be before you can think about implementing gritty technologies in the engine.
Once you realise exactly what you want to make, your vision if you will, then implementation falls into place.
For example- if you're writing an engine specific scripting language you can't really begin without working out exactly the different elements and over all power the script will have. You can't work this out without really knowing what the engines overall aim is going to be.

Keep in mind, at this hobby level engines don't have to have commecial appeal so they can be as specific as your projects needs them to be. That includes how everything works together (eg. your Texture Manager)

So basically, you have to come up with the general concept of the game (looks, dynamics etc.) and then the structure of the engine, the way it all works together and the management of resources will fall into place.

I hope thats the kinda thing your were asking

Share this post


Link to post
Share on other sites
Perhaps you could make some sort of graphic archive format e.g. size of textue followed by the texture data, repeated for all your textures. Maybe make a little program to create your archives from bitmaps or something.
Then maybe make a level data file in a similar way (perhaps textfiles listing the platform texture IDs and positioning data. If it's for a platformer. character start position etc)
Then code the function that reads these files, creates data structures from them.
...just ideas.

Share this post


Link to post
Share on other sites
when making a game engine it is very important to decide exactly what kind of game this is going to be i can with a fair amount of confidence say that you are going to need

a sprite handler class
a sprite class
a collision detection class
an i/o class/system if you dont have one from an external lib

thats all i can really think of that you need for (almost)ALL 2d games

based on your game you may need an enemy class with an AI system (however you decide to do that) most of the time you going to need to make an inherited player class of the sprite class or maybe you want a heighrarky with a

Sprite
|
v
Static or Movable
|
v
Player or AI


somthing like that but im just listing off some ideas.

hopefully i helped

Share this post


Link to post
Share on other sites
Thanks a lot for the posts.

Well actually I'm planing to create some kind of jump'n'run game ala mario or maybe metal slug, but actually I do doubt a bit that I'll manage to do this right away so I'd be happy for the beginning to have some kind of player who's able to move around and jump with some obstacles in his way, when this is done I think I shouldn't have problems to take this to a higher level.

But as I said I lack in knowledge how to concept the classes for a texture manager ... the objects in game etc. ... I do have an basic idea ... something linked list like what calls all the render calls etc.

It's just that I'm a bit tired of starting from the beginning again and again as I did now for already 4 times whilst programming the basic framework I wan't to go from when creating my game ...

Actually I think that I block my self from taking the next step because I lack in confidence when doing something so that's why I'd like a rough concept of an really simple 2d engine ...


maybe I can tell you how I've concepted the things I've done till now:

I've got a C_Application class which hold all my DX stuff like the d3ddevice etc. and has the main functions for initing dx and then the main game loop which renders the dx scene.

I controll the whole process via gamestates ... so I check in every game loop what game state I have to perform the stuff what needs to be done so that I can restart the engine, have menues blah etc.

for displaying graphics I've programmed some kind of panel class which renders always texture quads(4vertices with texture on it) and it supports also materials and transparency etc. I've got also a timer class to enable a constant movement at any framerate and so on ... so as you see I do have actually everything I need for a simple game but I need to put it all together with some kind of functions/classes to take care of all the textures I want to supply in the game, to take care of the enemys and the player and the environment to be drawn etc. ...

So thats were I'm actually stuck...


I know that you all have to face every single day such annoying beginner questions and topics like this one, but I really appreciate that some of you do reply and maybe will reply to this one ....


thanks again in advance

marcel


edit:
I have also programmed already a collision detection ... with first bounding boxes and then perfect pixel ... it's not in but I do have still my pseudo source which a friend of mine has tested in an other engine ...

an I/O system shouldn't be a problem to programm I think ...

Share this post


Link to post
Share on other sites
Don't jump straight from your custom graphics library to a complete game. The two really aren't that close to each other... Anyways, you want to do a jump and run? Start simple. Have a character run back and forth on a surface. Don't do any screen scrolling. Once you can do that, program him jumping. Then try to get him to jump onto other platforms at different heights. Implement a larger map that scrolls. Make some objects/enemies he can interact with.

In other words, try building up slowly. Don't try to get the whole game working at once. Think of a goal within your game that you can work out how to program and do it. That should give you more ideas for how other stuff will work and so on. One downside to this method, is you can end up going back and overhauling stuff because you need to do it differently down the road, but I feel the whole thing is a wonderful learning experience, and well worth the effort.


****EDIT******
One tip, although I'm sure you already know it, have the game physics and graphics seperate from each other.

Share this post


Link to post
Share on other sites
Ok, thx a lot for the advises, I think you're right ... I'll just continue doing the things step by step in order to be able to create a game after I know enough and have enough experience.

cheers,
marcel

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this