Posts Tagged ‘gui’

Trekwar GUI updates

Tuesday, February 3rd, 2009

Recently much of my spare time programming has gone to giving the Trekwar client a graphical overhaul.

Now I’ve managed to get most of what I broke, working again (Research and Starsystem Control), and I’ve added a glasspane that shows up and prevents the clicking of buttons (and thus creating a weird state of the client) while each tick is being processed by the server.

trekwar_feb09_01
Currently the test galaxy is 100×100 tiles and takes about 0.5 seconds to load to client

trekwar_feb09_02

Unlike the previous version of the game, it is now possible to have many windows active on top of the actual game map.
The system box (far left of the screen) has been changed to display more information, and next up is a complete redesign of the fleet box.

But before making the new fleet box and fleet management system, I’ll have to do some major rewrite of the internal ship system and logic, to support user created ship classes.

I’m looking forward to 8-10 hours of pure java and logic.. There is only so much Swing a man can take :)

The path we choose

Wednesday, January 28th, 2009

Recently I’ve been continuing on my Star trek game, and doing part 2 of the GUI updates, I have to fix up the research view, as it was broken by the new UI.

I also made a new starship path system, and optimized some slow stuff in the drawMap() function

trekwar_path_old
old design – aka: stupid dot system

trekwar_path_new
new design – aka: ehm.. yellow lines?

After making the research view work again, it’s time to port the old starsystem administration UI into the new design. Followed by the new shipdesigner feature.

New Trekwar GUI

Saturday, November 8th, 2008

Since I fixed that annoying memory leak, I’ve been working on updating the graphical client of the trekwar game. Instead of having the map as a own internal window, the map is now always shown. I also made a new menu in Photoshop (thank Thor for photoshop tutorials ;) )

old screenshot ( 0.2.X )

new screenshot (0.3.1)

Next up is implementing the new Shipdesigner system.

Bye bye memoryleak

Monday, November 3rd, 2008

I finally got rid of that stupid memory leak in the Star Trek game I’m working on. It turns out when I optimized the use of JLabels I forgot about the action listeners, so the reference to the local copy of the game map was never removed from memory.

With a map update every 35 seconds, the client would go out of memory (200 MB) in 15 minutes, in where around 270’000 action listeners where in memory.

Memory leak

Now however the game can run smoothly for days:
NO memory leak :)

Currently I’m working on a major overhaul of the GUI, and the game looks much better now. I’m gonna release the new screenshots when I get the client stable again and re-integrate the map window in a new way (soon) :)

Trekwar shipdesigner

Monday, October 13th, 2008

I recently had a good idea for my Star Trek game, this would also solve the problem with some factions having very few ships designs, and might even allow me to add more factions (Ferengi, Dominion, Kazon, borg?), seeing that finding and balancing enough ship classes for each faction was the biggest problem with adding more factions.

It might even make it possible to add some more exotic factions (Xindi, Gorn, Breen, Son’a, Tholian, Vidiian, Hirogen, Tzenkethi or maybe even the Terran Empire :)

Instead of just having 4-5 static ship classes where all ships made of this class are identical, one could have a little star ship designer where you fit a hull with the components you want (warp drive, impulse drive, phasers, torpedo launchers, sensors, fusion reactors, shield emitters, armor, cloaking devices, troop transports, colonization and terraforming tools).

This means I will have to do some re-designing the next time I have time to work on the game (wont be that much, only implemented 2 ship classes so far) :)

According to my superior mspaint skills, the interface will look like this:

Asteroids! IN SPACE!

Wednesday, July 16th, 2008

So, seeing that I don’t have to work for a couple of weeks at least, I’ve been working on my Star Trek game :)

I’ve been doing lots of GUI stuff and UI enhancing lately and the game now looks a bit more attractive, I will probably post some screenshots of the changes to the user interface next week, for now I’ll show off the asteroids system.

