Showing posts with label proceduraldeathjam. Show all posts
Showing posts with label proceduraldeathjam. Show all posts

Sunday, 16 March 2014

The 7 Day RogueLike Challenge 2014 - Post Mortem - Post 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

http://7drl.org/
http://proceduraldeathjam.com


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.


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

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 will be taken from existing libraries I have licensed, the rest will probably be badly created in Audacity.

Monday, 10 March 2014

Progress 7DRL Challenge 2014 Update 1

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.