All the better to zoom in on you with, my dear
Yeah I don’t know why, but for some reason I decided I really wanted to implement some rudimentary camera controls. I made it so you can zoom in and out with the mouse wheel, and the zoom follows a curve so I have fine control over how close/far it goes and how quickly it does it.
I also implemented a curve for the FOV, which subtly changes as you get closer and farther away, you may be able to notice in the video. And finally I implemented a curve for the vertical offset. This isn’t implemented yet.
I’m going to have to hunt for camera angles I like and then have the curves transition me between those angles. The beauty is that the curves were the hard part, and that’s done.

All the better to see the UI with, my dear
I mentioned there was some cleanup to be done… I spent a lot of today on the cleanup, to be honest. I rewrote a lot of the way the UI toggles menus on and off, I completely rewrote how the escape key works.
All menu items are layered now. When you open a menu, it goes to the bottom layer. When you open a new menu, it opens one layer above that. When you open another new menu, it opens one layer above that. Hitting the escape key will close the menus one-by-one from highest layer to lowest layer. It’s very satisfying.
The next step here is to make it so that when you click on a UI element on a lower layer, it pops up to the top layer. I actually already wrote a bunch of code for this, I just need to handle the mouse clicks, and it should be done.
All the better to inspect you with, my dear
THAT’S RIGHT, AT LONG LAST, THE INSPECT MENU IS FINALLY IN! So now you can right click on a character to open a context menu, and if you click the Inspect button, it will actually open an inspection menu so that you can see their name and stats!
I’d like to do a lot of expansion on this, but getting it working at all was extremely satisfying, and I’m very pleased.
Part of why I’m so pleased is that a lot of the work here was figuring out the basic skeleton for getting any commands to work, meaning it should be fairly simple to get the other commands to work too, once I’ve got the systems in place to support them.

All the better to see the UI wi- wait, didn’t we already do this one?
Well… After I made the UI for the Inspect menu, I realized I was wasting a shitload of time on writing bad, impermanent UIs. I already know all of this stuff is going to be replaced, I already know it’s not good, I’m already going to have to do a ton of work to make it better later, so why the hell am I spending so much time on it right now?
So, to that end, I’ve converted every single UI element in the game to much, much simpler format. It’s not prettier, it doesn’t work better, it’s just easier and faster to prototype with by several orders of magnitude.
I re-made the main login screen in about 5 minutes using the new “just fucking put the shit on the UI” flow I’ve decided on, and I think it looks decent. It gives a better idea what I’m going for, anyway.

All the better to see the UI wi – again???
Yeah turns out I had a little extra juice in me tonight. Which is surprising because today was the worst, most exhausting day I’ve ever had.
But anyway, I decided to make the UI elements movable.
And purely by accident, they remember where you put them if you close them and re-open them!
That gets reset when you logout though. I’m not sure what I want to do about that, but that’s a future Charlie problem.

Spoiler alert – tomorrow will be more UI. I just figured out how to solve several big bugs in the code, but it’s going to take some time to poke at.