|
 |

| Development |
This game is entirely written in VB 2005 (or VB.NET). It's a quick platform that does everything I need it to. This game is not heavily graphical (although the systems should look nice). The graphics engine just needs to concern itself with rendering the system nicely once per change, not one per frame. When a ship moves or something happens to a planet etc, then the system will redraw.
Most of the coding is server side in this game. The player will not hold a local copy of the Universe play area. Each system will be served to the player as and when they are needed. For redundancy, the player WILL save a local copy of systems they have visited, for analysis during play without wasting time serving a system twice to the same player.
The server will keep track of all stats and states of all players, and distribute them accordingly. This method will hopefully allow me to update the game without having to have every user download a new client EXE all the time. I've already foudn this useful in the chat client I've made. A few tweaks here and there and the server had a whisper system in place - no client change was needed. Hopefully this methodology will keep me on track.
Developers Blog
Add Entry |
Monday, February 18, 2008
Well, after a loooooooooong time off from this project I've done a little work on it, and I'm beginning to hack into the next hurdle for it. The stumbling block was a player registration and data control system. Now the server will record player stats and supply them to the user. The Client now displays starsystems WITH users in them (if present). This is the beginnings of allowing the players to move around the universe and see each other move.
The goal is to have the server do as much of the work as possible. The client merely requests information and displays it. With this system there is no possibility of any kind of cheating. The universe is encrypted (so no possibility of hacking into it) and now all stats about players and the like are kept on the server.
Next I have to flesh this system out a little, allowing the player to setup their ships as they want and then go for a roam. The server will have to keep track of player movements and update each client should a new ship enter their system (or move within the system).
The short term goal is to have players able to move around, see other players move around and all use the chat system built into the game.
Mid term goals are:
laying down rules for moving around and allowing attacks on other players.
coding in NPC ships that do the same (when the server isn't busy).
putting starbases in and the like to resupply the universe
Long term goals:
allow universe editing (to name planets)
populate universe with data to explore
design a mission system and XP system
Thursday, August 09, 2007
Been working on yet another ancilliary app for the game - this time a Name Generator. The basic idea is this:
Take a big list of names
Analyse for structure in terms of vowels and consonants
Analyse probablility of all letters that are in the list
Analyse probability of double letter combinations from AA AB AC AD to ZZ
Generate a random name from a valid vowel-consonant structure
Calculate 'fitness' of name based on probabilities of letters and letter combinations
As the app generates names, if it uses a double letter combination that has only appeared a few times in the whole list - like 'wq' for example - then it disallows these names. I can tweak the 'acceptance' value up or down to tweak the list as necessary, and then sort the images by overall 'fitness'. With A and E being the most used letters, they tend to float to the top of the list, so LAA and ERRAANI are possibly high scorers.
It seems to work well and I can supply it with different lists. here are some generated from a massive list of surnames:
OOLTI
YOBUZ
AIRA
YOBONT
OROS
ONOHO
ISIMI
I'll be using this app to pre-generate names for planets, stars, (possibly) NPC captains and mission objects in the game. It can generate thousands so I don't think I'll run out of them. Screenshots and the app for download is as ever on the TGU forums:
http://www.thegamingunion.co.uk/forums/showthread.php?t=14944
Monday, August 06, 2007
I've done the graphics for the playable races today:
Playable Ships Image
Now that I've got some ships, I can build the section of the game where you select your race and ship to play with which can be saved server side, so that when you log on again, your ship is ready saved for you. That leads me into making a 'universe' of player controlled ships server side that can be added onto the star system graphics and served to players when anyone moves in a system. Once linked to a move function, the ships are moving around the universe and everyone is seeing it.
THAT is a first playable game really, where you can fly around and see others fly around, and chat/whistper while you do it. After that I can build in weapons, damage control and other funky systems.
Then comes a complex part to the game - I have to make a proper playable universe with bases for every side, and nice beautiful 'hero' star systems. This is the prototype real game universe. The map making app I have made should allow me to do this well.
Then the really complex bit - build in the mission system. It's going to be based on WoW, where you have to find objects and take them somewhere. You might be able to bypass this by finding them outright but without the knowledge of where to take it you're a bit stuck (thats a downside. the upside is that you can trade it. I might make a 'trade' channel where users can offer and sell/buy goods even)
So I'll need to sit down and write a hell of a lot of mission templates, and then the actual text for the templates, like "You have found the jewel of Thessia. you must transport it to Straleb and hand it to the rightful owner of the jewel", with code to backup what these things are and where they are from/going.
Hopefully I can make the system dynamic, so that I just add in new missions but the game server decides where to put them and when - like when a player finds a new planmet and scans it for a mission or whatever - it can just give a blank one from the list, meaning that whereever you go there should always be missions - in all of the 4 million star systems. Some will obviously have to be generic and computer generated but I hope I can make them varied enough to be useful and non-repetitive.
Then it's almost a working game! Add in a points system and some base building/destroying and it's almost there.
The last thing to build in I think is the NPC ships - lots of them so that even playing on your own you get some action. Have to think of some quick AI for that one.
This is the current dev roadmap ahead of me so far
Sunday, August 05, 2007
I've been working on the playable races today. I don't want so many as to make it a mess, but enough to cope with mods to other universes. Here are my proposed trek TOS races -
Starfleet
Klingon
Romulan
Andorian
UFP General ship
Galactic Association of Free Traders
Tholain
Pirate
This will give enough styles of play to be interesting - you can be on the front line or you can play as a trader, avoiding fights in favour of finding mission items for other players and exploration. Pirates will generally be aligned with the klingons and romulans, whereas UFP ships will generally be aligned with Starfleet and the Andorians. Free Traders are essentially neutral along with the Tholians - it will not be beneficial to attack either of these races (in fact, it will be detrimental) and so these can go where they like hopefully with little hassle. They can also trade in information on other races via scans etc - or simply info via chat :)

