Archive for the ‘Programming’ Tag
Is it ready for full time production? … eh, no…
Is it a fully function engine? … eh, no…
Will it aid in your thurst for knowledge?.. YEAH!
As you read yesterday, I’ve decided to put what I have of the D’Jinn Engine up on google code, for anyone to poke, pry, and have fun with. I will continue my trek to modify and improve the engine pretty much every day, but it is also free for anyone who also wishes to take what I have to use in their own project.
What is the catch? Simple… If you make any improvements, let us know about it! The iPhone and iPod Touch community is hungry for knowledge on game development, and could really use a few great resources. Will the D’Jinn Engine ever be a general enough resource for anyone to pick up and use? Probably not… but at least its there for the few of us who enjoy C++ enough to torture ourselves into making a game engine on the iPhone :)
I have spent some time working on the description and trying to comment the code as much as I could. As we speak, I am working on a texture controller class that will eliminate the need for the Texture2D from apple (and in the process, hopefully eliminate a nasty bug I introduced with the particle system…)
Remember, I will be working on this thing pretty much every day, if not every other day. Don’t expect to see a commit every day, but know that there are people making improvements to it. Dive in, have fun, learn a thing or two, teach me a thing or three… and feel free to join the discussion group if you have something interesting to share!
D’Jinn Engine: iPhone C++ 2D engine
Happy Coding everyone!
Taking a break from the terrain and 3D programming, I decided to take another look at my star field and design a particle effects system that can be used for 2D games. The dynamic sky background used in the space ship game was a good start, so I went to work and created a particle class, ParticleEffects class, and an effects manager class with the sole intention of having things go… BOOM!
With the current system, I’ve only designed a basic “firework” effect, but using the same logic I am attempting to create a system that can do a wide range of 2d effects, from basic cloud cover, smoke, fire, explosions, stars in the night sky, even rain.
I’ll be working on it a lot in the next little bit until trying to get the class usable in a variety of 2D programs, but for now… enjoy the boom!
so how do you get this:
to turn into this:
Doing some research on how to actually do 3D programming is really interesting, but more complex than I had realized. First step for me was to create a triangle.. just a simple triangle. 3 points in space with a line connecting those points. Add some color and you have the first picture!
Along the way, learning about 3D programming (Matrices, Vertex buffers, Vectors, and all other sorts of fun stuff) I ran into a few tutorials that explained just how to turn your triangle, into many… many MANY triangles to create a dynamic 3D landscape. The tutorial can be found at http://www.riemers.net, and is a great way to learn the process of 3D programming. A little hard to follow at first, but after re-reading it for the 2nd or so time and researching, its finally sinking in. So whats the next step? I’ve been very curious about Octree collision detection, and I have a feeling I’ll be needing it for any terrain engine that I’ll be making. We’ll see what kind of project can come from this… but for now I’ll just keep plugging away :)
So with my first learning process into the world of programming, I have started to pick up C# and the XNA framework. For my first project? Building a tilemap engine!
Although right now I don’t have (nor do I expect) a full product to be finished anytime soon, learning the basics of engine programming is very entertaining. I may just pick up a small project and put together a small game that can be played by a lot of people, but for now I am still learning the basics.
First XNA project was codename ShackRPG, and it is basically a 2d RPG tile engine, dynamic map editor, and battle system. For a first project, although the logic behind it all is pretty simple (being that its 2D, and Super Nintendo quality tech wise) this thing was actually pretty complex for someone new to the ideas.
This shows the very basic map editor when selecting a texture to paint on the ground.
Once the texture is selected, exit the texture selection screen and you can paint the map in real time directly from within the game.
Once your textures and objects are painted on the scene, you could add collision detection directly from within the map editor, ensuring that your character would be blocked from walking on tiles that they were not supposed to such as a mountain or tables.
Once the map is textured, add pre-loaded enemies into the map
Then, exit the map editor and view the game demo that has been created. Walk around the map, battle the enemies you’ve placed down, explore the different areas.
So that was my first project with learning how to program using Microsofts C Sharp programming language and the XNA framework. I’ve started moving towards 3D, but still in the back of my mind am wanting to finish a 2D project. We’ll see what happens in the next little bit with classes and work schedules.