Development Screenshots
July 15, 2007
Male Keeble Movie
July 15, 2007
Here’s a short movie of the special attack animation of the Male Keeble. Enjoy.
Towers, Characters and Attacks
July 15, 2007
This week I finally got the tower system working properly. The character runs up to a build node, selects it, and chooses a tower to build. The animation and effects play, and the tower is created. The tower’s AI routine starts, and it scans for hostiles in it’s range. If it spots one, it rotates to face the enemy, and then casts it’s attack spell, set from the dynamic build system. Effects go off, and damage is applied to the target. It all looks great, there will be a video to show all this off soon.
The first set of animations for the Male Keeble came through as well. Once I got the hang of exporting from multiple max files, everything went smoothly, and he’s now happily running around in game. There’s half a dozen animations, like run, jump, attack, dodge, hurt etc. Still some problems with transparency and mounting weapons however.
These 2 features are core to the game, so it’s nice to have them in.
First Quarter Points Tally
July 13, 2007
The points tally for the first quarter of the Dream Games competition were released today in an interesting IRC meetup for contestants and interested parties. Inspire’s official website got an honourable mention for being so orange
and ended up at number 6 on the list. I’m quite happy with this position, as I have put a lot of work into keeping up with the contest, and really admire the teams who made up the top 5, they are doing a great job and a couple were my personal picks. It’s only the first quarter tally however, so there’s still a lot of work ahead, and a lot of points to be gained. Everyone on the list is in with a chance.
For me, Inspire is about making a commercially viable game. The contest was good timing and a great way to keep focused on development, and be part of a community all developing. Winning the contest would be a nice bonus, and I’m going to do everything I can to meet the points criteria, however I am aiming to launch Inspire as a commercial product well before the deadline.
Here is the points tally, congratulations to the top 5:
Isles of Midgard: 6400
Frayed Knights: 6200
Arcanoria: 6100
Pelorea: 6050
Fantasci: Hidden War: 5950
Inspire: 5900
MMORPG (Working Title) 5100
Neoastra: 4850
SmokeJumpers: 4600
Foundations of Hope: 4600
B.r.a.v.e: 4550
Bit Battles: 4120
Aeges Road: 3900
Docoto Defense: 3800
B.A.L.L.S.: 3755
Exodus Project Online: 3600
Watcher: 3100
Legendary Journeys: 2100
Forsaken Sanctum: 2100
Rifts MMO: 1950
Game of Builder: 1900
Solar Battles: 1800
Forbidden Dawn: 1550
Last Ancient: 1500
Combat Robotic Games: 1500
Camera Change & Misc Updates
July 12, 2007
Nearer the end of the week an IRC gathering has been organized for participants in the Dream Games Competition. As I am in Australia I had thought it might conflict; thankfully it will fall during the middle of Friday, perfect for me. So this week I am working on updating game information and trying to complete a demo mission.
Towers have had a lot of focus this week, which are more complex than one may think. I had to get the build spot working, then have a tower build correctly, then load the AI, then the tower has to use it’s attack/spells when an enemy comes within range. I am so glad I bought Arcane-FX, it add so much more than effects, and I’ve rebuilt a lot of Inspire subsystems on top of it’s new technology. Next is to redo monster AI, bit more complex than towers as they have to move.
Today I changed the camera system. A problem has been in the back of my mind for a while, but since I am building a proper demo level this week I’ve had to deal with it. The side scroll camera is awesome, and one of my favorite features. The problem is how it restricts level design since level architecture doesn’t fade for the camera to see through, the camera ‘pops’ close to the character to fit inside the geometry.
While I’d still love to do a side scroll platformer with TGE, at this stage I don’t have the time or resources for large, fun platforming levels. The level design for Inspire has changed over time along with the game mechanics. The focus is now more on action combat and building towers to defend against waves of invading monsters, which works with more simple levels. A great example of this is Kingdom Elemental, a game by Scott Thunelius, the character artist for Inspire. Ironically Inspire will end up as a similar game. While it’s been a game I’ve enjoyed and admired, it’s never been a direct inspiration. Maybe a subconscious one. My dirty secret as a game designer is I’m not creative in the original sense. I am good at research, analysis of game mechanics, being creative from many sources of inspiration. Which is where the name of this whole project came from.
Back to the camera system. Like I was saying, the fixed side camera wasn’t working for me. So I built a dummy level with architecture designed to cause problems for it, and then tried a few other camera styles. I really want to avoid the ‘follow the player’s back’ style camera which is standard in TGE/AFX. I still wanted the player to be able to move about the level with the camera fixed on their location, but not slave to their rotation etc. I settled for an orbiting camera. Inspire still uses the separate player movement, but the camera can be rotated about the x/y/z axis’s separately. The effectively allows the character to move about the level, and the level to be rotated about the viewport. It can even work as a move versatile ‘follow the player’ system if the player is that way inclined. It allows the full 3D space of the level to be used, instead of having to account for fixed viewport problems. It also provides a more tactical overview of the level which I feel suits the current game better.
The bottom line is I wanted to try some things with the level design that the old camera prevented, and now I’m just as happy with the new system and style of game. The beauty of TGE/AFX/Gryphon and other related techs is it’s so versatile, I have the tech to do everything I’ve talked about over the past few months, it’s been design, content and financial problems to deal with.
More Indie Advice
July 11, 2007
These excellent quotes from an interview between RPGWatch and Jeff Vogel, indie developer of Role Playing Games.
I think that game developers need to be far, far more respectful of the time of the player. Leisure time is precious. We should not waste it. We shouldn’t burn time at the beginning making the player grind out levels before he or she can get into the plot. We shouldn’t burn time with faction grinding and trash clearing. We shouldn’t pad the game out with tons of B material.
Part of the reason I wrote those articles was to flog myself for my failures in the past. I’ve made mistakes. I’ve padded. I’ve wasted the time of the player. I want to get better.
And my time is much shorter now. I won’t play any game that wastes my time. God of War 2 gave me 13 hours of first rate material, and I was done. If a game doesn’t give me something like that, I’ll read a good book instead.
I spent an abusive amount of time playing Everquest. Then something happened. The switch flipped in my brain, and I didn’t care anymore. I was really looking forward to the World of Warcraft expansion coming out. Then it came out, and I just didn’t care.
I’ll really seriously have to need an escape from reality before I pick up an MMORPG again. The whole business model is based on keeping you playing for months and months. And, since content is finite and expensive, that means wasting my time.
Oh, and grinding faction is the dumbest thing ever.
The solution is really simple. Think. Design better. Work harder. Instead of placing the same group of monsters, make something new. And, if you run out of time or resources, release a shorter game that has a higher respect for peoples’ time.
The problem, of course, that companies don’t have unlimited budgets or resources. But I would still prefer, given the choice between tedious filler and a shorter game, that they chose the second one.
Cel Shading Issues
July 9, 2007
There’s a chance I may have to drop cel shading / object outlining from Inspire. Here are screenshots to show why. The first is rendered using D3D, the second with OpenGL. I prefer OpenGL for the game as a whole. Regardless, lines are being redrawn which shouldn’t be. I’m not sure if it’s the models or the rendering. It’s only glPolygonMode (GL_BACK, GL_LINE), no texture rendering, solid colour.
Production Summary
July 9, 2007
When writing my Dream Games update this week, I realized there’s been some events which I’ve forgotten to blog about. So this is a production checkpoint where I’ll summarize recent developments, set the current state of the game, and discuss it’s future.
- This game is a major project for my business, so in addition to lots of development time, I have to make time for the business side of things, most of which don’t get talked about on this site.
- I’m really happy with the lobby and master server system I’ve written. It’s lightweight and elegant, uses minimal network resources, and works.
- A month or 2 ago I wrote custom patchmaker and patcher/launcher software for Inspire. Recently I went back to it, and rewrote it to use different protocols, and fit better with the new master server model.
- A lot of actions in the game are built upon the Arcane FX spell system. The framework provides things like target selection and checking, action duration, use and casting animation hooks and more. It was much easier to create actions as spells under this system than it was under my old system.
- The cores of my old modules were finally ported over. Things like utility functions, actor and AI functions, inventory, resource dropping and collection, were dropped in, and some code even removed. It’s this sort of iterative development that means things work with a minimum of fuss.
- The scoring system and been revamped. Each action grants the player a set number of points, which are compared and saved into the persistence layer at the end of the game.
- Cel shading is still being looked at, as extra lines are being drawn, and there is rendering differences between the OpenGL version and the DirectX (D3D) version.
- The gizmo system is currently being implemented; see a future post explaining this.
- A metric system is under development; with a master server being the authenticator for accounts, characters and community, metrics are a no-brainer. Currently anything posted to the console is logged in the metrics database, as the game gets more refined and polished more specific cases will be logged with more detail.
The Future.
By the end of this week I hope to be at version 0.4, which is a playable demo released for open testing. I plan to get Inspire out early and get the community involved with it’s progress. Plus I will have something to show to portals, investors etc. This will be the precursor to the release of Templar Skies, the first episode. All the systems are in place, I just need to build some models and a level, add some data, polish it a bit and fix any nasty bugs. I can’t wait for this step to be completed.
Music is done!
July 9, 2007
Jesse Hopkins has been composing 4 tracks for Inspire. Earlier this week, he finished and sent me the music, and I completely forgot to update here. Jesse did excellent work with a great attitude, and I really recommend him if you need game music composed. The 4 Inspire tracks have now been put in game, and it really changes the atmosphere. It’s amazing how simple things can really improve a game. You can hear the music in upcoming promotional movies, or in the game when the open beta starts (not long now).
DTS Export Issues
July 9, 2007
A note of warning about something that tripped me up this week. Scott the Artist sent me a Male Keeble model rigged with a test animation to make sure it exported to DTS & DSQ correctly. It was just as well he did, because what I thought would be a simple export procedure resulted in a couple of hours of error messages.
The short version is, any static model can be exported as a DTS model. But if you want to export a model with the Skin modifier (the most common character animation method for TGE) , your model has to be an Editable Mesh, not as Editable Poly. If it’s an edit poly, the exporter will crash with an assertion when trying to link the skin object (model mesh). I had somehow missed this important bit of information when researching modeling considerations for TGE.
An additional note about the model graph – the model mesh and bounds need to be separate. The bones or biped rig need to be children to the start01 node. Now I know how to do it properly, and the model has been changed, exporting should be an easy process again.