Random Action Arena Completed

Random Action Arena has been completed, and it does exactly what it says on the tin. There’s a procedurally generated arena and randomly spawning enemies for action.

Learning from last years mild debacle of a gamejam – and the first one I had ever taken part in – I decided to keep things simple this time round. You spawn, blue enemies do melee attacks, red enemies do ranged attacks. You’ve a choice of single or twin stick style input, but my advice would be to avoid single stick. You’ve a standard shot, special heavy attack and speed boost, the latter two recharge, as does health. The more enemies you kill the more time increases, the more time increases the enemies spawn. I could have kept tweaking to get better dynamic avoidance of my Ai but I’ve come down with the lurgy so we will leave this as they are.

Video: https://www.youtube.com/watch?v=eeWj52nrKC0

random_action_arena

http://www.yorkshirerifles.com/downloads/RandomActionAreana7DRL.zip

All created with Open Source/Freeware apps: Torque3D MIT, Blender.

Randomized Action Arena

There’s some scandalous rumour going around that Darren Grey does not like action games …er well I’ve got some bad news … 😛arena1_7drlI had come up with a vague idea for my next game project, and always enjoying procedural generated gaming experiences I had been thinking about randomized enemies. Lo-and-behold the 7DRL challenge appears – the perfect situation to create a super rough and ready tech demo to try out my new game concept.

This is my second 7DRL, and after last year’s effort I’ve learned a lot … like keeping things really simple. So gone are the gigantic mazes and broken multi-faceted systems, and in is small and functioning. So this is a twin or single shooter shoot ’em up, based in an arena with randomized obstacles and spawning enemies.

Being a Yorkshireman (Yorkshire is like Texas only with drizzle) and thus a fan of the cheap and the cheerful, I am using the following free and open source apps:

Day One was pretty much spent porting the input system which I had previously devised and ironing out all the kinks which come with a new build of the engine. Long and not terribly interesting but I did have a moving cube at the end. I then added a laser sight because shooting at static targets was a lot harder than it looked. There’s a light attack, and rechargeable heavy attack and speed boost.

Day Two was has been spent creating the actual arena and coding a simple procedural method to loading obstacles.

Next up is the fun/annoying part of coding some AI to hunt and attack the player, and of course some sort of GUI to quickly explain the interface.

And here’s some video of a cube moving around. https://www.youtube.com/watch?v=h7sw9KGYkwc

 

Airship Dragoon Rogue – Post Mortem Hangover

I sit here with a mug (Royal Denby no less!)  of green tea and citrus, the only chocolate biscuit I can find in the house (jaffa cake no less!) and a hangover … reflecting on my entry for the 7DRL Challenge and ProceduralDeathJam. (currently the uploading on PDJ at www.opengameart.org seems busted and won’t load for me in FF)

I wanted a 3D isometric open world roaming brawler.

It might be quicker for me to list the things which went right over what went wrong …

The isometric camera system was easy enough, mount it on the player and then set the player as the control object.

The control system was much more of a pain. My first attempt was somewhat of a broken mess and I eventually settled for a simpler and somewhat hacky script based solution – the sort of thing which I would avoid like the plague in a real game.

The stealth system is a bit of a broken mess. It was working fine but it looks like the last minute changes I made before uploading might have broken it. Fortunately I made sure that the player can outrun the Ai.

I had wanted the rooms to be made up of individual tiles and each tile to have a random shade which would then correspond to the stealth rating. This turned out to be horrific for performance, mainly due to the number of meshes (1600) being subdivided into 9 or more objects ( over 9000!) and I hadn’t LODed anything to save time. This idea got cut and the new radius based function was created using the lights to give the player a visual reference.

I had wanted different coloured meshes to portray different environments … but there was never the time to do this.

Combat works nicely, though I didn’t have the time to add in impact effects and audio so player feedback on whether an hit has been landed on an enemy is missing. Light and heavy attacks work fine, with heavy attack doing x3 damage but taking much longer to execute than light attacks.

Animation was a bit of a pain and took way longer than I had expected, eating up a full day for what I had originally though would be a couple of hours.

Procedurally generating the world also proved to be more of a pain than expected but eventually I came up with an algorythm which minimized the chances of orphaned areas. It generated the 2D map and the 3D world at the same time.

Objects where then randomly placed which was easy enough. It’s completely possible for a world to generate with no objects and no enemies – just very very very unlikely. The bonus system for objects works nicely, increasing damage for kungfu and staff weapon, giving the player a reason to seek out objects and switch between weapon types. There’s also plenty of heals.

Enemy Ai works well enough –  a little too well when it comes to spotting the player as stealth isn’t working correctly. The one thing I didn’t have time for was decent pathfinding and so there is no real wandering about on their own. As a last minute change I made them slower than the player so the player can escape. I was going to use many more enemy models but cut them back to just the the 3 classes to save time. The randomized uniform textures work nicely though.

