tag:blogger.com,1999:blog-22950984884493495812024-03-05T13:59:29.869-08:00Liquid Rock Games Dev BlogPrometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.comBlogger143125tag:blogger.com,1999:blog-2295098488449349581.post-59788780239291966222012-06-20T01:08:00.000-07:002012-06-20T01:09:19.579-07:00Project Aftershock is now known as TrackVerse!<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.liquidrockgames.com/wp-content/uploads/2010/12/trackverse_LRG.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="80" src="http://www.liquidrockgames.com/wp-content/uploads/2010/12/trackverse_LRG.jpg" width="320" /></a></div>
<br />
Hey guys, just to let you know that Project Aftershock is now known as TrackVerse (<a href="http://trackverse.net/">http://trackverse.net</a>) !Download the early alpha build from the website and start building your own dream tracks!<br />
<br />
Follow the official TrackVerse FB page for dev updates: <a href="https://www.facebook.com/Trackverse">https://www.facebook.com/Trackverse</a><br />
<br />
<div class="field field-name-body field-type-text-with-summary">
TrackVerse (short for Track Universe) is a game about
building your own dream tracks and racing on them with friends. Build
tracks from different building block themes and each theme will have its
own set of matching vehicles/crafts to choose and customize from.<br />
Customize your own racing gameplay rules to make your own race
experience unique! Currently in alpha stage version 0.1, TrackVerse is
still a work in progress with many more updates and theme packs coming
along the way and does not in any way represent the final quality or
polish. What you see is what you get. Feel free to provide feedback on
helping us improve the game.<br />
<br />
<b>Currently available theme packs:</b><br />
<ol>
<li>City theme pack</li>
<li>Post apocalyptic theme pack</li>
<li>Cartoon theme pack</li>
<li>Sunken city theme pack</li>
</ol>
<br />
<b>Future theme packs</b>:<br />
<ol>
<li>Sci-fi city theme pack</li>
<li>Canyon theme pack</li>
<li>Industrial theme pack</li>
<li>Jungle theme pack</li>
</ol>
<br />
Each theme packs are currently work in progress and more building
blocks will be added to each of them as part of our future updates.</div>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com0tag:blogger.com,1999:blog-2295098488449349581.post-77517720468160264132010-12-17T09:34:00.000-08:002010-12-17T09:38:33.455-08:00New LRG website update and blogHi guys,<br /><br />Just to update everyone that we've updated the new Liquid Rock Games website (<a href="http://www.liquidrockgames.com">http://www.liquidrockgames.com</a>) and moved our blog to Wordpress.Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com0tag:blogger.com,1999:blog-2295098488449349581.post-25797125346902493472010-12-13T20:33:00.001-08:002010-12-13T23:53:00.801-08:00Word Zen Unlimited released!We have just released Word Zen Unlimited for USD 2.99 !<br /><br />Features:<br />* Advertisement free! No advertisement pop ups for Word Zen Unlimited.<br />* Save and continue your game anytime you like and upload your high scores later.<br /><br />Purchase available here:<br /><a href="http://www.slideme.org/application/word-zen-unlimited">http://www.slideme.org/application/word-zen-unlimited</a>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com3tag:blogger.com,1999:blog-2295098488449349581.post-10483842766866285152010-12-02T08:27:00.001-08:002010-12-02T08:27:56.864-08:00Word Zen ver 1.1 updateHi guys,<br /><br />We have just updated Word Zen to version 1.1. <br /><br />Changes include:<br />1. Fix bug on ad buttons not showing correctly.<br />2. Apk install now installs to SD for froyo.<br />3. Solved certain input not responding issues.<br />4. Added return button to exit app in main menu.<br /><br />Download the updated version from the official Word Zen website: <a href="http://wordzen.liquidrockgames.com/">http://wordzen.liquidrockgames.com/</a>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com0tag:blogger.com,1999:blog-2295098488449349581.post-15317087594103788092010-11-30T15:16:00.000-08:002010-11-30T15:19:48.112-08:00Word Zen Gameplay VideoCheck out the Word Zen gameplay in action :D<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/otlhLsAHMOU?fs=1&hl=en_US&hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/otlhLsAHMOU?fs=1&hl=en_US&hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com0tag:blogger.com,1999:blog-2295098488449349581.post-72850601213647147672010-11-29T06:32:00.000-08:002010-11-29T06:33:49.946-08:00Tips to increase score count in Word ZenSome tips on how to rack up scores in Word Zen quickly:<br /><br />1. Make plural words.<br />2. Destroy obstacle tiles whenever possible by making them fall 2 tiles as they produce the most points.<br />3. Use shuffle often !<br />4. If you're stuck in the bonus round, click on the Pass button to skip to the next puzzle fast !<br />5. Know your 2 letter words such as: AD, AH, AR, AW, BI, ED, EF, EH, EL, EM, EN, ER, ES, EX, FA, HA, HM, HO, LA to name a few.<br />6. Know your 3 letter words such as: GEE, WEE, TEE.<br />7. Common word endings to include are: -ING, -ED, -ER, -IER, -IEST, and -IES.<br /><br /><a href="http://www.liquidrockgames.com/forums/viewtopic.php?f=13&t=87&sid=d6682ca701ba07b79a0956673a63f7af">Visit the official forum for more tip updates!</a>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com0tag:blogger.com,1999:blog-2295098488449349581.post-5630154840140797452010-11-27T20:21:00.000-08:002010-11-27T20:23:43.715-08:00Alternative download links for Word Zen.Besides the official Android marketplace, Word Zen is also listed and available for download from these following sites:<br /><br /><a href="http://www.appbrain.com/app/word-zen/com.liquidrockgames.wordzen">http://www.appbrain.com/app/word-zen/com.liquidrockgames.wordzen <br /></a><br /><a href="https://www.slideme.org/application/word-zen">https://www.slideme.org/application/word-zen </a><br /><br /><a href="http://android.handster.com/word_zen.html">http://android.handster.com/word_zen.html <br /></a><br /><a href="http://andappstore.com/AndroidApplications/apps/Word_Zen">http://andappstore.com/AndroidApplications/apps/Word_Zen </a>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com1tag:blogger.com,1999:blog-2295098488449349581.post-56809392471445928512010-11-27T09:10:00.000-08:002010-11-27T09:13:42.466-08:00Word Zen Reaches 1000 downloads in 24 hours!Thanks guys for the support ! For those who has not tried out Word Zen yet, get it from the official website. :D<br /><br /><a href="http://wordzen.liquidrockgames.com/">http://wordzen.liquidrockgames.com/</a>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com0tag:blogger.com,1999:blog-2295098488449349581.post-71301910626190122202010-11-26T01:10:00.000-08:002010-11-26T01:14:10.027-08:00Word Zen - Android Word Puzzle GameHurray its finally finished! Liquid Rock Games is proud to present Word Zen for Android phones and tablets. :D<br /><br />Official Word Zen website: <a href="http://wordzen.liquidrockgames.com/">http://wordzen.liquidrockgames.com/</a><br /><br /><span style="font-weight:bold;">About Word Zen</span><br />Word Zen is a simple yet addictive word puzzle game from Liquid Rock Games with a relaxing zen-like theme which will appeal to players looking to test their word vocabulary.<br /><br />With thousands of official crosswords words to form from, the possibilities are endless!<br /><br /><span style="font-weight:bold;">Features:</span><br />* Swipe letter tiles in any direction to form new words!<br />* Over 100,000 words to solve as seen in official crossword games!<br />* Global leader boards for players to update their scores and to compete for world ranking.<br />* Use special tiles to your advantage and form new strategies.<br /><br /><span style="font-weight:bold;">Screenshots:</span><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img220.imageshack.us/img220/3702/screenshots0275pct.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 360px; height: 641px;" src="http://img220.imageshack.us/img220/3702/screenshots0275pct.jpg" border="0" alt="" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img44.imageshack.us/img44/749/screenshots0175pct.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 360px; height: 641px;" src="http://img44.imageshack.us/img44/749/screenshots0175pct.jpg" border="0" alt="" /></a>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com2tag:blogger.com,1999:blog-2295098488449349581.post-48934756950103704872010-10-27T00:58:00.001-07:002010-10-27T01:13:59.995-07:00Physics Data Format ReconstructionOver the past week I've been doing a major surgery on the core Solid State Engine to restructure our physics data format especially on the batching front. Due to the requirement of invisible physics meshes for certain simulations in Aftershock, I had to fix this long overdue feature. Previously, batched meshes from our editor are forced to be static physics meshes thus allowing us to do precise world collision. However, there are times when we don't require such precision or when we want an invisible wall to keep things within a boundary.<br /><br />Being so, I've redesigned the internal batching architecture to take into consideration of invisible physics meshes. To improve efficiency, I made a new file format to define physics meshes which can both be exported from Blender3D or from our world editor.<br /><br />After all said and done, a major surgery can be quite an issue. Unexpected bugs started to emerge all over the place. I've probably fixed about 20+ of them already. There's still some more to go at the moment. At any rate, with this new change, our fellow artists will need to reexport their prefabs to the new format. Fortunately scene structure still remains the same. So it's not too big a deal. On the plus side, we get a much more well defined physics system and a more efficient file format. In the process, I've also removed the need of physics definition files for visible static meshes. This will cut down a massive load of unnecessary files which would lower our level file size! Yeay!<br /><br />Ok. Back to debugging and get this work ASAP. Major surgery sucks. *_*Lf3T-Hn4Dhttp://www.blogger.com/profile/13890814226944911772noreply@blogger.com0tag:blogger.com,1999:blog-2295098488449349581.post-39449016474607729012010-10-14T12:04:00.000-07:002010-10-14T12:05:08.942-07:00Grapple With Animation Revision 2Updated the grapple machine with 2 rotating rings.<br /><br /><object width="600" height="300"><param name="movie" value="http://www.youtube.com/v/zGQbNq4p_zE?fs=1&hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/zGQbNq4p_zE?fs=1&hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="300"></embed></object>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com2tag:blogger.com,1999:blog-2295098488449349581.post-7085626968032161382010-10-07T10:14:00.001-07:002010-10-07T17:33:01.065-07:00Disruptor Weapon FX testVery early weapons FX test for the disruptor weapon.<br /><br /><object width="600" height="300"><param name="movie" value="http://www.youtube.com/v/-QLrujS93Us?fs=1&hl=en_US&hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-QLrujS93Us?fs=1&hl=en_US&hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="600" height="300"></embed></object>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com1tag:blogger.com,1999:blog-2295098488449349581.post-76827151237221178952010-09-25T03:52:00.000-07:002010-09-25T06:59:34.774-07:00Effects SystemWow, this blog post is long overdue. The past few months had been a rather busy month for me. I had to juggle between a few projects which saw work on aftershock slowed down to a crawl.<br /><br />However, I'm now back to speed. :-D<br /><br />So today I'm going to talk about our effects system. The effects system has been in my head for a long time. I had been doing lots of thinking through making sure that my idea was sane and useful. I'm rather proud to say that the effects system is very well capable of complex effects that combines lighting, particles, ribbon trails and even animations.<br /><br />The idea was not a revolutionary one though. What I came up with was a node graph system to define a behavior of a given effect. Imagine blender's material node system but instead of applying on materials, we apply on entities. If you're quick to notice, this idea is pretty much a high level primitive scripting system. Only that instead of using scripting, we build nodes. One could also think of it as shader nodes for effects.<br /><br />However, to keep things simple, I omitted conditional nodes and forced all value type to be float. Hence we only have float, float2, float3 and float4 value type.<br /><br />Bellow is an example of how a flickering light effect can be described with the node system:<br /><br /><center><img src="http://img22.imageshack.us/img22/5808/lightflickereffectexamp.png" /><br />Figure 1 - Flicker Light Effect Example</center><br /><br />To aid the ease of node building, I've also made the node system do auto conversion between the defined types. This mainly means single float can be easily converted automatically to multi float type. Any other combination is not possible as that would be ambiguous as shown bellow:<br /><br /><center><img src="http://img842.imageshack.us/img842/254/nodevalueautoconvertion.png" /><br />Figure 2 - Value Type Auto Conversion</center><br /><br />Adding on top of that, I've allowed nodes to support multiple slot mode. This is similar to the method overloading of C/C++. The only difference is that the number of input/output slot must retain the same. Only the value type can be different. With this, depending on how the node graph is linked, my node compiler will use the best fit mode for any node processing.<br /><br />Bellow is an example of how it would work given a mock up node graph scenario:<br /><br /><center><img src="http://img841.imageshack.us/img841/6687/nodemultislotmodeexampl.png" /><br />Figure 3 - Multi Slot Mode Use Case Example</center><br /><br />So why do we need this? This is very useful for primitive operations for example Addition, Subtraction and Multiplication nodes which requires different input and output value types for all possible combination.<br /><br />Once the effect node graph is defined, we can simply bind them to entities that demands the given effect. :-) Obviously the whole implementation and design is much more complex compared to this. However I felt the node graph idea to be most interesting to report about. Imagine the possibilities of extending this into animation systems which interestingly is very similar to the animation blend tree idea.<br /><br />Oh yeah, one nice effect of the node system is that when designed carefully, we can reuse the compiled node graph on all instance of the same effect in the scene. Also, if written properly, this is actually much more optimal compared to using a scripting engine which I personally feel should be left to handle less CPU intensive logic like game rules.<br /><br />There, I hope this is long enough to justify for my lack of blog post. I will put up some programmer art effects video <span style="font-style:italic;">if possible</span> when I get the effects system running and tested. As of now, I already have the node graph system and entity binding in place. However, I've yet to deal with all the possible node types I planned to add to allow complex effects. Still, having the base system means we're pretty close to a complete effects system already. So stay tuned. ;-)Lf3T-Hn4Dhttp://www.blogger.com/profile/13890814226944911772noreply@blogger.com2tag:blogger.com,1999:blog-2295098488449349581.post-49745082811742417302010-09-23T02:06:00.000-07:002010-09-23T16:32:51.325-07:002nd Craft UpdateFinally another update after a long holiday and some projects and it's back to Aftershock :D<br /><br />Shown here is an in game shot of the 2nd craft in progress.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img201.imageshack.us/img201/9369/craft21.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 420px; height: 251px;" src="http://img295.imageshack.us/img295/5545/craft21thumb.jpg" border="0" alt="" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img69.imageshack.us/img69/8134/craft22.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 420px; height: 251px;" src="http://img375.imageshack.us/img375/6319/craft22thumb.jpg" border="0" alt="" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img3.imageshack.us/img3/5244/craft23.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 420px; height: 251px;" src="http://img42.imageshack.us/img42/7430/craft23thumb.jpg" border="0" alt="" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img714.imageshack.us/img714/7483/craft24.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 420px; height: 251px;" src="http://img685.imageshack.us/img685/719/craft24thumb.jpg" border="0" alt="" /></a>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com4tag:blogger.com,1999:blog-2295098488449349581.post-85616526368279238892010-08-17T09:50:00.000-07:002010-08-17T09:51:23.794-07:00another project completed...Phew...sigh of relief upon completion of another project for a client. :D Time for some rejuve and then its back to Aftershock ! >:)Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com3tag:blogger.com,1999:blog-2295098488449349581.post-38417159427511566112010-06-27T11:18:00.000-07:002010-06-27T11:20:07.481-07:00Updated powerupDecided to go for simpler icon looks for the powerups which players can pick up along the tracks as the older powerups were harder to identify from afar.<br /><br />Here's a sample rocket pack powerup.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img84.imageshack.us/img84/4430/rocketh.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 400px; height: 300px;" src="http://img84.imageshack.us/img84/4430/rocketh.jpg" alt="" border="0" /></a>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com1tag:blogger.com,1999:blog-2295098488449349581.post-70960338685490863882010-06-22T14:09:00.000-07:002010-06-22T14:11:04.649-07:00Outdoor Test Scene Vid<span>Small real time outdoor test scene to test paging geometry as well as our new water shader materials. Several future wish list improvements include more material blending for terrain surfaces. Further stress tests and optimizations for dense foliage systems needed.</span><br /><br /><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/ikpL1qO2bfY&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ikpL1qO2bfY&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com9tag:blogger.com,1999:blog-2295098488449349581.post-80449631709006108352010-06-12T19:37:00.000-07:002010-06-12T19:49:02.944-07:00SSAO updateMore screenshots on our SSAO implementation. This time with all textures+lighting+post processing on.<br /><br />Image01 Before SSAO<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img808.imageshack.us/img808/788/image01before.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 300px; height: 150px;" src="http://img808.imageshack.us/img808/788/image01before.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br />Image01 After SSAO<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img46.imageshack.us/img46/5041/image01after.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 300px; height: 150px;" src="http://img46.imageshack.us/img46/5041/image01after.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br />Image 02 Before SSAO<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img24.imageshack.us/img24/112/image02before.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 300px; height: 150px;" src="http://img24.imageshack.us/img24/112/image02before.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br />Image 02 After SSAO<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img580.imageshack.us/img580/9328/image02after.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 300px; height: 150px;" src="http://img580.imageshack.us/img580/9328/image02after.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br />Image 03 Before SSAO<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img41.imageshack.us/img41/2691/image03before.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 300px; height: 150px;" src="http://img41.imageshack.us/img41/2691/image03before.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br />Image 03 After SSAO<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img541.imageshack.us/img541/4047/image03after.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 300px; height: 150px;" src="http://img541.imageshack.us/img541/4047/image03after.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br />Image 04 Before SSAO<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img31.imageshack.us/img31/6691/image04before.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 300px; height: 150px;" src="http://img31.imageshack.us/img31/6691/image04before.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br />Image 04 After SSAO<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img31.imageshack.us/img31/4999/image04after.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 300px; height: 150px;" src="http://img31.imageshack.us/img31/4999/image04after.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br />Image 05 Before SSAO<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img63.imageshack.us/img63/6470/image05before.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 300px; height: 150px;" src="http://img63.imageshack.us/img63/6470/image05before.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br />Image 05 After SSAO<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img21.imageshack.us/img21/1859/image05after.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 300px; height: 150px;" src="http://img21.imageshack.us/img21/1859/image05after.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br />Image 06 Before SSAO<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img576.imageshack.us/img576/2152/image06before.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 300px; height: 150px;" src="http://img576.imageshack.us/img576/2152/image06before.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br />Image 06 After SSAO<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img535.imageshack.us/img535/2844/image06after.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 300px; height: 150px;" src="http://img535.imageshack.us/img535/2844/image06after.jpg" alt="" border="0" /></a>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com0tag:blogger.com,1999:blog-2295098488449349581.post-42468574050023695072010-06-11T12:03:00.000-07:002010-06-11T12:05:41.459-07:00Mine Powerup TrapTouch this powerup and several mines spawn on the track within the area.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img188.imageshack.us/img188/8241/minepowerup.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 400px; height: 230px;" src="http://img188.imageshack.us/img188/8241/minepowerup.jpg" alt="" border="0" /></a>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com0tag:blogger.com,1999:blog-2295098488449349581.post-65353568462042892832010-06-10T22:58:00.000-07:002010-06-10T23:00:35.224-07:00Missile pack powerupJust completed this missile pack powerup to replenish those used missiles.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img3.imageshack.us/img3/7333/missilepack.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 230px;" src="http://img3.imageshack.us/img3/7333/missilepack.jpg" border="0" alt="" /></a>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com0tag:blogger.com,1999:blog-2295098488449349581.post-47343013017093711492010-06-10T10:12:00.000-07:002010-06-10T11:27:40.531-07:00Screen Space Ambient Occlusion !Oooh yeah. Left-Hand just added in screen space ambient occlusion (SSAO) to our Solid State Engine. Now all added details such as normals really POP out ! >:)<br /><br /><span>Image01: Without Screen Space Ambient Occlusion (BEFORE)</span><br /><a style="font-weight: bold;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img340.imageshack.us/img340/2078/withoutssao01.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 400px; height: 250px;" src="http://img340.imageshack.us/img340/2078/withoutssao01.jpg" alt="" border="0" /></a><br /><br /><span style="font-weight: bold;"><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></span><span>Image01: </span><span>With Screen Space Ambient Occlusion (AFTER)</span><br /><a style="font-weight: bold;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img638.imageshack.us/img638/3311/withssao01.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 400px; height: 250px;" src="http://img638.imageshack.us/img638/3311/withssao01.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><span>Image02: </span>Without Screen Space Ambient Occlusion (BEFORE)<br /><a style="font-weight: bold;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img155.imageshack.us/img155/6981/withoutssao02.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 400px; height: 250px;" src="http://img155.imageshack.us/img155/6981/withoutssao02.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><span>Image02: </span>With Screen Space Ambient Occlusion (AFTER)<br /><a style="font-weight: bold;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img231.imageshack.us/img231/7673/withssao02.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 400px; height: 250px;" src="http://img231.imageshack.us/img231/7673/withssao02.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><span>Image03: </span>Without Screen Space Ambient Occlusion (BEFORE)<br /><a style="font-weight: bold;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img707.imageshack.us/img707/9880/withoutssao03.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 400px; height: 250px;" src="http://img707.imageshack.us/img707/9880/withoutssao03.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><span>Image03: </span>With Screen Space Ambient Occlusion (AFTER)<br /><a style="font-weight: bold;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img21.imageshack.us/img21/4088/withssao03.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 400px; height: 250px;" src="http://img21.imageshack.us/img21/4088/withssao03.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><span>Image04: </span>Without Screen Space Ambient Occlusion (BEFORE)<br /><a style="font-weight: bold;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img535.imageshack.us/img535/5599/withoutssao04.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 400px; height: 250px;" src="http://img535.imageshack.us/img535/5599/withoutssao04.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><span>Image04: </span>With Screen Space Ambient Occlusion (AFTER)<br /><a style="font-weight: bold;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img535.imageshack.us/img535/4427/withssao04.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 400px; height: 250px;" src="http://img535.imageshack.us/img535/4427/withssao04.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Image05: Without Screen Space Ambient Occlusion (BEFORE)<br /><a style="font-weight: bold;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img811.imageshack.us/img811/3894/withoutssao05.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 400px; height: 250px;" src="http://img811.imageshack.us/img811/3894/withoutssao05.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />Image05: With Screen Space Ambient Occlusion (AFTER)<br /><a style="font-weight: bold;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img28.imageshack.us/img28/1724/withssao05.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 400px; height: 250px;" src="http://img28.imageshack.us/img28/1724/withssao05.jpg" alt="" border="0" /></a>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com5tag:blogger.com,1999:blog-2295098488449349581.post-27348583649976179062010-06-06T02:27:00.000-07:002010-06-06T02:28:19.489-07:00Ammopack powerup FX testEarly stage ammopack powerup FX test.<br /><br /><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/M0U_hElLA8M&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/M0U_hElLA8M&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com1tag:blogger.com,1999:blog-2295098488449349581.post-49699820390480165762010-06-04T10:27:00.000-07:002010-06-04T11:22:29.869-07:00Network frenzyJust a day before I tried back network play of aftershock and to my dismay the jittering issue came back. I thought I had nailed it but apparently I did not. So I delved more into the design of my code and did tons of debugging again. After a few test cases, I finally found out the issue. It was two fold.<br /><br />Firstly, there was an issue where my client side's simulation was shifting farther and farther away from the server's simulation due to time discrepancies between both systems. Secondly, my camera simulation code was not entirely in sync with the physics simulation code when applying frame smoothing.<br /><br />After some tinkering, I managed to fix both issue. For the first issue, I kept a 5 frame buffer of frame latency to get the average latency across snapshots. From there, I use it to cap the frame difference between the current physics frame and the given server physics frame.<br /><br />Now everything works like a charm and no more jittering from my test case. In fact it's so smooth compared to my last work that I'm mightily proud of it! :-) I do know that I'm not revealing much of how I did my network syncing here. I'm rather busy working on many things right now. But I promise I'll put up a post with some diagrams some time later to explain the approach I used. In short it's what Gaffer suggested for the server client approach though like I found out as I did this, it's not as simple as it sounds. There's slightly more to it than just sync and smooth.<br /><br />Aside from that, I wish that bullet provides a proper method for me to selectively simulate a group of rigid bodies. This would help a lot for the prediction simulation after snapping of server update state; we don't want to end up wrongly simulating non networked local rigid bodies or non important rigid bodies that are not part of the network update snapshot.Lf3T-Hn4Dhttp://www.blogger.com/profile/13890814226944911772noreply@blogger.com3tag:blogger.com,1999:blog-2295098488449349581.post-89894543848781815322010-06-02T21:10:00.000-07:002010-06-02T21:17:18.636-07:00Solid State Engine logoDecided to work on our new Solid State Engine logo which is responsible for all the visual goodness which is seen in Aftershock.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img69.imageshack.us/img69/5695/solidstateenginesplashs.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 500px; height: 260px;" src="http://img69.imageshack.us/img69/5695/solidstateenginesplashs.jpg" alt="" border="0" /></a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />The 2 gears in the center represent our engine's earlier loading screen :D created by Lih-Hern.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img16.imageshack.us/img16/2106/gearsm.jpg"><img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 300px; height: 200px;" src="http://img16.imageshack.us/img16/2106/gearsm.jpg" alt="" border="0" /></a>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com1tag:blogger.com,1999:blog-2295098488449349581.post-82423988768359873412010-06-02T04:28:00.001-07:002010-06-02T08:14:03.696-07:00More lighting fun !I could not resist playing with our new semi-deferred renderer and decided to add play around with more real time lights in our editor >:) Imagine it with lightning effects emitting from the device.....<br /><br />We'll be able to place in virtually unlimited lights real time for not only indoor scenes but also FX effects like fairy dusts...sci fi weapons blazing....the possibilities are just endless !<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img215.imageshack.us/img215/791/grapplelightingf.jpg"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 500px; height: 270px;" src="http://img215.imageshack.us/img215/791/grapplelightingf.jpg" border="0" alt="" /></a>Prometheushttp://www.blogger.com/profile/03531149638770557396noreply@blogger.com0