This demo includes more characters and furniture. It’s randomized, so if you refresh, you may see different things. It is not interactive.
Scaling can be controlled via a query param. For example:
We’re using SVG assets and rendering them to canvas with Fabric.js. The SVG file is compressed, which reduces its size by 10:1. This demo contains over 1000 art assets, and their accumulated size is only 435KB. And we can render each asset at any size.
There are four environments, which can be selected with another query param (e.g., ?lvl=2):
The scene can be rotated with the left and right arrows, but the walls don’t change, yet.
Click here for a simple demo of our new drawing system. The most significant feature is that we are now rendering SVG assets to canvas using fabric.js, which gives a huge performance boost—and we can still use scalabe vector graphics!
I also switched back to ClojureScript. I’ve been waffling between ClojureScript and Javascript, but now I’m feeling much more confident about using ClojureScript exclusively.
This demo shows the most basic drawing features, such as sprite based animation, isometric position, and depth sorting. The animation is barely sync’d up—I’ll fix that when more interesting agent behaviors are included.
The agents are performing a random walk. Just for kicks, each agent is given a random speed and a random interval to make their next decision (some agents keep changing their mind very quickly).
Click Here. This is a demo of a multiagent pathfinding algorithm. Unfortunately, I don’t remember which algorithm was implemented.
Click Here. Another demo of a multiagent pathfinding algorithm, in a restaurant scene.