Monday, July 23, 2007
I did a lot of testing on the shield display today. I was thinking about a directional display, so you could have failing rear shields for example, but I concluded that shield management would become too tricky - diverting energy to rear shields etc. I've settled on a simple display. The shields will have 2 factors - how capable they are and how much you charge them up. Trek has always been vague as to shield usage. When they say 'Shields down to 20%' do they mean that the energy has been drained or the capacity is gone? I'm using both, so after a hit you're shields might only be 80% effective until they are repaired, but you can charge them at 50% strength (an effective 40% shield in this case) or any other value. The shield is changed by a simple slider. On the homepage I now have a 'wip of the moment' screenie at the end which shows the shields in use.
Wednesday, July 18, 2007
I've done some more work on the login and account registration systems. It's now much cleaner and better integrated into the main app's finalised state. I've also worked more on the port selection system so that it remembers your port if you want it to, and you can select a custom port for your system to work on. Overall a few hours for very little 'external' progress, but it's coming together behind the scenes.
Sunday, July 15, 2007
Client now asks for and receives systems from the server. You can now fly around from system to system having a look at things. Next on the list is to build a complete player profile on the server side for the clients to use, so I can put ships on 'top' of the universe and serve them to the client. Then I need to link that into the client so that they can fly around the individual star systems.
I came across an annoying bug in this today, where if the client hadn't finished receiving data but began to draw the system then it would get stuck in a loop. I still don't know why it happens so I worked around it. The client now waits for all messages to be processed before it draws or re-draws the system. This seems to have solved it for now and I hope that proper game traffic won't result in a lag-poor display experience.
I guess it wouldn't be so hard after that to give ships weapons and be able to go around blowing each other up :)
Saturday, July 14, 2007
The client now displays systems as well, and I've started work on the GUI. There's a LOT to fit in here, and I'm going with a 1024X768 standard window format. I'm heavily using tabs as a means to have a lot of info on screen. This is a good choice as in game we would typically only focus on one thing at a time - weapons/navigation/trading/sensors etc. I've grouped them logically and this is almost ready to ask the server for systems and the server give them back. This layout is basically what you would be looking at when playing the game.
Still a long way to go before it's a playable game with depth, but it's getting there.
Thursday, July 12, 2007
I've done a lot of work on the server today:
Loads the encrypted Universe
Loads the theme textures
System selection works
System rendering works
Logging and debugging functions working
Beautification of GUI by adding tabbed controls
So now the server has all it needs to load the universe and display it. The server won't do THAT much displaying, but if I see something interesting going in in the game I can go and have a look. This also will be my 'God' mode, where I can select objects and move them about. These movements and changes will be visible by the players. Might be fun to be Q once in a while and send a player off into the distance, or move planets/stars around.....
Thursday, July 12, 2007
I've written a script for the website so that I can input blog entries easily via the net, anywhere. Works very well so that's all good so far. Saves me editing web pages manually and I can concentrate on the game a little more.
Thursday, July 12, 2007
Client now checks it's version against the server and won't logon unless they match
Client username and password has to be registered on the server to log on. Encrypted text use on client side.
Client can register on the server, checking availability of usernames as it does so
Client saves registration info locally, in an encrypted file. This is the beginnings of the local 'profile' file for the user
Server side has been coded to authenticate and allow these commands
|
|