iPhone Development Day -1

April 20th, 2009

One evening over a few beers I got to discussing iPhone applications with a few guys I work for. As I have not been blessed with an immunity to the alure of the iPhone I agreed that if they were to purchase the hardware for me I would write the application.

This was just before Christmas and I have now received word that the hardware is on it’s way to me and should arrive tomorrow.I assume this is going to be well hell of an adventure as I have never spent more than five minutes operating a Mac and what I can recall of those five minutes consisted of a steady escalation of frustration narrated by a score of profanities and concluding with an arms-in-the-air retreat to the safety of my PC world.

Actually operating the device is the first hurdle and not one I am truely concerned about.  Objective-C syntax causes my mind to seize, the 10 page how-to’s for configuring Xcode for ad-hoc testing deployment (and then back again) and the wroughtful hand of judgement for Apple approval are what have me feeling a little sick in the stomach at the moment.

 I’m betting the ride is going to suck but when all is said it done it will hopefully have been a good time.

There is a Warhammer Online beta.

August 13th, 2008

I am in the Warhammer Online beta.

Well not the really real beta. The beta setup for the collectors edition pre-orders.

That’s all I can say. Damn them and their NDA.

OGRE Time

June 15th, 2008

In the eons since my last post there hasn’t been a whole lot of progress on any front. I tried like hell to make TGE work for me but ultimately I just had to give up on the GarageGames products. This of course sent me back to the beginning looking through all the other options. Unfortunately the only other ready to go engine I liked only supported authoring on OSX, which I’m not about to switch to Macs just for this project.

So I fell back to the exact place I didn’t want to be: roll yer own land. Once you end up there the options are many but I think it’s hard to deny that OGRE holds the most potential. I’ve started out getting my bearings in OGRE by creating a little mesh viewer application. There are several existing applications but I’m very picky and none of them behave how I like so this is a perfect project to a build an essential tool and learn how OGRE works.

Everything up to this point has been going great. It’s unfair to compare it to TGE as OGRE is simply a rendering component but the API is a breath of fresh air and the community support is excellent. I’m hopefully optimistic that I may be able to pull something off using OGRE as a base by the end of the year. Nothing major but at least a little demo of sorts. The only limitation is the time I have to spend on my little projects.

Here is a little clip of what I have functional so far:



Something not entirely horrible.

April 19th, 2008

I’ve been playing around with 3D modeling way more than I should be. Over the past week or so I’ve spent most of my free time trying to learn how to properly create 3D models for games.

In order to put what I had learned to the test I set out to create a rifle mesh under 500 polygons for use in the torque engine.

It’s far from detailed and my texture work is quite shameful but I’m still fairly new at this and rather than discourage myself I’m comfortable saying it looks OK.

Here is a screen grab of the mesh rendered inside the Torque ShowTool Pro:

Rifle in the Torque engine.

Breaking the rules.

April 8th, 2008

I’m breaking my own rules here and posting complete senseless banter. I guess a few hundred extra bytes of pointless rambling floating in the ether surely won’t be noticed anyhow.

During my drive home from a late night at the office I had a little word puzzle floating through my head. Don’t ask me where it came from, I don’t know. Shit just pops into my head and bounces around. The phrase was “<something> Kisses and Butterfly Stitches”, the “butterfly stitches” / “butterfly kisses” juxtaposition being the catalyst for this thought process. I’m sure there is a name to describe this bastardization of common phrases but I lack the proper vocabulary at this moment to produce such a word.

After agonizing over it for a bit I finally gave in and hit up google knowing full well that there is no such thing as original thought anymore and someone somewhere has already solved this problem for me. “Razorblade Kisses and Butterfly Stitches.” At least now I don’t have to feel compelled to compose anything further with the theme.

And as an aside I might be a little late in getting the news but Matt Barlow has returned as vocalist for Iced Earth and there is much rejoicing.

Oh yeah and the game stuff is moving along slowly. Work is sucking up any will I have to code and what time I have been able to devote to the project has been barely enough to even get my head into it. I have however been experimenting with 3D modeling and texturing far more than I probably should be.

Hindsight and Vauge Demo Stuff

March 19th, 2008

