The Spatials V3 devblog 2016-05-23

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:

New buildings
- 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:

New robot charger
- 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.

Recipe panel for factories

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
A robot fresh from the factory

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
	position hint
	can drag on title
Floating windows

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.