Progress on the new FRP stuff. Things are now organized into components that bind and unbind observable subscriptions to love2d events when they are created or destroyed. Additionally, each component has a 'state' variable which is an observable representing all of its state that changes over time and a 'props' variable which is just static data that doesn't change (somewhat inspired by the ReactJS framework). This is cool for a few reasons:
Added enemies and some basic combat. Also added a timeline editor. This lets me do a bunch of things that are helpful when designing new sets of waves, like seeing when enemies spawn, adding new enemy spawns by clicking, jumping around in the game timeline, etc. The totems (fire at enemies) and mushrooms (heal you and give you "mana") are working too.
Added smooth texture transitions, which lets us supply two textures and an alpha channel to blend them with. It should make the environment more interesting. Also did the necessary work to support arbitrary resolutions and fullscreen mode, so there's that. Also added the capability to group things in the editor, which is going to be helpful as we add more properties to edit.
There was also a cool improvement to the editor: in the event that you put in a bad value (like the string 'SUPERFAST' for speed), it will revert it back to the original instead of crashing the whole game. It does this by immediately running the update loop inside a pcall with your supplied input. If the pcall barfs then it reverts the value you entered and flashes red.
On the gameplay side of things started on the shapeshifting ability. Mostly just getting the cooldowns/ability system set up, importing all of the minion animations, and making a simple UI for it. More to come on this later.
Also been violating a bit of the FRP stuff recently so I'll try to get that cleaned up and more organized over the next few days.
Finally got around to putting in some placeholder art. Also changed the walk animation into something more limpy and added a stop animation. The stop animation makes things feel a lot better! Also added collision to objects. Basically objects push each other out of the way and gradually return back to their original position.
Did a bunch of sloppy prototyping for an MVP. Did some work to allow multiple people to play the game at once, each with their own controller. This should pave the way for local co-op. It also allows people to control our individual minions which is pretty neat. Another change I made was to heavily alter the perspective of the map to increase its depth, so now you can move up/down/left/right instead of just left/right. Also added a system for buildings and added a totem building that shoots nearby enemies.
Going to flesh all of this out more and see what's fun and what isn't.
Finished this effect animation and tried it out for Muju's blink ability but I'm not sold on it yet. It's supposed to be him disappearing into a cloud of smoke but since the blink is instant and moves him sideways I think I'm going to try creating an effect that has more of a horizontal motion like a dash.
We made an inventory system for collecting shruju in game, started a tumblr blog (mujucru.tumblr.com) to keep track of our progress and post cool art stuff, and we setup a GIF workflow. I'm still working on tweaking some variables to get a better quality gif, but this example of our world map is what I'm working with right now. Any tips or recommendations on software are welcome, currently I'm using Mac OSX -- Quicktime to record and ffmpeg to convert to gif.
Today there was a lot of brainstorming on how to improve the game. Came up with a list of ideas and began implementing some of them. The game is already much more fast paced and action packed, so we will continue moving forward with things and hope for the best!