January 31, 2013

January total - weapons, inventory, player profile and saves

This month I work hard on SeaCraft project (I need some money for food :) ) and spent less time on Doomstalker than planned. Anyway, there are few major updates here:

1. Weapon system finished

It took a lot of time, but today weapon system in Doomstalker is VERY customizable and flexible.

Key things:

  • One class, should be used with archetypes
  • Every gun can have different put/equipp/idle/fire/etc. animation set with it's own timings
  • Pre-fire and post-fire states (animations, muzzles) - used for melee attacks and weapons like BFG-9000 from Doom with delayed shot
  • Few pellets in one shot (best for shotgun)
  • Weapons use ammo from pawn's inventory (so two weapons can use the same ammo)
  • Switching between different punches in melee
And much more things inside. Small video where you can see some weapons and shotgun:

Marine's animtree looks now:

Today it can be used for games even with swords and magic, like Diablo.

2. Inventory system

I use UDK core principles on underlying layer, so, inventory system is the same is in Engine package :) But, I've add few features using Law of Demeter (LoD) idea and got flexible system.

Every pawn archetype has its own default inventory set, which contains link to Inv's archetypes. These archetypes are just an "array of items to give" with settings like price, icon, dropped pickup mesh, etc. The "item" is an object which will do something when Inv "used". For example, health item will add health to pawn, "weapon" item will give weapon, etc. 

This system gives an ability to create combined items like "give health and armor", or "give weapon and armor", etc.

I use underlying inventory system and it's cool - code is clear. Just one thing I had to modify hard - Items Factory class. Underlying class uses <class> variable to determine which item to give/spawn, but it fails with archetypes.

3. Player profile and save system

Just a few words - LoD as base idea, player profile stored separated from world's data, profile saved local or in cloud. Or in Roar server :) Roar is cool thing.

Next step

First of all, I hope to find animator who can fix issues with characters animations :( Next I'll finish HUD and integrate ingame UI. Than - monsters. I think it's a good plan :)

January 13, 2013

Emissive for character's skins

Just a small remark - it's really cool to use emissive masks on iOS devices to color characters and weapons.

Apple tablets have a great color grading, so you can make dark games without any doubt about contrast. When your character or monster is in dark he looks very cool and modern with colored details. F.e.:

Today I'm thinking about which variant looks better - with colored visor or not. But in general the Marine has four color variants (one for each armor upgrade) and plasmagun created in three colors (classic blue, acid green and dangerous red).

Fortunately, UDK mobile emissive masks has only minor performance cost.

January 12, 2013


I've just realized that we have bloom on modern apple devices. I can't said nothing about its practical influence on performance, because it works smooth on the new iPad, but it makes the result more "polished":

Anyway, the game environment should be cool without it, cause bloom effect doesn't work on all devices I've decided to support.

January 9, 2013

Marine animation

Today I've spend some time to fix this guy's behavior - he has different animations for every weapon and I've coded three custom animtree nodes to make the setup process easier.

The result is pretty enougth:

The animtree looks now:

I like this view :)

While changing the animation approach I've found that we have an issue with marine's skeleton - the weapon bone position and rotation is wrong. As result Marine shoots the ground.

Hope that Ironbelly guys will fix is fast.

My next step is to create universal melee fighting system for pawns, cause the current one is very rude.

The Beginning

Hi there!

Let me desctibe why I'm here and what is the Doomstalker.

The DS is a pseudo-isometric Sci-Fi shooter, primary for iOS devices, based on UDK tech. Mysterious asteroid base "Object 001", brave space marine, horrendous and tricky monsters, powerful guns.. All is here.

Today it looks like:

Lots of issues here, but it's just few human hours for programming. The UDK is great engine (and Epics are great guys) and I'll fix bugs and finish the game asap. I'll show you how to use the Force and what is extreme game development.

So, this blog is about how me - the Hagodemon - will make it live. The WIPs, tricks, jokes and other fun things will be here.

Special thanks to guys who helped me with art: Ironbelly StudiosDmitry ParkinIrina NarykovaNikolay Pogodaev, Oleg Karpov, Sergey Jung, Roman Ryabtsev, Vladimir Medovnikov. I spent some money to order few things from them.

But I work alone. The game is completely Indie :)