I have made a 2D OpenGL engine. It does 2D stuff. Renders 2D objects of any size (albeit square), collision detection, rendering text, texture using, UI capabilities (click events, key events, a UI bar with buttons)
I've made this, and it looks like I've done nothing. It's 2000~ lines of C++ code, and it feels like nothing.
What could I do to snazz it up? Any suggestions?
These objects are fully movable, rotatable, scalable. I have a manager managing all the updating, rendering, and input. I wrote a math library too of vectors and matrix math.
The design of the code is pure OO, making it easy to implement new objects, UI buttons, and etc.
Like I said, I don't want to give up on it and move to XNA or something else, because I've worked on this since July... I just look at it and my mind goes blank
P.S. I'm a programmer, not a Graphic Artist, so my textures are very laughable, but I'm trying!
I have no idea where I should go next.
Do you have any particular goal with this project? This is probably the only thing you need to answer, and only you can answer it.
L. Spiro
L. Spiro
Like I said, I don't want to give up on it and move to XNA or something else, because I've worked on this since July... I just look at it and my mind goes blank
First of all the thing you are saying here is THE thing to avoid in programming. No matter how long time you spent on implementing something its always a good idea to leave it in dust if you have a better implementation at hand. So i would say that you need to leave this OGL engine where it is and start some XNA/DirectX stuff and make some actual game. Why XNA not your engine? Because you will be needing a lot of things to implement in your engine that XNA already has and will be saving TONS of time if you leave your engine status as educational only and use XNA for actual game. Just sayin'.
P.S XNA could be any other complete 2D/3D library, through i would suggest it to be DirectX based as it will have more value in the long run.
First of all the thing you are saying here is THE thing to avoid in programming. No matter how long time you spent on implementing something its always a good idea to leave it in dust if you have a better implementation at hand. So i would say that you need to leave this OGL engine where it is and start some XNA/DirectX stuff and make some actual game. Why XNA not your engine? Because you will be needing a lot of things to implement in your engine that XNA already has and will be saving TONS of time if you leave your engine status as educational only and use XNA for actual game. Just sayin'.
P.S XNA could be any other complete 2D/3D library, through i would suggest it to be DirectX based as it will have more value in the long run.
It seems he could've went this route if he wanted to avoid making his engine. As others have said you need to decide what you want to do with your engine.
Learning to implement the features that "other maintained engines" (UDK, Unity, etc) use grants you a level of understanding that others who just read the general idea of how such things work will never fully grasp, at least in my opinion. Programming is that way. Hands on "actually doing it"; there is no other alternative.
Now if you are trying to make a game then ^-- look into a pre-existing engine. Is an awesome engine on the front page of gamedev.net (Unreal Dev. Kit) and it's free for the first 50,000 you make! Definitely a deal that one shouldn't pass up on if you are going the pre-engine path.
download modelled obj files from internet or download 3ds and convert it to obj (using deep exploration or 3ds max itself). ofcourse if you'r plannig to use obj s as your primary model format.
here is my advice. learn how to import obj files into engine, how to read vertex coordinates and keep them into one big data container (structure,array, as you like. i use structures.). then use these coordinates to draw vertices inside your engine and this way model will be imported. its not that easy so.
then learn how to open images and texture them onto your objects(3d models). , learn about normals, normalisation, smooth shading, lighting, (well i guess you know most of them already im stuck on smooth shading right now.) grab enough knowledge and then go grab some 3d scene room or terrain they are free . import them as your level. learn about collisions and program gravity so your cars tanks objects interract with walls, ground and stay on them, let them jump, run. running animations are also for free. but animation in 3d engine is another biiig thing so you have to study a lot before you reach animation stuff.
i use opengl superbible 4th edition. its only huge disadvantige is that they dont explain anything about importing 3d models into engine. i dont know why they just jumped over it. and they dont explain how to open images into engine. they'v written their own classes and, in short its a big minus for that book. everything other is perfectly explained there.
here is my advice. learn how to import obj files into engine, how to read vertex coordinates and keep them into one big data container (structure,array, as you like. i use structures.). then use these coordinates to draw vertices inside your engine and this way model will be imported. its not that easy so.
then learn how to open images and texture them onto your objects(3d models). , learn about normals, normalisation, smooth shading, lighting, (well i guess you know most of them already im stuck on smooth shading right now.) grab enough knowledge and then go grab some 3d scene room or terrain they are free . import them as your level. learn about collisions and program gravity so your cars tanks objects interract with walls, ground and stay on them, let them jump, run. running animations are also for free. but animation in 3d engine is another biiig thing so you have to study a lot before you reach animation stuff.
i use opengl superbible 4th edition. its only huge disadvantige is that they dont explain anything about importing 3d models into engine. i dont know why they just jumped over it. and they dont explain how to open images into engine. they'v written their own classes and, in short its a big minus for that book. everything other is perfectly explained there.
You've implemented an engine, but didn't have a game in mind... soo some approaches:
can your engine be adapted to say make a
Shooting gallery? add picking!
tetris clone?
scrolling shooter? add various layres of background scrolling in parallax (bullet hell here we go!)
connect 4 puzzle game?
2d platformer?
can it do particles? these are 2d too but have controllers with parameters for the particle systems
make a 2d fighter like street fighter turbo ultimate Z X45
use 3d models instead of quads - then later move to 3d world too
can your engine be adapted to say make a
Shooting gallery? add picking!
tetris clone?
scrolling shooter? add various layres of background scrolling in parallax (bullet hell here we go!)
connect 4 puzzle game?
2d platformer?
can it do particles? these are 2d too but have controllers with parameters for the particle systems
make a 2d fighter like street fighter turbo ultimate Z X45
use 3d models instead of quads - then later move to 3d world too
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement