Yes. It’s true. The good old coffee machine died a few days ago. Every morning it woke me up with some fresh brewed coffee. Every morning in the past months if not years. Actually, it gave all team members some caffeine rushing through their veins to survive all the dev-times. Finally, after 14699 cups (not a joke, the machine has a counter) it decided not to heat water anymore.
Somehow this seems a little suspicious to me. First, I got these problems (grml and grrr) with my cup warmer, but now even the coffee machine refuses to heat water for my coffee. There is something cooking…
…oh I hate it. Especially if it was written in a great hurry back then. Do you know the surprise when you look at old and dirty code, asking yourself if you were the one who wrote that crap? I’m currently in the situation of improving some things of pre-alpha stage software I wrote last year.
First, when you start reviewing the code and playing with it, no danger seems to emerge from it besides a strange feeling of uncertainty. Then, however, when you alter the first line of it, all hell breaks loose. The requested features for the new version depend on changing a lot of stuff in the old code, or updating the third party libraries results in messing up the whole thing. Or even worse, your own code just breaks apart and stops working and you have no idea why.
That’s the point where you start thinking of rewriting it from scratch, but then end up in just doing some patchwork to get it up and running again. For at least another year or until the next feature requests arrive.
For those of you thinking something like “oh no, we’re never gonna play a game by this guy” – no worries, I wasn’t talking about game related software this time, but of one of the software projects I had to work on during my studies at the Carinthia University of Applied Sciences.
I’ve been working with FengGUI for a few weeks now, so I decided to write a few lines about it here. Basically, FengGUI is a GUI system written in Java that uses OpenGL for rendering. It does not require any middleware, but is said to work with a bunch of game libraries such as LWJGL. Components (these are called “widgets”) such as buttons, combo boxes, labels etc. are provided, but also a wide variety of more complex ones, such as tables, split and scroll containers. Loading and rendering fonts is also supported and is, in my opinion, one of the critical features for building some kind of GUI system or HUD in a game.
Recently, I joined the development team to improve a few things and fix some bugs. On the FengGUI website you can find a Java WebStart demo with some nice examples ;)