Project 137: Star Commander: Colour-Coded Player Tags, Line-Of-Sight Calculations, Level Design, More Game Rules, Bug Fixes
Most of my time this week was spent modifying the guishapenamehud in T3D. I was trying to make a client-specific colour coding system where the name tags above the heads of aiplayers change colour based on the team the player is on, or whether or not they are the players own units. This took a lot of time, particularly sorting out the network side of things. I had a lot of issues resolving ghosts, using ghost id’s, etc, but it seems to be working ok for now.
I also added line of sight calculations to the game rules. Star Commander uses a free camera, so it was possible for players to view enemies that are actually obscured from sight.Players that are behind buildings will not be rendered, regardless or what position the camera is in. Players that are behind cover or out in the open may be hidden or displayed, depending on distance, cover status, and a variety of other factors which I have not yet implemented. In future, some enemies may be rendered even while hidden from view. If they make a noise, for example.
I have also decided on the setting for the first “Map” of the game, and completed the terrain file for it. I am thinking of a futuristic fortress on Jupiter’s Moon Europa as a setting. This will provide ample opportunity to test the games mechanics. I have created a simple building model as well. It hasn’t been textured yet, but I am using it to implement and test structures for the game. I intend to implement multi-story structures, and ladders, lifts, etc in the future.
In addition, I have implemented game rules governing the accuracy of grenades, meaning they will not always hit their targets. Grenades are, like all other aspects of gameplay, governed by a complex set of rules, and some random chance, to provide realism and fun to the gameplay.
There is one annoying bug in the network code of the game which I am attempting to track down. Occasionally, when a client joins the server and spawns a team of AI players, the game will crash. The callstack reports the crash occurs in unpackupdate. I am guessing this has something to do with datablocks not being available on the client, but it may take some time to track down.