The 3 classes give the player some choice of play style, though stealth class is reduced to speed class as the stealth mechanic isn’t working as accurately as it should.

The additional randomized quest mechanic was dropped as there was never enough time to do it … which is a bit of a shame as it was going to measure player progress. Instead I used the items, rooms and kills mechanic to create high scores.

All in all it works as a game, which is at least something. And I am relieved that I managed to ship a game in my first ever game jam. <slurps tea>

Play it here: http://www.yorkshirerifles.com/downloads/airship_dragoon_rogue_7drl_setup.exe

Video Here! https://www.youtube.com/watch?v=XqKT4mRoEf8

Stuff Used:

  • Engine: Open Source Torque 3D (off github)
  • 3D: Blender
  • 2D: Gimp
  • Character Models are being reused from my existing indie game “Airship Dragoon”.
  • Animations are to be taken from existing libraries I have licensed.
  • Some audio taken from existing libraries I have licensed, the rest badly created in Audacity.

Airship Dragoon Rogue Update

Progress! There has been progress! …
.. or alternatively I’ve gone mad and am halucinating it …
… which could be possible, there was a reason that I’d never done a gamejam thingymajig before and that was for the exact reasons I’ve encountered.

Too much to do in too little time and everything going wrong … so … just like normal indie dev then! 😉

First up I created a new control system … and it promptly died on me. This put me way back on my schedule – and that’s without annoying IRL to also contend with. Creating an isometric camera system with zoom in/out went easier though, as did knocking up 3 classes of player for stealth, fighter and tank.

Having just pushed the v1.4 release of Airship Dragoon out of the door, I hadn’t had any prep time for #7DRL and #proceduralDeathJam so it was very much going in from scratch. Procedurally generating a world/labryinth turned out to be a right old pain le derrière. This was mostly due to getting orphaned sections. Eventually it all came good.

Then there was a few minor problems with my models. Performance was terrible so I LODed it right back … maybe I just should have LODed it at the start … and then it’s not like they’ll all be visible anyhow but hey …

After a bit of tweaking and realigning pathways I had a 3D representation of the procedurally generated 2D map. It had taken the whole day when I was hoping for MUCH less, but at least it’s now done.

If you really squint you can see the tiny player front and centre.

So, next up … I might go back and spend more time trying to fix or just recode the isometric control system … or I might just wade on with objects, items and Ai, next. Unfortunately I’m busy tomorrow so aren’t expecting to get much done.

Time for a nice cuppa tea and some chocolate biscuits.

Airship Dragoon Rogue

3D isometric procedurally generated open world roaming brawler with permadeath <— there should probably have been some commas in there …

I’m Steve_Yorkshire an indie dev who has spent the last 2.5+ years making Airship Dragoon [blatant_self_publicity]Greenlight Votes Appreciated[/blatant_self-publicity] which is an X-Com/UFO/Julian_Gollop style steampunk turn-based tactics game featuring procedurally generated campaign worlds with tons of randomization and emergent gameplay.

I’ve never entered a game jam before, but having just shipped the v1.4 update of Airship Dragoon this week, I figure that “a change is as good as a rest“. I’ve had an idea for an open world, procedurally generated, roaming brawler for a while, and so intend to use #7DRL as the impetus to knock out a tech demo of the idea. I’m going to reuse my character models from Airship Dragoon, and hence came up with the rather obvious title of Airship Dragoon Rogue.

Key Mechanics:

  1. Procedurally generated world made from modular meshes.
  2. World fully resets on player permadeath.
  3. Enemy Ai.
  4. 3 classes of player/Ai: stealth, fighter, tank.
  5. Randomized placement of items, weapons and enemies.
  6. Light and heavy attacks. Heavy attacks force the player to stop, light attacks can be used whilst moving. KungFu does more damage than weapons, but weapons have greater reach.
  7. Stealth mechanic with randomized “shadow” areas, why put yourself in danger when you can sneak by?
  8. Additional randomized mission based objectives given by friendly Ai (steal itemX, assassinate enemyY, got to placeZ)  which fill up a percentage bar to complete the game.

Libraries/Tools/Disclaimers:

  • Engine: Open Source Torque 3D (off github)
  • 3D: Blender
  • 2D: Gimp
  • Character Models are being reused from my existing indie game “Airship Dragoon”.
  • Animations are to be taken from existing libraries I have licensed.
  • Some audio will be taken from existing libraries I have licensed, the rest will probably be badly created in Audacity.

I will probably also submit the result to the #proceduralDeathJam – I’m more interested in using the time to create a techdemo than prizes/glory.

I will be updating my progress via my devblog http://yorkshirerifles.blogspot.com and will probably also continue to mirror that here.