Wednesday, August 26, 2009
at
9:42 PM
|
After countless hours of sleepless nights, I finally got it going! Smoothed network physics simulation will little noticeable jerks. Yay! However, this is only for the LAN. I'm not sure how it will fare with the internet where latency isn't our best friend.
It took me a while to figure out that I had to synchronize the physics time frame and not the system time frame. Top that off with bad timing for the network syncing right after physics simulation was done, I was having a lot of headache beating around the bush for naught! Sheesh...
Aside from this, I'm having issues with float compression. Somehow it's giving weird values that leaps all over. Probably something wrong with the way I compress and decompress. While on this, I wonder if I should have some way to mark significant objects for non compression mode? How does other games normally does it anyways? Do they like make important objects like controlling player to always sent in non compressed mode while other non controlling objects get compressed mode?
Saturday, August 22, 2009
at
3:39 AM
|
Friday, August 14, 2009
at
9:12 AM
|
Started working on some sunken ships which players can view along the tracks.

Wednesday, August 12, 2009
at
5:59 PM
|
Finally something worth blogging. I've got the game networking with input syncing working like a charm. Yahoo! Looks like my action system is doing a fine job. :)
Right now I've all client players sit as observers on the server's craft. While the server is controlling, the clients get the input as well. However, since I've yet to do any entity syncing, the craft on the client screens start to steer off into parallel dimensions. lol.
Either way, it's nice to see that my hard sweat Action system is working like a charm. Very excited now. :P Entity syncing here I come!
P.S. Sorry, no pics for networking. I can't think of any creative way to represent them with pics anyways.
Friday, July 31, 2009
at
3:47 AM
|
I got this link from my sensei classifying our company business model as the Ramen Profitable. Rather funny name. So now we're noodle shop guys. lol http://paulgraham.com/ramenprofitable.html
On the side note, I've just managed to get two PC linked together and entering the game. No game syncing yet. That's to be done after this. :)
While getting this done, I implemented a system I called delayed sync messaging. This system basically utilizes the time sync method I mentioned here. The concept behind this system is so that one can accurately synchronize a particular event that needs accurate triggering. For example, the beginning of the race, count down should be as synchronized as possible so client don't get a laggy start.
When dealing with this type of events, the only caveat is that the server side also have to synchronize with the client side. This means that the event has to be delayed as much as possible as such that all clients will get the request before it is triggered.
In a LAN environment, this usually isn't much of a problem because the ping rate is rather high; less than 1ms to 10ms. However, in the Internet scale, latency can go as high as 500ms to 1500ms or more. In that situation, time syncing becomes a necessity to accurately identify the server time.
I haven't really tested the time syncing algo I've implemented in the Internet environment yet. However, in theory, it shouldn't go wrong.. I hope... :-P
Sneak Peak:
 Don't mind the UI. It's just programmer art to keep me going. ;-)
Saturday, July 18, 2009
at
12:03 AM
|
Ah.. time sure flies. Just to update, I had been busy putting a working network prototype together.
While doing so, I've also did some research on scripting to ease up game logic coding later. I was thinking of using V8 at the beginning. However after digging it through, I realised that it was designed to only run on a single thread (Google Chrome is designed as a multiprocess app instead of multithreaded app). So in the end, I'm back to square one of using Angel Script. It looked like it has evolved since my last use for it when I was still in my previous game company.
P.S. I did look at spidermonkey too. But getting from their source tree is a little troublesome with my ever so crappy always disconnect ISP. So I dropped it. Mercurial really sucks without the auto resume feature.
Friday, June 19, 2009
at
1:26 AM
|
Here's a multi phong material test for a submerged building overrun with coral and other sea plant life.

Close up on the building surface. Includes parallax and ambient occlusion map. 
More buildings... 
|
Liquid Rock Games and Project Aftershock. All Rights Reserved.
|