Week 4 - Economy System, Auto-Generation & Animation


Week 4 was the busiest week I’ll likely have with Lunar Pioneer for a while, as my real life job is going to be busy for a few weeks now. I completed loads of tasks this week however, every week I’m inching Lunar Pioneer toward being a playable and enjoyable game, but right now, it’s still a state of disconnected systems.

I have started a dedicated Twitter account for Lunar Pioneer also, check it out, follow etc. if you’re interested in the game and my journey making it 🙂

Adding a full economy to the game

My idea for Lunar Pioneer has always been a dual economy, Gold & Oxygen. The player will have to make a decision of how best to handle their crops, animals etc. Based upon their current needs for either consumable. As of week 4, the game now has a strong (albeit in need of balance) Gold economy. The player can visit the shop in town, buy seeds, sell crops and grow their farm. It’s also possible for the player to harvest oxygen from fully grown crops, and add this to mass storage, though nothing happens from there.

I had a number of challenges implementing the shop screen, the chief being that I don’t want the player to be able to sell key items. The buy screen was quite simple, I already had most of that working by extending the existing Inventory system, but the selling screen was trickier and required creating an array of saleable items within the players inventory, and looping over that, rather than the directly the inventory itself.

New Animations

I’m no animator, I’m also not an artist, so getting to work on complex animations (at least, complex to me) for Lunar Pioneer has been a big task. With the prospect of multiple directions * multiple tools * multiple frames for each, my major concern was burning out on so much animation work. Facing this, I spent some time on Spriters Resource to get some much needed research done. 

What I found was the player sprite sheet for Stardew Valley, which was hugely eye-opening, I should animate the player and the tools separately, that way I’m only animating the player once, and the same for each tool. Using this technique I now have an animation in place for the Shovel and the Hammer, and, in my opinion at least, they look OK.

Auto Generation

My last big change this week was the beginning implementation of an auto-generation system for the Farm to create the initial farm debris the player will need to clear. The auto-generation itself was very simple, just looping over each area of the “grid” on the farm, and placing objects at random.

Despite being a simple system, it can be manipulated for hilarious results. With a farm like this it would take the player a few days in game to bash a path through to town.

What was difficult about this part of work is that I didn’t want this auto generation to happen every day, or every time the player visits the farm. The once off behaviour would be simple to implement with a global boolean or similar, but what I wanted was a re-usable system which would track which game day it was, and trigger this, and other events accordingly.

What I found was the Game Maker timeline system, ideally it’s meant for running complex systems based on game steps, but, if you trigger the timeline for 1 step only (and then stop it running) based on the in game day, what the timeline becomes is almost a calendar; if it’s day 3 send the player a message etc.

Timelines in Game Maker being a lot more visible than just an array or a similar purely code based system makes this a perfect choice for my event triggers. I have also run some testing on using the same timeline system for generating and controlling levels in the combat area (Mines) of the game, more on this in another devlog soon.

Weekly Changelog

  • Created a computer in the house for the player to receive mail.
  • Added basic emote system to chatty objects
  • Added basic title screen – lots more work to do on this!
  • Added tile randomisation system when digging
  • Update text box system to allow 3 choices — can now handle any number of choices
  • Updated the Pickaxe to be a Hammer instead
  • Timeline implemented for day event tracking. Includes a system for room checking so that events run for each room
  • Objects in home get restored on room change.
  • Moved Inventory screen to be its own object, for better code separation from game object
  • Completed Item Buying at the shop
  • Completed Item Selling at the shop
  • Converted individual UI active states ( text box, shop, inventory ) to use 1 master state
  • Some small day end event improvements, more to come
  • Pause time when inventory is open.
  • Pause time when day end animations are playing
  • Improved crop hole digging
  • Added bullet explosion animation
  • Added slime ranch exterior
  • Added Huey, Dewey and Louie 🙂
  • Added 4 basic crop types, economy balancing required
  • Added room change fade animation to soften transitions
  • Added animations for Shovel and Hammer tools
  • Added level creation tool for the mine (combat area)
  • Updated object saving script for the farm to account for more than just crops
  • Added rock generator to farm for day 1 to ensure the farm is overrun

Leave a comment

Log in with itch.io to leave a comment.