August 25, 2008
(Historic Post: August 25th 2008)
Over the weekend some extensive testing was done on the network and the next step towards multi-player game was to create the connection list and move some of the connection things to a different place. The current goals for the week is to get an entry into the multiplayer race state where people can move their cars around. This will not include any type of collision, but should include the ability for the host to supply all the clients with the track so that custom track sharing is supported from the start of this process. Once all the clients have the track the game should start the race, possibly getting the 3… 2… 1… countdown to start displaying correctly. Also once that is done it will be required to balance the faked physics temporarily, this will be done by slowing down the current acceleration rates and turning rates and also making the generator slower and the engine turbo use more power from the battery. This needs to be tweaked to make it actually fun to go around the track although the current physics will be rewritten in time since there is no collisions, and it is totally 100% faked… The car is in space, although there is friction with the ground….
August 20, 2008
(Historic Post: August 20th 2008)
Well, progress has leaped forward over the last week. I actually didn’t do too much development wise, as I have been racing Live For Speed (LFS) far more often than developing RacerX, however that may soon start to change. Going back and looking at some of this code is quite confusing to me, but it also reminds me where my old coding standards were, high. I used to comment about everything, which is very helpful in continuing the development about a year later. Last night I added a small configuration file for the user to use for their name and such – currently it doesn’t save anything however it does load a user-name and uses it. Which eliminates the need to go into the options to type a new user-name each time. Last night also made a gigantic climb with the proof that the voice-over-net system is coming together. Karel and I had an extended conversation back and forth for quite some time. It was due to the TCP connection disconnecting that the sound stopped transmitting before, and also even on TCP connection I did hear Karel last night, however very quite, very brief and not anything spectacular until I changed the voice-over-net to utilize the UDP connection instead of the TCP connection, however I will keep my eye on it. I am starting to trust UDP a bit more as the quality was quite well.
Still a few small issues with the sound though, small sounds may be getting cut off at the end of the sound / not sent altogether or even some long sounds can get cut of at the ends, however Karel mentioned that this could be caused by himself since he is not quite use to using a Push-to-Talk key. Maybe in the future open microphone support could be added, although that could get quite interesting. The current plans are to keep going on the networking base and such. At the moment there are some issues with disconnecting a server once a client has connected to it, also there are some issues with disconnecting in the first place, a disconnection should bring the user back to the Multiplayer Setup state, where they have the option of reconnecting and such. The ability to see a connection list is crucial, as well as the ability to see from whom sound data is being received from. When the Multiplayer Lobby state has the abilities to safely disconnect, show an accurate connection list, chat, voice chat and can handle re-connecting/disconnecting then the focus will become to create the Multiplayer Game state, where the players will simply be placed on a track and hopefully accurately move around, however that is some time from now so development on the connection list and other connection issues must be resolved first.
August 13, 2008
(Historic Post: August 13th 2008)
Well, after nearly a year break it is time to start working on the old RacerX project again. Last night, August 12th 2008, Karel and I successfully got RacerX to connect, VPN to connect and use SVN to allow him to become an official RacerX tester, and also transmitted voice over the internet using RacerX. The current plans are to sort out some other small issues and get more logging information going as well as the user config file which is highly needed. A small console system may prove useful for testing and such although at the moment we will live without it. User config will grow over time but currently it will store the last connected IP, the users name – which also needs to be increased as I noticed I can’t even use blackbird. Eventually I may make a user-name and player-name for the players so that the user-name can never change yet the player-name can. This won’t be for quite some time as I would need a database, and other things for each use and this will only happen if the project is to go somewhere.
As of now there are no plans to keep it strictly the Arcade style combat racer that it was once designed to be. Currently the original RacerX code base will serve as the starting point for testing network programming, both voice and text chat, and moving the “tanks” around. A rudimentary collision system will be added and tested over the internet to see how the game will withstand. Once the project is working over the internet I will make a decision whether or not to keep the original RacerX idea and keep small RC cars in mind as a combat racer, however other thoughts have developed into a more simulation like environment going for realistic physics over anything else.
July 19, 2007
(Historic Post: July 19th 2007)
A long time it has been since the beginning of this project, and I foresee a long time into the
development of the project. I am starting to have some issues with the frame rate. It is incredibly slow, and shouldn’t be. I am in the process of re-organizing some of the code which is going to be another long boring tedious process that is going to drop my morale, actually it already has and I haven’t started yet. Though when it is done the project should run at a better rate of speed. I haven’t done much work on the actual project since the last time I wrote, because of procrastination, but hopefully soon I will get things working. My main goal is to have the game in a playable state by mid August.
A playable state means you can choose tracks, the race setup menu is fully functional and the racing is functional – Laps are counted, Lap times are tracked, Checking Positions Work, and everything except for the weapons… Currently those are still on hold. But Quick-Race and Multiplayer races should be able to be played before the game is deemed playable. I need to get new screenshots up as well since I walls and trees added to a track make the track more interesting.
Once the game is in a playable state, I am going to start working on the physics systems, which basically means working on the collisions. So that when your car hits a tree it will go flying into the spinning frenzy… And the other collisions that need to work to make the game more interesting…
July 7, 2007
(Historic Post: July 7th 2007)
Well this time it hasn’t been so long since the update. But I have a special surprise that all will love: The artificial drivers go around the track! Woohoo! Before you get too excited, they are really slow,
and no competition to a human player, but the point is they drive around and around… (There are some small bugs in the track that can cause them to have issues, but on the standard circular track they are good). And the bug is known for the reason they can get stuck on the other tracks, in the process of fixing it… So I will update again later when other things have changed…
July 4, 2007
(Historic Post: July 4th 2007)
Well I have been doing ALOT of work on RacerX and somethings have been added, well, are in the process of being added. Since the game is a combat-racer I decided to make a voice-chatting system since people won’t want to stop racing to type a message. I can currently record the sounds. I can also play sounds, which was a first for the project and this includes streaming sounds. (For the technically inclined this simply means I am using minimal memory to play the sound). To complete the voice-chatting system I need to send the recorded data to the other players, and make the system be able to deal with lag and other hiccups as the data is received… The only reason I put this on hold is due to my inability to test this on a network as it will have new challenges, and they need to be tested…
I have also been working on the artificial intelligence lately, as I have stated I was going to. Currently I have no noticeable progress but the track has nodes for the AI to follow. These nodes basically store information for each of the computer drivers to know where the road is, so they know where to drive. Hopefully by the end of the week I will have the cars driving around the track (slowly, and colliding through each other since there is no collision right now). So that is my current plan;
get the AI moving!
A few other additions that I need to add would consist of saving and loading the walls and trees that you can add in the LevelEditor, working on the finishing the voice-chatting system, and making the multiplayer lobby allow the players to setup their cars, (as well as letting the host change tracks). Some more information can be displayed to the HeadsUpDisplay as I now have the battery gauge working… That added a boost of excitement, even if it isn’t quite functional yet… hmm. Also some more support is required – keep my attention on the game! Maybe I will actually complete this one, which would be a great accomplishment since no-one is helping me on it…
May 13, 2007
(Historic Post: May 13th 2007)
Well been a long time since my last update, and there really isn’t much to show so there are no new screen shots, and the list of things that have been done since Update 4 is very small. Well actually I have been doing a lot, its just nothing that you can directly see the change. I have been working really hard on the networking side of things and have the ability for clients to connect to the server, and chat with one another. (Techies: This was done by creating a safe layer over the UDP protocol and it seems to be working as planned once the minor bugs were fixed). The majority of my progress was made with how the track stores the trees and objects, as well as each tile can be programmed separately now which was a time consuming process, but will result in more flexibility down the road.
I am putting the multiplayer work on hold until I can finish up the single player RaceSetup and Result screens. For now I am focusing mostly on my level editor as it can still not place trees or walls. When the level editor can handle that I will be hard at work on some artificial intelligence for some computer opponents. That will require a lot of work that won’t be seen for a long time to come as well since I need to structure the track in a way that the AI Drivers can use it efficiently and smartly. Still a lot of work but its been fun.
April 21, 2007
(Historic Post: April 21th 2007)
For those following the RacerX project I’m just updating you on the progress that has not been achieved lately, I’ve been busy with those interviews. I have started working on some networking in the project. And I believe I have support for sending UDP packets safely. (Sorry for those non-techies reading). But it simply means I can send information faster and safer over the network. The project already saw its first over the internet tests, and it seems it has worked; so the light is green for continuing the multiplayer support! Woohoo! Okay, hopefully I’ll be able to work on it tomorrow and Monday and get the multiplayer lobby going. Basically this will allow each player to setup their car, the host will be able to choose a track, and the other players will click accept or ready when they are ready to race. When all the players are ready to race the host will be able to click race. (I am not allowing the project to go into a Racing mode yet), just chatting in the lobby for now. I guess I will keep you updated later during “RacerX Update 5” so stay tuned. Other plans for the near future of the project include: Adding the Car Shop, and ability to choose a track in the Race Setup. (Choosing the track requires a little more work on the Level Editor). Sorry, no screenshots at this time, nothing viewable has been changed : (
April 14, 2007
(Historic Post: April 14th 2007)
Well its been a while since I have been working on my project. But I have some surprises for everyone who is interested. TREES! Wow, the possibility of making the world feel more three-dimensional. Currently the car cannot collide with the trees so instead you fly right through them but the visual effect was worth the effort. Since the trees are transparent they need to be drawn to the screen in a special way. Basically needing to be drawn last and in a special order from farthest away from the camera to the nearest. So I needed to write a function to sort the list of trees. I decided to use MergeSort since it is faster then QuickSort on the worst case, and uses less memory. Though this proved troublesome. Miguel De La Cruz helped me for the last couple of hours debugging the code, reading it carefully and finally I found that I wasn’t adding the trees to the end of the list; instead I was adding them to the beginning of the list… So that was the bug for the day and trees are now on the screen. I plan to work a little more on the interface and possibly networking or physics code shortly.
April 11, 2007
(Historic Post: April 11th 2007)
Well I updated some screenshots of the RacerX project. I now have acouple of in game shots. The first one the car just started moving across the finish line and the second one the car is drifting around the corner. Of course these screen shots don’t show the full effect of the car moving but I wanted everyone to know. There is also a screenshot of the current RaceSetup page. Obviously using place-holder art for temporary purposes but the functionality all works. From the top to the bottom you will be able to select you engine, tires, suspension, weapon, battery and generator for your car. Soon I will make it show the actual parts and with a little more code the ability to use only parts that are unlocked should be implemented. The next thing I am working on is the ability to add trees to the level and then walls. Both of these items will not be collidable at first but the effect of them in the game will make more immersive.