Foxfire Fridays #1
This Foxfire Friday was originally posted on Twitter here.
Well, looks like #FoxfireFridays is a go. (Look at me usin a hashtag.) The features I’m working on right now are only half-finished and very buggy, so instead of screenshots I’ll just give a chat.
The game is written in Rust, with Specs ECS and Macroquad. You play as a robot, in a post-post apocalypse; humans went extinct millennia ago and robots became sentient sometime after and ruled the earth for a while. But now even their monuments fade into dust.
The PC’s name/ID is SP-1R17 (“Spirit”). You fell into disrepair long ago alongside Foxfire, the superstructure you were created to serve … And one day you woke up, and the game begins, and your task is to bring Foxfire back to working order.
The game is a roguelike with a heavy focus on resource and inventory management. Your chassis is a factory, and as you bring more components back to Foxfire it will slowly wake up and let you automate it.
The plan is to have a listing of many quests for Foxfire, but not all of them will be required; you only have to complete 30/40, say. Some will be resource/automation based like “Get me 20k steel;” some will be more dungeon delve-y like “Get me this part someone stole.”
Right now I am working on senses. The system actually works! … except for the lighting engine. For testing purposes, SP-1R17 has a fusion reactor and a camera. Without power for the camera, it can’t see. It can’t see in the dark or if it’s too bright, either.
And it’s easy to add more sense types, too! For example, you could have IR cameras, UV cameras, magnetic sensors … A very sensitive magnetic camera could let you “see” through walls via Earth’s magnetic field! But for balance it would blind you if you get close to a magnet.
These aren’t hypotheticals; this code is in the game, right now. I’d just have to add a couple components to SP-1R17. (I love ECS!) Sadly right now light goes through walls and you can’t see anything up and to the right of you … so I’ll save the pics to next week.