Console Development

this weekend I finally faced the situation and with some assistance from a new friend and an old one, I finally got the console framed out and mechanics working, as I want them to be. Let’s take a walk through it though!

First, you should know that CEGUI is providing the GUI Framework to build this app out. As I said a couple days ago, using libraries is one of the most important things that I am planning to take advantage of. CEGUI is a complicated, and very similar to slamming the concepts of coding JavaScript and HTML with VB or C++ GUI development (Lots of function pointers and dealing with events). Woo hoo! The code is freely available, and although very messy currently because it is not in its own class yet, it is working mechanically.

Let’s step through what we have already, and then we can talk about the future of GneuConsole. God I love prepending Gneu on everything. It’s so cool.

These images are demonstrating the systematic iterations of the development. Note that this design is definitely not, what I am looking for, just pay attention to the layout and everything will be easier to deal with.

As you can see, it went smoothly. Developing in CEGUI is a bit easier than working with HL2 and VGUI2, because CEGUI has a development environment that HL2 did not have. The only thing that is not cool about CEGUI is that it is really fucking complicated. By complicated I mean it breaks everything down into its smallest atomic structure, and while that works fine, it just makes things really complicated at times. Small things that many of us web developers have become accustomed to, such as searching children recursively by name are no longer options.

Eventually, things laid out alright and I started playing with the mechanics, and I spent a good hour and a half just stressing over the details. Unfortunately, there is not much of that code left because I learned more as soon as I looked around the corner and worked on the second portion of the development. Once I got things mapped out it was much easier to see where to move next.

So far, if you check out this terrible video, you will see that you can make blurry symbols show up in the bottom input box and if you do something in it, to the beat of Kanye West’s new song Champion preferably, you will find it moving up into the top text area. It also scrolls to the bottom when you input something new, so you always see the most recent shit on top, and I can easily reverse that, but I don’t think it is going to be worth my while. It must suck to be different.

So okay, lets talk future. Squirrel is a fully featured scripting language that allows C++ styled development and has so far provided only reasons to stick with it. In the screens above you may have noticed that there was block of real-estate left open below the input box. I am thinking about making that a simple Squirrel IDE, driven by CEGUI and the Squirrel VM, which is now run as long as the game is loaded. I cannot think of any games that allowed coding in this manner, so it will be interesting to see how things will work. I am not committing to this, yet. It is just a thought I had yesterday when talking to Whitfield and FranklynD.

Next on my plate is to design the register and probably do some sort of dropdown or [tab] triggered event to list available commands that begin with the characters you have already entered into the input box. I think ill end up sticking to the tab, mainly because of my Linux development and auto correct experience.

Note:
Project Redline has a meeting this Wednesday and will most likely have some notes up on the site about our meetings, as that seems to provide the most fuss. Things are moving gracefully now, but we all know that when we tip our landing skid into the turbulent ocean of our brains and idea-space things will get dirty relatively quickly. If you have any questions please forward them to [email protected] subject: “Project RedLine Questions.” I will keep you all appraised.