Archive for the ‘Video Games’ Category

D’Jinn Engine: Open Sourced…

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
http://code.google.com/p/djinnengine/

Happy Coding everyone!

iPhone Gaming Framework: Screen Manager Update

I don’t have time to write up a complete tutorial, but I will soon.. but I wanted to show just how the screen manager works. First, the video so you have an idea;

Click here for iPhone Screen Management Demo
Since I am on OSX, I am working on a way to record videos and upload them to youtube like I did with windows. When I do, I’ll embed them into the page again. For now, this solution works.

As you can see, the transitions and everything works just like an XNA project would. As said before, I converted Jeff’s GLViewController to be my screen manager. To use it, what you would do is something like the following;

TitleScreen *newScreen = [[TitleScreen alloc] init];
[controller addScreen:newScreen];
[newScreen release];

the addScreen method will retain the screen, load any content the screen will need in the game, and then add it to the screens array. Since the controller is handling the screen, and has retained the screen, we then need to release it. It is now in the controllers hands!

The controller knows if a screen is a popup screen (ala dialog box) or a full game screen (ala battle screen / inventory screen / main game screen, etc) and will transition based on what kind of screen it is. Popups get no transition, full screens will get the fade effect seen in the video. Same for transitioning off. To exit a screen, you would do the following;

if (condition == true)
{
    //in the game screens "update" method. Self refers to the game screen
    [self exitScreen];
}

the game screen will handle any transitions if it needs to.. popup’s will just pop off the stack.

One other thing that I found really interesting, was input handling. since the iPhone uses an event like system, the moment you touch the screen the iPhone sends a message saying “HEY! I’ve been touched!” What I’ve done was create an InputManager class that takes that input, and stores it in either the previousInputState, currentInputState, or queryInputState. Obviously the previous and current input states are self explanitory, the queryInputState is the state that has happened but has not been committed quite yet (meaning, the screen manager has not updated the input state quite yet) The screen manager would then update the input state, and filter it to the top-most screen.

What I would like to do, is create a project template for this framework for any 2d developer wishing to get started in iPhone Games Development. Obviously this template will be an ongoing project, and as improvements are made the template will be updated. My problem, is google has been unhelpful for trying to create a template file. If anyone knows of a good tutorial to look at, or good reading material, please send it my way! I can be reached at my listed email address ( CraigGiles9@yahoo.com ) If I can’t find a way to convert this into a template, the best way to distribute this would be to zip it up and that would be a pain when you want to start a new project.

Later this weekend, I will try to do a full writeup of the screen management system. Until then, happy coding!

I may just be getting used to this whole OpenGL thing…

I have been playing around with OpenGL ES 1.x for the iPhone, and really having a tough time with it considering I’m used to other ways of getting images to the screen. I started doing some research, and a whole lot of reading, and I think I might have come up with something!

Yep, you’ve guessed it… the basic framework of a tile engine is up and running! Oh sure things are a little different from my XNA tile engine, and I’ll even go as far as saying I’m a little uncomfortable with a few of the things that OpenGL does… but I’m learning. 

One of the major things I’m uneasy about is the world coordinate system used in OpenGL. I am not sure if I’m doing things correctly, but I’ve been used to the (0,0) point to be in the upper left corner of the screen, as you move down your Y value increases… and as you move to the right, the X value increases. OpenGL uses a different quadrant in the coordinate system, where (0,0) is now located in the bottom left corner of the screen, and up increases Y, right increases X. 

No worries though.. the VERY basic framework of my RPG engine has been ported over to ObjC and the iPhone. Step 2 is to expand on that basic framework and get a few key systems up and running (IE: the Tile Engine and other systems)

Do pirates really know no boundaries?

Often times when this age old debate creeps up on the discussion boards, there are several excuses for why people pirate games. Excuses such as the “Games are too expensive” or the “Evil Empire (Microsoft / EA / Insert big company here)” shouldn’t get my money, or how about the “I wasn’t going to buy it anyway so I might as well pirate it to see what I’m missing” … WHAT?!

This is also directly linked to the PC vs Console debate. PC game developers have been flocking to the console market for years now because of higher sales and lower pirated numbers. Recently developers such as Crytek have announced they have stopped all PC specific development and have moved to the consoles. Even minor game developers such as 2D Boy, developer of World of Goo reported high piracy rate. Sure, big piracy won’t bankrupt a developer such as EA, but what about the small time developers like 2D Boy? Doesn’t that take away the “Evil Empire” argument?

Maybe, but there is one example of piracy that still gets to me. 

According to James’ personal blog:
http://jrtb.com/blog/a-conversation-with-an-iphone-pirate

James and his wife Connie decided to develop an iPhone game based on the old “Whack a mole” game. The game was put up on the iTunes store for .99c according to the blog “After two full weeks for sale, we have 811 users. Not bad right? Well, only 196 of them paid for it”

“Too expensive?” the game is only 99 cents!
“Evil Empire?” A man and his wife?

Ugh, I just don’t get it sometimes. 

Objective-C, and me

I have been toying with the idea of developing an iPhone app since the app store went public, and since I’ve finished my current semester of school I thought I would give it a shot. One of the primary focuses for me was to utilize C++ since my classes are going to focus around it, and programming on the iPhone, i will be able to use C++ syntax which is great. 

The parts that are troubling me? Obj-C!! Things are happening (or in my case, not happening) the way I need them to happen and researching every little thing that I could do with my eyes closed in C# or C++ is annoying me, although I do find it fun learning OpenGL.

So with my first project underway, all I am doing is taking the basic screen manager / game screen system from the XNA projects and porting it over to the iPhone. Anyone else done anything in Obj-C?

Content Creation

With the Dream Build Play project “Complete,” I’ve turned my attention to a few items that will aid in the creation of not only Meir, but any future RPG I write. Content creation is a tricky subject, as the goal is to create something flexable enough to re-use in any RPG project, but dynamic enough and easy enough to use so if I had a few people working on any given project, they would know what to do.

Well me and a buddy from the shacknews chatty decided that he didn’t want to use TileStudio anymore, but wanted something more suited for his game.. so we started colaborating on an editor that would be built specifically for XNA games, but flexable enough to use in any project. Obviously this editor will have to support several major features of basic RPGs, but how in depth are we going to really go with this thing?

Create and edit tile maps? Basic feature, has to be included.
Exporting XML in the same style of the XNA Content Pipeline? Basic feature, has to be included.

but what about features like adding a “tile” to the texture, and having the map build the texture and exporting that to a PNG file? What about creating a system that can export to multi dimensional or single dimensional arrays based on the project needs? How about a dynamic XML system that lets the user edit how their XML should look, then hitting “Export XML” and having their XML formatted correctly? There are many many more ambitious goals we wish to include, and we’re thinking a bit larger scale then just these… but its pretty interesting to see what we could come up with. As always, I’ll keep everyone up to date on whats actually going on. 

So if you had to pick and choose a few “Must Have” features of a game editor, what would you want included?

Penny Arcade Adventures

Penny Arcade has been around for a long, long time and has been very entertaining through the years. It was only a matter of time before they ventured into the realm of game development.

Penny Arcade Adventures is an episodic adventure, with the first episode being released this week. The writing is superb, funny, and gameplay is very entertaining. I do have a few gripes with some gameplay mechanics, but those few gripes are not enough to discount this game. I will looking for the future parts in this series.

For those who wish to check out the Penny Arcade Adventures, you can download the demo at Fileplanet or XBox Live Arcade. Go! You will enjoy it!