28 August 2011

Weekly update on progress #2

Current version is 0.2.18.1 and here's the list of last week's most important changes:


Refactored all of the items/transfer/storage engine
This was inevitable. Our development policy until we get to alpha version is fast-iteration and that means that, sometimes, we have to scrap some part of the engine and re-write it. Roobuts has a very complex engine and, unless we spend 1 year on designing the complete and detailed architecture, we have to accept this possibility.
We started having bots that could dig ore and unload to a storage. After that worked, we introduced items (batteries which could store power) and they have completely different requirements (for instance, unique IDs, qualities, and so on). When we tried adding the crafting system, the code paths became too complicated. At that point we considered having a two-tier item system (containers and content) but after some brainstorming, we've decided on a simpler solution which matches all of our use-cases. The result? Minus 345 lines of code and a system which works with ore and crafted items and has simplified the transport too. We're happy.

Started adding sounds
Ryan has started helping us with sound design. As a result, the robots and stations are much more alive.

Most agents have new meshes
A new round of programmer art: as long as I have to make crappy art for the game, I have decided on a consistent style and color palette. Each type of robot has a unique design now, some of them even have some operational animations.

Energy/Power has a distinct cycle now
The new powerbot is the only one which can transport and distribute power. Also the storage cannot store power anymore and there's a new agent for that, named Power Storage.

We can put items on ground and pick them up
This is a very important feature for later, when we get to the automated industry part. Right now, the transporter bots go pick any on-ground items if they don't have any other job, then transfer them to any storage with enough space.

Crafting station is fully implemented
Along with it, the new recipe system. We can now design new complex recipes in a couple of minutes. We could process multiple inputs/multiple outputs with all the jobs it requires. For example, a recipe could make "reinforced concrete" from "concrete" and "steel bars" and output "steel pieces" along the main output item.

Next's week plan
  • As we didn't have time to optimize the world yet, this will be the 1st priority for next week. If everything works nice, we could even have a relatively big world as playground; we're aiming to have only horizontal limits and let the vertical dimension be much bigger than any practical purposes.
  • Real laser damage is also on the list; right now, shooting is just for show, the few enemies die of boredom mostly.
  • Lighting management will go in too as we start to dig underground.
  • If there's some time left, we'll try to see what are the steps to make a playable prototype web version of Roobuts. Streaming the world may take some time.

As of 28/08/2011, we're at 12213 lines of code and 1772 lines of comments. Doesn't matter really, it's just a fun fact :)

No comments:

Post a Comment