tag:blogger.com,1999:blog-64835200088830649212024-03-12T23:26:14.608-07:00NimbleBit: purveyors of nimble bitsDavid Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.comBlogger107125tag:blogger.com,1999:blog-6483520008883064921.post-88702678259345924392009-03-13T16:10:00.000-07:002009-03-13T16:18:23.795-07:00NibleBit New Site! Update your bookmarks and RSS feeds!We have finally got the new site up and running, and we have moved everything over to it! You can track all of NimbleBit's activities on <a href="http://NimbleBit.com">http://NimbleBit.com</a><br /><br />Our new RSS feed can also be accessed at <a href="http://feeds2.feedburner.com/Nimblebit">http://feeds2.feedburner.com/Nimblebit</a><br /><br /><span style="font-style:italic;"><span style="font-weight:bold;">New Blog!<br />New Forums!<br />New Chat!<br />New GAMES!</span></span><br /><br />So <a href="http://nimblebit.com">head on over</a>!<br /><br />This blog will no longer be updated. You will be re-directed in 5.. 4.. 3.. 2.. 1...David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com1tag:blogger.com,1999:blog-6483520008883064921.post-13784776597823275962009-03-10T17:10:00.000-07:002009-03-10T17:25:10.679-07:00NimbleBit prepping for a big move . . .... to a brand new NimbleBit world headquarters on the web! Brian has been smashing the heads together of technical kinks in Zero Gear, destroying bugs like a human RoboCop whose prime directive is to destroy all bugs. I have been prepping our new nimble nest to make room for all the extra content we are going to have as a result of a very special addition to the NimbleBit crew. More games! More games! More games!<br /><br />here is a sneak peek:<br /><br /><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://www.nimblebit.com/mystery.jpg" border="0" alt="" />David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com1tag:blogger.com,1999:blog-6483520008883064921.post-28452074814230711152009-02-16T20:17:00.001-08:002009-02-18T07:42:07.696-08:00Global Game Jam Postmortem<div>It has now been 2 weeks since the <a href="http://nimblebit.blogspot.com/2009/02/global-game-jam-result-coopetiton.html">jam</a>. I am finally making the time to write about it. As a side note, I posted to twitter while at the jam (I had very little sleep during the later parts of the jam so forgive any nonsense). Check our <a href="http://twitter.com/NimbleBit">twitter feed</a> starting from Jan 30th for those.</div><div><br /></div><div>The <a href="http://globalgamejam.org/">Global Game Jam</a> in brief was like a <a href="http://smithams221.files.wordpress.com/2008/05/dorkathon-5-lan-party-05.jpg">Lan Party</a> but at the end you made a game instead of just played them. It was noncompetitive, the goal being to pump out as many cool games as possible.<span class="Apple-style-span" style=" ;font-family:arial;"><em style="font-weight: bold; font-style: normal; text-decoration: inherit; "><span class="Apple-style-span" style=" font-weight: normal; font-family:Georgia;"> I went to the <a href="http://www.cogswell.edu/news/155.html">San Francisco-Silicon Valley</a> jam and met a bunch of awesome people. I had an amazing time and definitely plan to do it again next year!</span></em></span></div><div><br /></div><div><span class="Apple-style-span" style=" ;"><span class="Apple-style-span" style="font-size: x-small;">My teams room (no, that isn't a real person playing the guitar in the back, he is made out of cardboard (yes, it is a real person sleeping in the back, I don't know who that is))</span></span><br /></div><div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRD_SILnSj_t58rMYXvCMt_6zgV6BNba_hBpi816hgpEgYJ7xy03gZopGKZVQ3NwQtHYZSnvb5UGs2mSmJotnh7Itw1AzbWrgcCR1Qc0Cj_PGXgCzPeIZNrVRiQvlIm6Vi4C5xNERbLnA/s1600-h/Jam1.jpg"><img style="display:block; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRD_SILnSj_t58rMYXvCMt_6zgV6BNba_hBpi816hgpEgYJ7xy03gZopGKZVQ3NwQtHYZSnvb5UGs2mSmJotnh7Itw1AzbWrgcCR1Qc0Cj_PGXgCzPeIZNrVRiQvlIm6Vi4C5xNERbLnA/s400/Jam1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5303579780782888930" /></a><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">LOCATION:</span></div><div><span class="Apple-style-span" style="font-weight: bold;"><br /></span></div><div>My jam was located at <a href="http://www.cogswell.edu/">Cogswell College</a> just south of San Francisco. They did an incredible job of running the event and supporting all the participants. There was always plenty of food/drink to consume and we never had any power or networking problems. They made it easy to concentrate on making games.<br /></div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;"><span class="Apple-style-span" style="font-size:large;">TEAMS:</span></span></div><div><br /></div><div>There were about 35 participants at this location (hundreds of others around the globe) and we split into 7 teams of 5 people each. I think there were mostly programmers followed by artists and then a few producers and audio people.<br /></div><div><br /></div><div>Teams were initially (for the most part) chosen at random. You were free to move around and change up teams of course, however, it seemed like most people ended up staying with their random team which surprised me.<br /></div><div><br /></div><div>My team included:</div><div><a href="http://www.lazy8studios.com/">Rob Jagnow</a>: Programmer<br /></div><div>James Hudson: Programmer</div><div>Jerome Bolusan: Artist</div><div><a href="http://dakoder.com/">Dakota Hurst</a>: Technical Artist/Programmer/Audio<br /></div><div>and Me, Brian Cronin: Programmer</div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;"><span class="Apple-style-span" style="font-size:large;">THEME:</span></span></div><div><br /></div><div><div>The theme set for all games was: "Whenever we are together, we will never run out of problems".</div><div><br /></div><div>The contraints were:</div><div><ol><li>A complete play session must always last 5 minutes or less.<br /></li><li>Have ONE of the following adjectives to incorporate in your game: thin, evolved, or rotating.</li></ol></div></div><div><span class="Apple-style-span" style="font-weight: bold;"><span class="Apple-style-span" style="font-size:large;">SCHEDULE:</span></span></div><div><br /></div><div>The whole event went from 5pm, Friday, Jan 30th to 3pm, Sunday, Feb 1st (I was told there was some important sporting event on this day involving a pig's skin that is tossed around a field with the goal of avoiding large agressive men who wish to tickle you).</div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">Friday</span> night was mostly about meeting everyone and forming teams. It was also when we learned of our theme and constraints. This was so people couldn't start working on anything before the event (it was a 48 hour jam after all) but also to force us to be creative.</div><div><br /></div><div>We had about half an hour to talk to our team members and come up with a game idea(s). Our team worked really well together during this process and came to an agreement on a game concept very quickly. We decided that the theme called for a 2 player game. The theme also implied working together while also competing against each other. We decided that the players should be tied together with a sort of electric rubber band while trying to collect more coins than the other player. We chose the rotating adjective by having the players make turns around the level, thus causing the camera to rotate with them (turned out to be cooler than it sounds now that I type it). Our final game idea was modified very little throughout the development process as you can see:</div><div><br /></div><div><span class="Apple-style-span" style="font-size: x-small;">Here's one of the game's many wild TURNS!!!</span></div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://globalgamejam.org/games/coopetition"><img style="display:block; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 440px; height: 330px;" src="http://theresprizes.com/coopetition-ss3.jpg" border="0" alt="" /></a><div><br /></div><div>After this short design meeting, the teams presented their ideas to the entire group and some feedback was given. After this, we all rushed to find the best room to begin work.</div><div><br /></div><div>The rest of the night was about setup and preparation for the next very full day of work. We decided to use <a href="http://creators.xna.com/en-US/">XNA</a> for the project. Only 1 of us had more than a day or two experience of with it. We decided to use it anyway as part of the point of the jam was to use and learn new technology and methods. My experience with XNA was generally good.</div><div><br /></div><div>Our team (except for Dakota who I suspect to be a vampire, warewolf, or something) went to bed around 2am that night so we could get some rest to finish the game.</div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">Saturday</span><span class="Apple-style-span" style=""> was when we got most of the game done (It is mostly a blur at this point). We worked on physics, input, rendering (per pixel lighting and shadows = awesome), level design, modeling, menu flow, and probably a bunch of other stuff. There was a ton of energy and always a lot of work to do. It was a blast!</span></div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">Sunday</span><span class="Apple-style-span" style="">, some of us got some sleep and some continued to polish up parts of the game. It was all coming together and we were really excited. The most surprising part of Sunday morning was finally playing the game with somebody else and realizing it was a lot of fun!</span></div><div><br /></div><div>After putting in some final polish and fixing one last bug, we all ran down to the auditorium to see all the team's games and show ours off.</div><div><br /></div><div><span class="Apple-style-span" style="font-size: x-small;">We were very late to this final event. All my fault. It worked out though...</span><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3OD6wlCS0yO_HUJE3vjtWV-HZQD6qqgjwzBIsUkiO0GMOknbp8Jz9n3jLMuz1FXFhb0_h7Z4lH666Tzq1oZ8Mr_PsbE9l8G8Ob3FgwittYDpC3jzk8vqnnpSseyrVT0yhQCiKowSU6Ug/s1600-h/Jam2.jpg"><img style="display:block; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3OD6wlCS0yO_HUJE3vjtWV-HZQD6qqgjwzBIsUkiO0GMOknbp8Jz9n3jLMuz1FXFhb0_h7Z4lH666Tzq1oZ8Mr_PsbE9l8G8Ob3FgwittYDpC3jzk8vqnnpSseyrVT0yhQCiKowSU6Ug/s400/Jam2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5303583389298888386" /></a><br /></div><div><a href="http://globalgamejam.org/games?tid[]=28">All the games</a> were very impressive considering they were made in less than 48 hours by teams of people who had never worked together before. Each game had at least 1 unique and interesting aspect to it.</div><div><br /></div><div>Considering I plan to do this again next year, here is a right/wrong list...</div><div><br /></div><div><span class="Apple-style-span" style="font-weight: bold;">5 things that went right:</span></div><div><ol><li>Very little team conflict, everyone was on the same page.</li><li>Game design and scope, we didn't attempt to compete with Halo 4.</li><li>Iteration, we used XNA and SVN which allowed us to quickly iterate game ideas.</li><li>Communication, everyone was in the same room and was able to work together when they needed as well as, for the most part, leave somebody alone when they were working on a vital aspect of the game.</li><li>Fun, we weren't struggling to make the game so we were able to have fun and enjoy the experience.</li></ol></div><div><span class="Apple-style-span" style="font-weight: bold;">5 things that went wrong:</span></div><div><ol><li>Level format + pipeline: some more thought up front in our level pipeline would have saved a lot of time later on.</li><li>XNA: it was great overall and I do not regret using it, but I did end up spending a large amount of time doing a few things that should not have taken so long (I speak only for myself on XNA).</li><li>Sound code: the actual audio was great but we had some issues later in the project related to stopping and starting a music track. It wasn't the end of the world, but it was annoying.</li><li>More time, the event was only 48 hours but because of the previously mentioned sports event, we had more like 36 hours, that meant we had less time to sleep.</li><li>More art help, we had only 1 dedicated artist and he definitely had too much to do, one more dedicated artist would have been nice.</li></ol><div><br /></div><div>In closing, it was a great Jam. I fully encourage you to look out for and take part in any future events like this. If nothing else, it was great to take a break from the <a href="http://www.myzerogear.com/">big project</a> and work on a <a href="http://globalgamejam.org/games/coopetition">smaller game</a> for a very small amount of time.</div></div>Brian Croninhttp://www.blogger.com/profile/10505672356273635766noreply@blogger.com6tag:blogger.com,1999:blog-6483520008883064921.post-46423486886508965452009-02-16T10:21:00.000-08:002009-02-16T10:31:08.795-08:00SuperProfiler Speed Improvement and Bug FixJust a quick update. Here is the change list:<br /><ul><li>Changed from using std::string to using const char * to improve overall speed</li><li>Changed SuperRoot::PopProfile() and SuperStack::Pop() to accept a name parameter, this helps SuperProfiler to find any mismatches in pushes and pops</li><li>Added SuperException which is thrown if an unmatched pop is detected (really useful actually)</li><li>Added SUPER_PROFILE_PUSH and SUPER_PROFILE_POP macros which are useful if you want to access SuperProfile from a scripting langauge that doesn't support RAII (cough, Lua, cough), Still use SUPER_PROFILE whenever you can however</li><li>Fixed a bug when there was no SUPER_PROFILE in a root parent function call (such as a main function). I would suggest not profiling a main type function, anything that only returns at exit</li></ul><div>If you find any issues, please post them to the bug tracker here: <a href="http://code.google.com/p/superprofiler/issues/list">http://code.google.com/p/superprofiler/issues/list</a></div>Brian Croninhttp://www.blogger.com/profile/10505672356273635766noreply@blogger.com0tag:blogger.com,1999:blog-6483520008883064921.post-88426582642737875072009-02-08T12:51:00.001-08:002009-02-08T14:01:46.792-08:00SuperProfiler Update and ScreenshotsI just updated <a href="http://code.google.com/p/superprofiler/">SuperProfiler</a> with support for comma separated value and XML output as noted <a href="http://code.google.com/p/superprofiler/source/detail?r=3">here</a>. There were a few other small changes as well.<br /><br /><br />This is an example of what you can do with the CSV output if you load it into a spreadsheet program:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpUq6xmuB17AF7yfQsalNuXIJ4dHYYpwLp40TKR84eMDagRpa78Sb84IrM0BSoNthM0ql1k3HWsn8jbLfx2fZRIxpd9FTWHbwhah2RRr5JKpRT2WJYE30D1GbHI23UasLOhfyYcCpgRwo/s1600-h/GameClientResults.png"><img style="display:block; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 378px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpUq6xmuB17AF7yfQsalNuXIJ4dHYYpwLp40TKR84eMDagRpa78Sb84IrM0BSoNthM0ql1k3HWsn8jbLfx2fZRIxpd9FTWHbwhah2RRr5JKpRT2WJYE30D1GbHI23UasLOhfyYcCpgRwo/s400/GameClientResults.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5300535321123244930" /></a><br /><br /><br />And here is an example of what you can do with the XML output if you load it into an awesome program like the free <a href="http://symbolclick.com/">XML Marker</a>:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEb4yD-duBiMUcWCW2hskLutjOGpcCJyJQlNlnsjFOg6j5baG-N_sVqng77twcGtffS4FN658GKuaXDxlYc5iarB1ewmscmoATtixIEaVMEgsSA_31VUA5PcZf6EgyFhoU_RkIPM3gTaY/s1600-h/GameClientResultsXML.png"><img style="display:block; margin:0px 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 342px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEb4yD-duBiMUcWCW2hskLutjOGpcCJyJQlNlnsjFOg6j5baG-N_sVqng77twcGtffS4FN658GKuaXDxlYc5iarB1ewmscmoATtixIEaVMEgsSA_31VUA5PcZf6EgyFhoU_RkIPM3gTaY/s400/GameClientResultsXML.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5300532430051990274" /></a><br /><br /><br />You can imagine how useful this can be I am sure.<br /><br />Some things I plan to add in the near(ish) future are:<br /><br />1. Real time data (view the performance of your code while running it!)<br />2. Per frame recording<br />3. <a href="http://moviesmedia.ign.com/movies/image/article/745/745946/top-10-bond-deaths-20061114034914884-000.jpg">SPIKE</a> detection (just a way to mark a recorded frame specially if it took more processing time than the average)Brian Croninhttp://www.blogger.com/profile/10505672356273635766noreply@blogger.com0tag:blogger.com,1999:blog-6483520008883064921.post-15404836864201180592009-02-05T22:29:00.000-08:002009-02-05T22:57:31.087-08:00SuperProfiler to the rescue!<a href="http://code.google.com/p/superprofiler/">SuperProfiler</a> is a library I wrote to help us track down performance issues in Zero Gear. It is open source so anyone can use it (and hopefully help make it better!).<br /><br />You simply place a piece of code at the start of any function you want to profile and SuperProfiler takes care of the rest.<br /><br />An example...<br /><br /><code><br />void SomeFunction2(int var1)<br />{<br /> SUPER_PROFILE("void SomeFunction2(int var1)");<br /> var1++;<br />}<br /><br />void SomeFunction1(void)<br />{<br /> SUPER_PROFILE("void SomeFunction1(void)");<br /> int lala = 2;<br /> SomeFunction2(1);<br />}<br /><br />void main(void)<br />{<br /> SomeFunction1();<br /> SuperProfiler::TextOutput textOutput("SuperProfilerResults.txt");<br /> SuperProfiler::Root::OutputResults(textOutput));<br />}<br /></code><br /><br />and in SuperProfilerResults.txt is...<br /><br /><code><br />Function List | Total Run Time=0 | Total Profiled Function Calls=2<br />-----------------------------------------<br />void SomeFunction1(void) | Total Time=0.00 | 50.00% of time | Total Calls=1 | 50.00% of calls<br />void SomeFunction2(int var1) | Total Time=0.00 | 50.00% of time | Total Calls=1 | 50.00% of calls<br /><br />Call Tree<br />-----------------------------------------<br />ROOT<br /> void SomeFunction1(void) | Avg Time=0.0000 | Times called=1<br /> void SomeFunction2(int var1) | Avg Time=0.0000 | Times called=1<br /></code><br /><br />Simple and easy. Check out the <a href="http://code.google.com/p/superprofiler/">Google code</a> site for all the juicy details.<br /><br />Let me know if you find it useful!Brian Croninhttp://www.blogger.com/profile/10505672356273635766noreply@blogger.com8tag:blogger.com,1999:blog-6483520008883064921.post-62011156050164567102009-02-04T12:34:00.001-08:002009-02-04T12:37:02.283-08:00Progress on Space JumpDid a little more work on the obstacle-type course in between other things. Here is a little stitched together panorama of it (click for big)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://myzerogear.com/spacejumpwide.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 512px; height: 264px;" src="http://myzerogear.com/spacejumpwide.jpg" border="0" alt="" /></a>David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com0tag:blogger.com,1999:blog-6483520008883064921.post-19949259016891547622009-02-01T21:20:00.000-08:002009-02-01T21:37:19.953-08:00Global Game Jam result: CoopetitonThis weekend I (Brian) participated in the <a href="http://globalgamejam.org/">Global Game Jam</a> in San Francisco.<div><br /></div><div>It was 35 people spending 48 hours (most of them awake) creating games. It was an amazing event and we all had a blast. All of the games were very impressive.<br /></div><div><br /></div><div>I plan to write more about the actual event but first I wanted to post the game that my team finished.</div><div><br /></div><div><a href="http://globalgamejam.org/games/coopetition">Coopetition</a></div><div><br /></div><div>The goal of the game is to work with/against another player to collect the most coins. The 2 players are connected by a sort of electric spring. This means that each player has some influence over the movement of the other player.</div><div><br /></div><div>Collect as many coins in your "wallet" without hitting an obstacle. If you do hit an obstacle, you lose the coins in your wallet. To deposit the coins from your wallet to your bank (the coins are safe in the bank and cannot be lost), go through a hoop that is the same color as your character. Going through the other player's hoop will cause your wallet money to be deposited in their bank. Each coin you pick up actually doubles the amount of money in your wallet. So play it safe and deposit as often as possible or walk on the wild side and try to save up for massive profits!</div><div><br /></div><div>It is best played with 2 people (1 keyboard or 2 controllers) but can be played alone as well.</div><div><br /></div><div>Our team had a great time making this game and would love to hear any feedback so please comment after playing!</div><div><br /></div><div>Some screens:</div><div><br /></div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQlAGIX6uecSwvSH42pvM352B9XwIhXK5ffHkdcYbUNCcqsZrnDDOHThqktf04v-tSniIXWtFFpcd_7XAqHmgxWabdiuZszfXsDjNlEPJKYOjJx15y6gA12KWeawPeUvOpL6xiecOX8Mo/s1600-h/screenshot03.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQlAGIX6uecSwvSH42pvM352B9XwIhXK5ffHkdcYbUNCcqsZrnDDOHThqktf04v-tSniIXWtFFpcd_7XAqHmgxWabdiuZszfXsDjNlEPJKYOjJx15y6gA12KWeawPeUvOpL6xiecOX8Mo/s400/screenshot03.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5298067608450126322" /></a><div><br /></div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwF9qVWH45V4FZ9FdKLW5QG-Cci2fTKHRHU6SEBef6PKDSWdSQXR63uQuPMYbjvEddlM8GmsQy8W4rcbBsTRQ9jl6pf_wnoZiuealsII-7JrKcDlA3A73-90Yh1h9O3DOgsWuSeBGdS6M/s1600-h/screenshot01.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 301px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwF9qVWH45V4FZ9FdKLW5QG-Cci2fTKHRHU6SEBef6PKDSWdSQXR63uQuPMYbjvEddlM8GmsQy8W4rcbBsTRQ9jl6pf_wnoZiuealsII-7JrKcDlA3A73-90Yh1h9O3DOgsWuSeBGdS6M/s400/screenshot01.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5298067463540399234" /></a><div><div><br /></div></div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYm1udpGvSUx5i0oZDtMUo2EZmQylunGr_gYzmMSUyWqemtH8c08X9bfObBZUHMnzgNFZMM8dxb6_L1PIfii_LdFNK8YLIbEb8sNJjEqcoMN7dDXfrRH89WphrafssDCATP5Q7D5m0od8/s1600-h/screenshot02.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYm1udpGvSUx5i0oZDtMUo2EZmQylunGr_gYzmMSUyWqemtH8c08X9bfObBZUHMnzgNFZMM8dxb6_L1PIfii_LdFNK8YLIbEb8sNJjEqcoMN7dDXfrRH89WphrafssDCATP5Q7D5m0od8/s400/screenshot02.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5298067265354079714" /></a>Brian Croninhttp://www.blogger.com/profile/10505672356273635766noreply@blogger.com1tag:blogger.com,1999:blog-6483520008883064921.post-19056237728255319872009-01-22T16:28:00.000-08:002009-01-22T16:45:20.488-08:00Space Jump WIP video<a href="http://vimeo.com/2926470"><img src="http://myzerogear.com/spacejumpvid.jpg"></a><br /><br />This is a 4x speed run through of a map I am working on to test out a "gauntlet" type game mode where the goal is to be the first to get to the finish against the clock. We are planning on having checkpoints throughout the map so that if you fall off you can respawn. Brian is also anxious to add physical obstacles along the blank straight lengths that will move around which you will have to dodge.<br /><br />In other news, I have found a new <a href="http://myzerogear.com/nimblebit_eeenmachine.jpg">place</a> to work on Zero Gear - a real actual office space shared with <a href="http://eeenmachine.com">my brother</a>, exciting!David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com5tag:blogger.com,1999:blog-6483520008883064921.post-65534646088191625232009-01-14T18:17:00.000-08:002009-01-14T18:19:15.442-08:00Zero Gear now on ModDB.comnow you can keep track of Zero Gear's progress if you are part of the growing <a href="http://ModDB.com">ModDB</a> community. <br /><br />You can check out Zero Gear's ModDB game profile <a href="http://www.moddb.com/games/zero-gear/">here</a>.David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com0tag:blogger.com,1999:blog-6483520008883064921.post-78205828090765724292009-01-13T16:04:00.000-08:002009-01-14T13:17:58.479-08:00Zero Gear on the websI have been on a little mini PR blitz lately, trying to increase awareness of our game. So far it has netted these little Zero Gear outposts on the tubes:<br /><br /><a href="http://www.gametrailers.com/game/10700.html">Zero Gear page on Gametrailers.com</a><br /><br /><a href="http://www.n4g.com/pc/News-259226.aspx">A news story on N4G</a><br /><br /><a href="http://www.stevestreeting.com/2009/01/13/zerogear-the-elevator-pitch/">A shoutout from Steve Streeting</a><br /><br /><a href="http://digg.com/pc_games/Trailer_released_for_physics_driven_PC_Kart_game_Zero_Gear">A floundering Digg submission (DIGG IT!)</a><br /><br /><a href="http://independentlyspeaking.wordpress.com/2009/01/14/exclusive-preview-taking-zero-gear-for-a-spin/">A post on independently-speaking.com</a><br /><br /><a href="http://theawesomer.com/trailer-zero-gear/8664/">A link on The Awesomer</a>David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com0tag:blogger.com,1999:blog-6483520008883064921.post-31906082934747939342009-01-11T10:46:00.001-08:002009-01-12T10:44:16.805-08:00I <3 fake playersMaybe there is a better term. A fake player is just like a real player as far as the server and other players can tell. It has no AI. It is just for testing. It exists only on the server. A lot of games have this feature (not claiming to have invented it or anything!).<br /><br />I want to express my love for fake players. I just recently (<a href="http://twitter.com/NimbleBit/status/1110475201">yesterday</a>) got this feature working in Zero Gear.<br /><br />Here are some of the advantages to adding fake players to your multiplayer game:<br /><ul><li>Makes testing bandwidth and other networking issues much easier. Even some gameplay code might only have a bug when there are X number of players on the server.</li><li>Obviously a MMO would benefit from having fake players to test server load and whatever else those crazy MMO devs need to test.</li><li>Profiling. Your game might work great with 6 people playing. What happens when there is a full server with 16? Physics might slow down, clients may not be able to render all those models, maybe too much data is being sent over the net. It is better to find these sort of issues before getting 16 real people together to test.</li><li>Possible to translate the fake players into bots later. No promise of this for ZG! Since the fake player acts just like a real player, all it needs to do is send input to the server and the fake player is moving around.</li></ul><br />The implementation was pretty easy after some code restructuring. I simply moved the client networking code (networking only, no graphics, input, sound, etc) into the server. Each fake player executes the same client networking code a real client executes and just like magic (<a href="http://www.bluthfamily.com/dimages/pictures/gob-amazes-and-delights-the-crowd-as-the-final-countdown-blares_468x312.jpg">Illusion, Michael</a>), it works! This is because the server only really interacts with the real players through the network.<br /><br />Overall I wish I would have gotten this feature in ZG a lot sooner! If you are developing a networked game, do it now!!!Brian Croninhttp://www.blogger.com/profile/10505672356273635766noreply@blogger.com11tag:blogger.com,1999:blog-6483520008883064921.post-29657441037154800732009-01-03T15:09:00.000-08:002009-01-03T15:11:35.093-08:00New Character: CactiFrom the barren and windswept mesas of the desert comes our newest character Cacti. Say hello, but I wouldn't touch!<br /><br /><img src="http://myzerogear.com/cacti.png">David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com2tag:blogger.com,1999:blog-6483520008883064921.post-17466420832984659692008-12-31T12:13:00.000-08:002008-12-31T13:05:02.894-08:00Zero Gear Trailer 1We were asked to provide a video that will be shown along with our entry for the IGF, so here is something I whipped up!<br /><br /><a href="http://vimeo.com/2677585" target="new"><img src="http://myzerogear.com/trailerthumb.jpg"></a>David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com3tag:blogger.com,1999:blog-6483520008883064921.post-74556331710668020122008-12-31T09:10:00.000-08:002008-12-31T10:55:06.557-08:00Vote for Scoops!<img src="http://www.bestappever.com/images/itms/291/291591378/icon100x100.png"><br /><br />My brother and Zero Gear contributor Ian has had his iPhone app <a href="http://l2app.com/scoops">Scoops</a> nominated in 4 categories for the 2008 Best App Ever Awards! Go help him out and vote for Scoops with these links! The winners will be announced at Macworld.<br /><br /><a href="http://www.bestappever.com/v/bapp/291591378/vote">Vote for Scoops</a> in the "Best App Ever" category!<br /><br /><a href="http://www.bestappever.com/v/gcas/291591378/vote">Vote for Scoops</a> in the "Best Casual Game" category!<br /><br /><a href="http://www.bestappever.com/v/gkid/291591378/vote">Vote for Scoops</a> in the "Best Kids Game" category!<br /><br /><a href="http://www.bestappever.com/v/kidd/291591378/vote">Vote for Scoops</a> in the "Best Kid Distraction App" category!David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com0tag:blogger.com,1999:blog-6483520008883064921.post-25108792201142906312008-12-20T19:23:00.000-08:002008-12-20T19:31:41.369-08:00Happy Holidays, and new character "Eye Guy"Hope everyone is relaxing and having a great holiday instead of reading this post! Here is a little purple present in your Zero Gear stocking. This has to be our most ridiculous character yet, it's a blast to play with the colors and put items on this little dude.<br /><br /><img src="http://myzerogear.com/eyeguy.png">David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com1tag:blogger.com,1999:blog-6483520008883064921.post-67987773023620792782008-12-18T14:39:00.000-08:002008-12-18T14:57:00.004-08:00fresh lick of paint on myzerogear.comif you direct your internet browsing machines to <a href="http://myzerogear.com">MyZeroGear.com</a>, the main Zero Gear website, you will see it has gotten a nice little face lift.<br /><br />While Brian is working on a re-write of part of the network system (keep an eye out for a blog post about that soon) I took advantage of some of the down time to doll it up a bit.<br /><br />Take a while to look around, let me know if you find any little typos or errors!David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com3tag:blogger.com,1999:blog-6483520008883064921.post-31587554439725268472008-12-17T13:01:00.000-08:002008-12-18T00:49:11.703-08:00NimbleTwitIn our effort to be like everyone else, we setup a <a href="http://twitter.com">Twitter</a> account here: <a href="http://twitter.com/NimbleBit">http://twitter.com/NimbleBit</a><br /><br />Check it out if you want to read about what chunk of code is currently making Brian angry or what color Dave is thinking about.Brian Croninhttp://www.blogger.com/profile/10505672356273635766noreply@blogger.com0tag:blogger.com,1999:blog-6483520008883064921.post-89222673627498183662008-12-16T09:43:00.000-08:002008-12-16T09:52:16.306-08:00Nominate Scoops for Best Casual Game!Zero Gear contributor and also my brother <a href="http://www.eeenmachine.com/">Ian Marsh</a>, is the creator of a rather popular iPhone game called <a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=291591378&mt=8">Scoops</a> (iTunes link). If you haven't played it you should buy it, it's a great little game about stacking ice cream scoops.<br /><br />Here is the "scoop", <br /><br /><blockquote>148apps.com has created the <a href="http://www.bestappever.com/c/gcas/291591378/nonom">BestAppEver awards site</a> to try and choose a list of the best apps of 2008 not based solely off sales numbers (like Apple’s).<br /><a href="http://www.bestappever.com/c/gcas/291591378/nonom">Click Here</a> to nominate Scoops for the Best Casual Game! I think it matches the category description pretty well: “The game that is easy to pick up and play while you wait for your coffee to brew”.</blockquote>David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com0tag:blogger.com,1999:blog-6483520008883064921.post-8696141816003072782008-12-13T19:59:00.000-08:002008-12-13T20:03:32.304-08:00Beep Beep I'm a Jeep!It's been a while, but I pulled some time out of nowhere to make a new kart model. A ww2 era Willys MB!<br /><br /><center><img src="http://myzerogear.com/willy2.png"></center>David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com4tag:blogger.com,1999:blog-6483520008883064921.post-34201095833699240832008-12-08T11:58:00.000-08:002008-12-31T12:02:18.883-08:00Zero Gear closed beta, it's go time!<span style="font-weight:bold;">**Edit 12/31/08**<br />Beta spots are full for the moment, we will open up more again in the near future!</span>David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com3tag:blogger.com,1999:blog-6483520008883064921.post-34333516856131178912008-12-05T10:36:00.000-08:002008-12-05T10:57:40.158-08:00RinkyDink level videoI needed an excuse to try out YouTube's new HD video format so I decided to try posting a short flyby of a new level I am making called RinkyDink. RinkyDink is the same "goal" mode gameplay as Kick It, only with ice and a puck. It is hard to pick out in the video but the ice in the rink is using our patented, cutting edge, "Reflect-o-Matic" reflection whizzbang technology. <br /><br /><object width="640" height="360"><param name="movie" value="http://www.youtube.com/v/tN0nz73LfSQ&hl=en&fs=1&rel=0" ap="%2526fmt%3D22"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/tN0nz73LfSQ&hl=en&fs=1&rel=0&ap=%2526fmt%3D22" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="360"></embed></object>David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com2tag:blogger.com,1999:blog-6483520008883064921.post-27981353348964469022008-11-26T09:44:00.000-08:002008-11-26T09:47:36.227-08:00IGF 2009 entries announced!and here is Zero Gear's, <a href="http://www.igf.com/php-bin/entry2009.php?id=667">entry page</a>!<br /><br />With 226 entries this year competition will be stiff, check out the entire list of entries <a href="http://www.igf.com/php-bin/entries2009.php?start=0">here</a>.David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com2tag:blogger.com,1999:blog-6483520008883064921.post-33734779392926973482008-11-22T10:57:00.000-08:002008-11-22T11:12:24.222-08:00someone made us some t-shirts!It was Brian's birthday recently and he was lucky enough to receive some Zero Gear t-shirts as a present! Since Brian insists that cameras capture his soul and cause his physical body to crumble to dust, we contracted out a <span style="font-style:italic;">top</span> model to display them for you!<br /><center><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://myzerogear.com/tshirt1.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; padding: 7px 7px 7px 7px ; float: left; cursor:hand;width: 240px; height: 320px;" src="http://myzerogear.com/tshirt1.jpg" border="0" alt="" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://myzerogear.com/tshirt2.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; float: left; cursor:hand; padding: 7px 7px 7px 7px ;width: 240px; height: 320px;" src="http://myzerogear.com/tshirt2.jpg" border="0" alt="" /></a><br /></center>David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com1tag:blogger.com,1999:blog-6483520008883064921.post-4155510906195312592008-11-16T16:50:00.000-08:002008-11-16T16:54:32.409-08:00Not dead yet!I feel happy! I feel happy!<br /><br />We have been keeping very busy as usual - spending a lot of time dealing with some nasty memory issues and other non-glamorous things. But to keep our spirits up we started on a new game mode, check out the screenshot and maybe you will be able to guess what it is!<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://myzerogear.com/kickit.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 512px;" src="http://myzerogear.com/kickit.jpg" border="0" alt="" /></a>David Marshhttp://www.blogger.com/profile/09363782511533454475noreply@blogger.com11