Published: Mon 23 May 2016
lisp c++ v3devblog
Internal development notes, very slightly cleaned up and commented a week later.
TL;DR: new art for some planet buildings and the robot recharger, a recipe model and its info panel, robot factories, floating window API.
- final gfx for embassy, recruitment center, adverts
- advert building concept
one for planet
register in reputation, same way as embassies
Final art for the planet embassy, recruitment center and advert station has been added to the game:
- final gfx for robot recharger
Also for the robot recharger, which is now a walk-in object and more in line with the robot factory displayed below:
- recipe model
- factory-component for recipe info and selection
has list of supported recipe ids
concept of selected recipe
(make-factory) uses optional model atts to set up the component
derived job sm also uses the data for the final products
test with kitchen
- job sm is STILL releasing the worker entity after the item delivery
and its own busy status
-> the state transition was correctly matched, but the fall-thru support on transitions also matched the cleanup one
- info panel for factories
add more recipe info when selected
- more placeholder production
food, drinks, soap, meds
One of the cornerstones of the game is back in, production. I've left this off for a long time on purpose. By delaying this design and implementation, none of the already implemented systems has been "contaminated" by the needs of the production system, which has kept them very flexible. V2 had the problem of most interactions being some variation of the basic resource production or consuption code, and this has been avoided in V3.
But V3 needs properly modelled production, so the initial work for this has been done. A model for recipes is now available. Also a generic component to declare any object a valid factory for any set of recipes. And finally an UI to control those factories. There's still more work left to make it fully functional, with production queues and global control in the roadmap.
- robot building concept
single object provides for workshop
large amount of materials
use factory model with custom proc at end
fix 2+ rows of recipes
fix too large sprites
As another implementation of factories, it's now possible to build robots. It's also an example of the flexibility of the new systems. The robot recipes have a custom "output maker" proc, while using the same state machine and code for everything else.
Robot production and management will also get more tools in the future, with specific inventory control.
- floating window API
user can close
pass unique number to create/update/close on demand
bindings for scheme
- move autopilot popup to window API
- fix: autopilot play/pause does not work
- window api
omnipresent or limited to a certain game screen
keep all in the same container, and use userData to setVisible on screen change
can drag on title
I've been hessitating adding something like this for a long time, but a new feature (which I will talk about next week), along with the recent autopilot panel, made its need clear. The GUI system now can display floating, draggable dialogs, and as a first test the autopilot panel has been changed to use it. This also marks the first time mods can display a custom UI 100% independently from the C++ shell interface.