Archive for the ‘RPG Engine’ Tag
With simple things that I am used to, such as operator overloading, absent from Objective-C, i was forced to write all of my necessary framework structures in C. Not that its a bad thing, just took me a while to get everything working.
Anyway, status right now is going well.. I still don’t know what I’m doing with OpenGL ES, but at least I have a few of the fundimentals working:
- Screen management and GameScreen systems written in Obj-C
– Basic ‘Framework’ structures that I’m used to dealing with (IE: Vector2, Rectangle, RandomNumber) written in C
– Basic project organization complete, i can now write my games in either ObjC or C / C++
I guess its time to learn how to do things in OpenGL ES. Figure if I’m going to be making any sort of game, I’ll need to learn how to do textured quads and basic manipulation of a camera object.
These last few weeks, I’ve taken the opportunity to re-write my RPG Engine, and base it closer to the RPG Template engine released by Microsoft for the XNA platform. I did this for a few reasons, one of the primary reasons being I have not seen any RPGs to come out of that RPG Starter kit hosted on the XNA space. With a basic demo, and a little creativity, I wanted to show people what can be done with the tools given by Microsoft.
Current Map, Developed by EvilNando’s editor; http://xnafantasy.wordpress.com/
Fast forward a few weeks and I’ve pretty much got the tile engine done, and put together a few quick maps with a great map editor made by my buddy, and fellow XNA RPG Creator, EvilNando (Website located at http://xnafantasy.wordpress.com/ ) Changes to the Microsoft engine are plenty, but some of the notable ones include:
Modified content importers – I have not used the Microsoft importers, choosing to instead use just .xml files. Because of this, all methods of importing content from the content pipeline have been done using the System.XML namespace
Audio Engine – I really liked what Microsoft did with their audio engine, so I just tweaked it to include a “Playlist” system. Basically this is just a stack, and new music can be pushed onto or popped off of the stack at any given time. If there is no music in the stack (playlist) the general background music will play.
Collision System – I really, REALLY didn’t like the way Microsoft handled collision detection with tiles, mostly because it wasn’t compatible with my system at all ;) So instead I stripped out what they wrote, and modified my old version to handle collision in the new tile engine.
Screen Management – I used a modified version of my old screen management, and discarded Microsofts completly. It works for what I want it to do, and I made it a little more modified to handle Update Blocking and Draw Blocking on gamescreens. For example, You’ll notice in the video, the “Gameplay Screen” is the last one on the stack, but the first screen is the “Main Menu.” Obviously you wouldn’t want the Main Menu screen updating or drawing if it is being covered. Because of this, the main game screen blocks updates and draw calls to all lower screens.
Animation – Since my old animation method worked quite well, I just modified that to work with the new system. Nothing really new.
Video of the new engine in action:
There will be more updates soon, especially when I finish the next few stages of the engine (which includes NPCs, Quests, and Combat, which I will be taking an entirely new direction.. you’ll love it)
Questions, Comments, Opinions, feel free to drop me an email at CraigGiles9@yahoo.com.