Thursday, November 22, 2012
A question that gets asked a lot is.. where the hell is the turret tool? Well. Let me explain. I hated the turret tool. Not in theory, I just hated how it was implemented.
You see, in my mind, the turret is a turret. It has nothing to do with tools. It shouldn't be spawned using a toolgun. The same could probably be said for lights and lamps. I don't like the idea of making things like the turret a tool - because the tool list isn't very good for listing huge quantities of things. The more you add to it - the worse it is.
So something I've had in my mind for a long time is an entity editor. You spawn the entity - and then edit it. That's how the turret tool should work. You spawn a turret - then you edit it. Not the way it used to work - where you edit the settings and then spawn it. That's backwards. So I've been coding stuff for a long time with the end goal of things being editable in this kind of system
Well this week I started putting all of that together. Here's what happens when you right click a bouncy ball..
And then this window pops up.
And everything is editable. You can leave this window in your C menu for as long as the entity exists, and happily edit it whenever you want.
This is why I didn't add a sky or fog editor straight away either. I wanted to make these into entities - so that people can duplicate them, and save them.
One of the things I'm trying to do is to make it as easy as possible to make entities editable. For example, to make the ball editable I just added an editable var:
And added some meta to its network variables - so the client knows how to edit them.
That's what I've been up to for the last few days. You can watch a video of how it works in practice here.