So I picked up a new toy today at Best Buy, a Logitech wireless travel mouse. I learned last year at GDC (after forgetting to pack a mouse) just how much a touch pad really sucks. I mean touch pads are okay, but the more you have to use them, the less effective they become. So since I'm going on vacation and bringing my laptop with me, I knew I'd want to take a mouse. So rather than pack along the large, clunky and wired Intellimouse I usually travel with I bought a teeny travel mouse. Love it. My only gripe is that it as the side-scroller wheel, which is real cool, but it makes it tough to middle-click with the wheel sometimes, because you have to make sure to press straight down. But, minor complaint. Me happy.
So I put in a solid 5 hours again tonight working on Galaxy Conquest. In the process of implementing the player class I pretty much gutted the way it was originally set up, so I spent a bit of time going through and changing some things. But I like the new system better. Originally I was creating children of a parent ScriptObject
score = 0;
skill = $EASY_SKILL;
$player1 = new ScriptObject( : Player)
type = $PLAYER_ONE;
class = Player;
name = "Player 1";
Now instead the Player ScriptObject controls all the player functions and abilities and contains an array of actual player data objects
for (%player = 1; %player <= $MAX_PLAYER_COUNT; %player++)
%this.players[%player] = new ScriptObject();
So I just had to go through and change things like
eval("$player" @ %player @ ".name = %name;");
Much more readable too.
Okay that's pretty much all the code-ey stuff. On to the prettay pictars!!
First off, check out the new cursor. Rock on. Wish it was animated (the asset was originally animated) but it seems Torque doesn't support that. Weird eh? Note also that the Special System Density setting in the lower-right has been locked on "default" until I implement it. I also added a bit of code to restore the Turn Timer to whatever it was set before the user selects a Blitzkreig game type (where the turn timer is locked in at 5 seconds for that game type).
Here's the first real ingame screenshot. Unlike my past entry a few days ago, everything is rendered - there are no placeholder assets in use here. If you look at the previous image you'll see the planets in the player panels match up, as well as their names
I implemented some basic cursor changing - the "no drop" cursor appears when the cursor is placed over the map and there are no systems for the player to drop a planet on. In the future this will be expanded to include systems belonging to other players (both occupied and unoccupied if in Imperialism mode with territories) and asteroid field special systems
When the cursor is placed over a system (right now it's any system. As mentioned above not every system can take a planet) the cursor changes to the planet type of the currently active player
Here's a shot of a 4-player game set up with a different map selected
And here's the ingame shot of that setup. Note the cursor in the upper-left map corner
So that's it for today. Updated task list:
Create the game screen GUI [Added 1/1/06] Implement map loading changes for game. Maps loaded in a game do not appear as they are loaded in the editor. Blank systems, for example, are not rendered Load the map chosen in the menu in the GUI Flesh out the Player class Load the game with player info (name/planet/difficulty)
- Create game loop and allow players to take turns placing planets
- Create & implement the ingame menu GUI
- Create & implement the ingame settings menu GUI
- Begin implementing Conquest gameplay
Progress is looking good. Hopefully I'll have the rest done before I leave for vacation on Sat so that while I'm away I can work on the gameplay.
Oh and wow I've been listening to the Chronicles of Narnia soundtrack all nite long while working. Great tracks. Especially Can't Take It In by Imogen Heap.
Ok, till next time...