With a few more hours into Torque scripting I’ve started to get the hang of it and some of the assumptions I had made were proven wrong, particularly with my main concern of packages. Apparently they are not complete overloads but achieve something like stacking allowing each overridden function to still access it’s ‘parent’ with a Parent::<function> call. I suppose I should have given the original designers a little more credit.

With the time to stop playing around and start doing approaching rapidly we have started kicking around ideas for a smaller game project to test the waters with. It is important that before we begin work on ‘the project’ that we are certain that the tools we have chosen are the ones that will actually enable us to bring this vision to life.

Fortyseven has started putting together a design document based on the premise of remaking an old Intellivision title. Perhaps remake is a bad word, allow me to take a page from the recent trend in film and say we intend to ‘revisit’ the style of game play. We have already begun churning out countless ways to tear apart and expand on the mechanics that existed there and it’s all very exciting. If things turn out right we should end up with a spiffy little title providing some fun classic game play.

TorqueScript: Oh How I Loathe Thee

March 15th, 2008

As I started trying to get a couple basic game objects going I began to ask myself a lot of ‘hows this getting triggered?’ and ‘where is this defined?’ questions. As I began digging around I found myself going round and round in circles and still not able to put a definitive answer to my queries. After an hour of this nonsense I decided the only way I would actually begin to understand how the scripting interfaces with the engine is to go back to my first impulse and start a ground up rewrite of the engine initialization scripts.

It’s going … OK.

I’m not having much trouble getting things in order but the more I learn about the scripting interface the more pain and suffering I foresee in the future. Particularly the namespace management and package implementation.

First there seems to be situations where the use of global variables is absolutely necessary to pass state around. I’ve tried to get clever with namespaces but have yet to find any way to place variables (or properties if you prefer) into the namespace. Defining functions in a namespace has not been a problem but any shared state relating to these functions seems to have to get rolled into the global namespace.

Second is the concept of packages in TorqueScript. Packages in Torque land are basically shells in which you can define functions. These packages can then be activated making any functions defined in it override existing functions of the same name. Need I elaborate on the potential issues this could introduce if used inappropriately?

My feeling is that most of this will become less of an issue as I move out of the core initialization sections and into the game scripts but it is certain that care must be taken at each step along the way to prevent the global namespace from spiraling out of control.

And as an aside for the purpose of documenting TorqueScript, Doxygen is pure evil.

TorqueScript

March 11th, 2008

I started digging into some of the scripting that the Torque engine uses and with that came my first headache of the project. It really wasn’t that bad after spending a good deal of time to understand what was going on. I should mention that I found the debugging features of the Torsion IDE from Sickhead Games absolutely invaluable in that endeavor. Yet another tool expense that needs to be factored into the budget, but well worth it.

I have much to learn about TorqueScript but the general design seems to have taken a page from the object oriented world then shoved it head first into a procedural world. This may make for some interesting debugging down the road but overall no different than what I deal with in the 15 year old code base I work with on a daily basis.

The few hours I spent were enough to know whats going on and though I am tempted to charge in and rewrite the bulk of the stock scripts I’m going to shelve that thought until I have completed my overall test plan for the engine.

Next up I’m going to put everything I’ve learned into practice and produce a small test level to get a feel for how it all comes together in engine. Pending no major issues with that stage I may not need to continue evaluating engines.

Books are good.

March 7th, 2008

My copy of The Indie Game Development Survival Guide arrived today. Fortyseven and I thumbed through it during lunch and it looks to be a rather complete introduction to the road ahead. Should be a good read and hopefully help us to formulate a proper plan as we move forward.

TGE Content Experiments Complete … For Now

March 7th, 2008

Over the past few nights I’ve continued experimenting with creating 3D assets for Torque using Lightwave. So far everything has been going incredibly well, with most of the credit having to go to the Lightwave DTS exporter from GnomeTech. I can’t say enough good things about that plug-in. I have had some issues exporting textures however. According to everything I’ve read all the standard Lightwave options should work except for cube mapping but up to this point I have only had success using UV texture maps. Something I’m sure I will figure out in time.

At this point I have successfully tested exporting of meshes, UV texture maps, animations and custom collision meshes and have then imported them into Torque with no problems. Those few points pretty much covered the basic questions I had about creating content for TGE so I’m going to put this aside for now and move on.

Next up is to start digging a little deeper into Torque Script and see what I can achieve there.