Posts Tagged ‘GUI’

Some updates

Tuesday, February 3rd, 2009

Well, the bad news is, this project is not currently my top priority so it may be a while until I get back to working on it full time. The good news is, this project still has a special place in my heart and I still spend quite a bit of time thinking about it. Even though this is not my top priority, I still have found some time to do some minor coding on some of the smaller features.

I have added unit order queuing and some simple code to show those orders so now the units can be moved through multiple waypoints effortlessly. I’ve also added the distinction to separate your units from enemy units, and adjust the cursor icon as necessary. This also includes code to prevent you from moving or mass selecting enemy units. I haven’t incorporated actual teams yet, which will allow for allied units that are not yours to control, but not enemies to attack, but that will be the next addition. I’ve added some minimal code to link the GUI to the action by showing the currently selected units in the bottom left of the screen, giving a count for each unit type and listing every unit. I’ve added code to allow the game to be played at any resolution, and even full screen, but for now the game will remain at a constant windowed size. I’ve added a splash screen. Recently, I’ve added the text display part of the GUI that will inform you of unit completion or base attacks. This has all been added and tested but still needs a little tweaking and I will probably incorporate much of it into the current scripting system, but that’s a task for another day.

All in all, I am bummed out that I can t spend much more time on this, but it does give me something to look foreword to when I finish the other projects I’m currently vested in.

Slight problem

Monday, March 10th, 2008

After adding Unit to the interface it became very obvious that something was wrong with the way the game objects network with game engine and all of the mouse and keyboard actions. When working to get the GUI interface to work, I struggled to find the correct setup that allowed mouse actions to pass into the frame but get caught before hitting the actual game engine. After finding a working scenario, I worked up a system to properly handle the actions caught by the GUI. Unfortunately, the current setup will not work at all with what I need to do with clickable elements that exist inside the game engine. Currently the units, which are extensions of the base game object, which is an extension of awt.Component, are attempting to maintain themselves in a variety of ways that are all causing issues with my current setup. For example, the source behind the moving lag is actually the result of the unit trying to repaint it’s self after being moved, which clashes with the existing graphics engine. In addition, because the scroll engine doesn’t actually move every element when scrolling the units move but the locations to click on them do not. Anyways, my first instinct was to create my own very stripped version of the Component, which would involve me writing all the back end code to handle mouse, and key actions. After some more thought I decided that I would first try creating a complete catch all object that would catch all the actions and just forward them to the main engine to be handed to by my code. Both of these solutions would remove the Component from the issue and leave me to handle all mouse actions, sending them to the appropriate units. On the positive side, once I optimize the entire engine I should much more control over which elements get tested for mouse actions, painting, and other general searches.

Now thats a GUI

Monday, February 25th, 2008

Demo 008

Finaly I’m done with the scripting portion of the GUI. Though I’m sure that I will need to modify a thing of two as I start witting other code to interact with the GUI, but still it feels like a big accomplishment. While finishing touches on my script code for the GUI, I was also working on the cursor animation engine which is also up and running beautifully. Sadly, because the cursors are automatically removed from the screen shot, my cool animated cursors don’t appear in the picture, but I assure you they are very cool. In almost no time at all, after minimal explanation, I was able to hand off the script files to my game designer and he was able to construct his own version of the GUI as seen above. He was also able to modify the new cursors file, and using a constant code base, work with multiple new cursors and see how they looked in the real engine. Before I knew it, he had completely redesigned by default test GUI (bellow) into something that looks much yet functions exactly the same.

(more…)

Now with cursors

Friday, February 22nd, 2008

Been back to work for a few days now, and everything is going fine, but it doesn’t seem like I’m getting much done. Most of what I’ve ended up working on has been little stuff, or small tests, or just cleanup work that can get old real quick. I worked on my GUI a little bit more, but spent most of my time on the new cursor system. All of the ground work for the cursors is written, and in place, including all the code to handle how cursors move over units, non selectable objects, the GUI, and even the code to show scrolling. All of this is good news but unfortunately this addition brings little moral as I have no actual cursors to use. To test most of the system i have used some dummy pictures but I seem to be too tired to enjoy my work. For now I’ll sleep it off and hope that some flashy animated cursors will arrive soon.

Back on the case

Tuesday, February 19th, 2008

Demo 006

Despite numerous distractions, I final got my my Chat server up and running. Spending all that time one networking side of the code has really improved my confidence in the multilayer side of this project. As part of the process of getting my first server up, I also have all configuration done on my home network, meaning that the next server application I write will be a much simpler process. Also, because I picked a program that I use on a regular basis, I am able to work out all of the design problems in a less stressful environment, and will have an excellent template to build from when I start on my RTS server. In addition to my progress on the server development, I have also made some decent progress on the GUI. I believe I have the entire layout handler complete and have a complete default GUI setup, functional, and ready to go.

Gotta have my GUI

Tuesday, January 29th, 2008

Demo 005

I knew that clickable units would brighten the spirits of my anxious audience, so I made that my next goal. However, as a programmer, I knew that implementing the unit selection system could be much easier if I had a visual representation of which unit(s) were selected. To represent this status I would need a graphic user interface (GUI), which meant that before I could add units, I needed to design and implement a GUI. The actual GUI layout was one of the many details that me and my designer argues over for quite some time. To settle this debate I decided that I would write the GUI using a my scripting engine, which would allow any user to customize the GUI any way that the user would see fit, the better way of course would then just be the default version. During initial talks, this process sounded pretty strait forward, and it it seemed like just a matter of time before it was done. Once I started work on this feature, I soon ran into several issues. (more…)

What next?

Friday, January 25th, 2008

After completing the scroll engine, and implementing a working pause system, I found myself at a decent stopping point to take a break and collect my thoughts. However, I found that I was very pleased with the progress so far, and after a brief break, I jumped back in by working up a list of tasks, that still need to be done. I knew that there was still a lot to do, but apparently it may still be a while before official version 1 is released. I knew that eventually I would have to to do some serious optimizations to the graphics engine, but decided to put that off for a while longer to see how long I could live with the simple version. The actual task list proved to be more that even I remembered. (more…)