Tuesday, October 18, 2011

My first JADE video: The new animation & trigger system in JADE 0.2.0

Boy, do I suck at creating YouTube videos. But what the heck... I wanted to give a quick impression of some of the features in the upcoming JADE 0.2.0 release and here is my first Youtube video showing off JADE features...
What you get to see is a pimped tinker troll using
  • a number of fire rubies
  • blessed and cursed sacks of mana powder and
  • the new imbue skill
in order to lay out a nice pattern, ignite a mana powder fuse and finally explode the fire rubies immolating the shop at the target point.

There are still a number of bugs in the demo version I use (notice them?) but I'm working on that. The animations themselves might not seem to exciting but for me the important thing is not so much the graphical aspect but rather that I now have
  • a generic animation infrastructure for balls, waves, rays, missiles and whatever else shapes I can think of,
  • a trigger system for magical and mundane effects,
  • an infrastructure for propagating events,
  • a rendering pipeline for much better ASCII animations (I just need to implement more fun things now)
  • and a reaction system to such events.
This basically ends the long sidetrack I started weeks ago with liquids. The next tasks for JADE are to implement a lot more monsters, fix bugs from the project management tool and then get 0.2.0 released after some more testing. And then we'll be back to release early, release often.

Oh... I almost forgot - here is the video and here is the YouTube link:


  1. Awesome, I love watching the lava flow through the town like that.

  2. And now imagine a mini volcanoe on a dungeon level and time pressure gets a new meaning :-)

  3. That is one heat resistant shopkeeper! How much damage does lava do per turn? Also, am I correct that a single ruby allows a single turn of lava fountain?

  4. Actually rubies generate a certain level (height) of lava for the given map tile. You also can imbue rubies to create even more lava and then things start to flow... many rubies in one spot create proportionally more liquid.

  5. This is really great, I can't wait to play 0.2.0 and immolate myself in torrents of lava!

    By the way, there is a typo in the game, it should be "rubies" rather than "rubys" :)

  6. Very nice! Watching those windows go crazy, I'm thinking a "repeat last non-movement command" is in order. Or perhaps just a generic way to bind macros to key presses (a la grouping in Starcraft).

  7. awesome!!! If you ever want to add more fluids how bout grease? makes movement difficult with a slip and fall factor (and of course is flammable)... and that for some reason makes me think of the classic entangle and tentacle area spells...

  8. Looks great, also love to hear about all the implementation details you do with the awareness system etc. :)

    Just a quick thought about the animation system. I think it look good when the lava flows turn by turn but the mana triggers might be better off happening in an instant. This kind of building stuff seems to be the trend nowadays and cool factor is if everything happens immediately after you flip a switch. :)

    Also, it would be neat to see the green grass get scorched by the lava.

    Keep up the good work!

  9. Tribute to Steve Jobs! ;)

    Well, this is great. What to say more? Maybe this: those more clever monsters should recognize your hostile intensions, when you drop things like 'mana powder' and so on. They can pick them up and use'em against you. In this video Shopkeeper looks at whole scene with no reaction, and then boom! - lava kills him.

  10. @galigula - the reason it happens that way is to give a smart PC a chance to escape the area of effect if he realises that he's going to be hurt if he sticks around.

    and @Sempoo, yes, that could be cool. Have a goblin rockthrower pick up a fire ruby and throw it at you!

    This is fantastic watching this, especially with the lava tearing down walls after a while too. You can seriously do some damage with fire rubies and mana powder!

    Another thing I noticed was that stats can now go over 99, it's going to be interesting at high levels...

    One thing I was thinking about regarding those 'time pressure' dungeons (where the lower levels start flooding or magma starts pouring as soon as you enter) - it seemed unrealistic that the flooding starts to happen as soon as the PC enters (because time is frozen otherwise).

    A flavorful way to get around this could be to have time-pressure themed dungeons actually sealed to begin with. Similar to the dwarven graveyard and the bug temple, the first "level" of the dungeon is the outside, which could just be a sparse monster-free area with a dungeon entrance inside a rocky cleft, or a decaying temple, or an orkish fort. But to actually get inside the dungeon for real, you have to unseal it.

    A couple of ways to unseal it could be
    - using a key, or keys (think of a treasure hoard that requires five keys from five individuals to open, because they're hiding the treasure until everyone forgets about it, but don't trust each other not to open it first)
    - a gem, or gems (putting gems in sockets in the door, which also gives gems an extra [minor] use)
    - Think of Mordor from Lord of the Rings - "Speak friend and enter", and then gives a prompt for the PC to type the password. The inscription could be in a language the PC doesn't know. The riddle may require the PC to track down someone who can read it/knows the answer by using the townspeople rumour system.

    And now that you've opened the door, the dungeon starts flooding! Run!

  11. @Lyle - I think there was a delay you could set to the initial mana powder before it triggers? This might be enough for the player. Just thinking that it might look a bit chaotic if you have ongoing mana blasts on top of everything else on the screen. Just my 2c :)

  12. how come the walls are melted by the lava before the gold pieces are?

  13. @galigula - it's also consistent with the rest of the magic system where you have a chance to escape from the area effect of a fireball spell, or an acidball spell. I mean, if I shoot a fireball that lands near you, if it happened instantly you wouldn't get any warning to escape the effect. Plus I kinda like the look/feel of how it works in a delayed fashion at the moment :D If you want to see it all happen instantly, just hold down the 'wait' key after you trigger it ;)

  14. dont wanna be a dick, but i would call the fire ruby something else, since lava isnt really fire, just liquid rock, and fire isnt really hot enough to melt rocks

  15. @Dirk Gently: Bug :-) There are some left ;-)

    @galigula: Actually the system internally allows animations to be everything from "instantaneous" to "taking a very long time". My idea was that making mana blast triggers more slowly allows for interesting tactics - thus they internally use a delay of 1/10th of the base action time to do something as a being (or play) (e.g. 10 animation steps per average PC step). I also could set that to 1/1000 (the minimum allowed as the game measures a basic action in 1000 "ticks") which would be almost instantaneous or "0" which would be instantaneous. Currently I intend to make fireballs, missiles, etc. to work at the 1/1000 rate in order to keep a tiny chance of being able to dodge one step - but have that be a very rare event.

  16. @Thomas Biskup: So you can save your game midway through an explosion? It's pretty neat how even though the explosion might be a very quick event, that if your turn just happens to come during the explosion you can potentially move to a slightly safer location.

    I think explosions definitely should happen very quickly, including those mana powder explosions which seemed to be in extreme slow motion. I feel that entire chain reaction of explosions in the video should have lasted maybe 2 seconds. Why should a character be able to walk away from an explosion? He shouldn't. (At least not more than the 1 step in the rare cases where the PC reaches his 1000 energy to move during the explosion event.)

    Maybe there could be a skill or talent that lets you react very quickly to events (maybe use the existing Alertness skill?) so that this skill/talent basically creates a circular aura around you that modifies the speed at which events occur around you, and the speed modifier diminishes with distance from the PC. So a maxed out "quick reaction" aura might add 150 ticks to the update rate of all events happening 1 square adjacent to you, 100 ticks to the update rate of all events happening 2 squares away, 50 ticks to events 3 squares away, etc.. This way characters with a very good reflexes or alertness or whatever will be better able to react to very quick events. A fireball shot from very far will "slow down" more and more as it gets closer to you.

  17. @pnut Well, that PC did have stats over 100. The power and length of time was probably way bigger than what our level 5 fighters would be able to produce ;)

    Maybe with fireballs and area of effect attacks, they could do slightly more damage in the centre and slightly less damage towards the edges of the attack (not a big difference). But this could mean for a PC that gets a chance to move, but still can't escape the area of effect - even trying to move out of the explosions' radius a little bit more will lower the damage against you.

  18. I see one bug. In this video explosion is going trough wall and hit NPC inside the building.

  19. @b054c2b8-a73c-11e0-8ffc-000bcdcb2996

    Fire can be as hot as it wants. It's just gas, ionized by heat.

    Of course, lava and fire are not the same.


    How about a fire gem causes a wounding explosion, and perhaps a chance to catch on fire, while a fire+earth gem makes lava? Earth and water make mud (slowdown, possibility of drowning depending on imbuing power) water and fire make steam (more damaging explosion, possibility of flooding after condensation) and so on. Combine as you like.

    Also, per the discussion on craftable raw materials, earth gems (and wood gems, and whatever else others might think of) make sense. It would allow characters for whom it wouldn't make sense to carry around a tinkers bag and a bunch of bricks (wizards, mindcrafters) to craft items of buildings, but PP requirements could make sure that the philistines (farmers, merchants, barbarians) would be better off hewing and hauling the actual materials.

    Might help provide a different experience with each class, although I suppose making sure there are no imbalances would be a headache...