This is the first version, a simple non-transparent image drawn in mspaint on my laptop :)

The second version had transparent background and there where 5 different tiles.

This is the final version, each tile that is part of an asteroid field generates an image using from 2-10 transparent images from 10 base-tiles. This causes LOTS of unique tiles, and it allows the size of the asteroid belt to visually indicate how many resources the field has. This also makes it possible for asteroid fields to shrink little by little as they are mined.

Programming in Austria

Sunday, June 15th, 2008

I’ve had this post as a Draft ever since I came back from Austria (which is a weird-ass country by the way), mainly due to the fact that I managed to change ssh port on my server without changing the firewall :)

So I finally connected a keyboard and screen and set everything up the way they was, which meant I could commit the changes I did to the Trekwar game to the server, and get them on this computer and grab some screen shots.

Friday
It is now possible to move your fleets around the map, Client allows you to press the tile the fleet should move to and then tells the server to move the ships.

Saturyday

Fixed a bug where the local copy of the move orders where not updated properly, implemented the starsystem controll window:
Trekwar System View

Sunday
Implemented build orders, now possible to build structures on planets. Queue not implemented yet.

Airplane
On the airplane back home I implemented the asteroid belts (high-altitude programming is fun).
Notice the beautiful asteroids drawn in mspaint on my laptop’s touch pad :)

Trekwar galaxy map with asteroid belts and fleet movements

Research done

Wednesday, January 30th, 2008

Today I completely finished the research system of my Star Trek game Trekwar.

Well, I still have to crawl trough memory alpha to get images for all the 65 technologies in the game. but all the code and the GUI is complete:
Trekwar Research view

Next I will make the client download and display the new map / research view each time the server starts a new turn.

After that I will be working on the order system, and doing either the build order system (creating new buildings on planets), or the fleet order system (moving starships, giving attack/colonize orders, etc..). Still LOTS to do, and it feels good to have Research out of the way.

Back from sweden

Monday, January 28th, 2008

I was in Åre Sweden this weekend, on a company excursion by Betradar (where I’m starting work Friday).
Cabin, Sweden

They had rented a large cabin (250 m2), and around 20′ish employees hang out there from Friday to Sunday. I got to meet some of my soon to be coworkers, and I made some progress on my Star Trek Game (Which has kinda been stuck in development hell for the last two years).

Unlike some of my previous code that I have written, coming back to Trekwars (second rewrite I might add) was very pleasant, good planning and Object Oriented Design seems to have paid off :)

I was able to implement the tick/turn system, and did some GUI work on the galaxy view, and halfway implemented the system view and research view. I also worked a bit on the order system, so given a few more hours of development I think I could actually move fleets of ships around :D

Still much work to be done until the game is anywhere near playable

  • Starship pathing algorithm and order system
  • Server data limiting (The client receives a big map ‘the galaxy’ from the server, currently it sends EVERYTHING, but this will have to be changed so that users cant cheat by reading “secret” data. Also by making a custom user copy the server will enable fog of war, and “distort” information in far away areas where sensor strength/resolution is low)
  • Sensor coverage algorithm (got it worked out on paper somewhere)
  • Planet Build systems (halfway done)
  • Combat resolution (ship to ship + ground combat)
  • Colonization and Starbases + Listening posts construction
  • Social tools (ingame mail + chat)
  • Natural phenomena (black holes, neutron stars, nebula, wormholes, etc..)

It was really fun working on the game again, and hopefully I wont shelve it for so long again. Here are some screenshots showing the GUI stuff done this weekend.

Galaxy view – shows the map with systems and starships
Trekwar galaxy

Star system map – Shows details about a star system, panel to build new structures/ships is not implemented yet. BTW those are temporary planet pictures that I drew in ms paint with my laptop touchpad this weekend, I actually think they are kind of cute :)
Trekwar system

Research View – Only just started this, so it just show your current research tree err.. stack :)
Trekwar research