I Know What You Did Last Week #31

“-You can’t just turn on creativity like a faucet. You have to be in the right mood.
-What mood is that?
-Last-minute panic.”

-Calvin & Hobbes

Check out this cool Zero Gear poster we got for motivation!
zgposter

We all got a lot done last week. The most significant task being updating the Steam build. Another big task was getting bots working again. They weren’t working ever since we switched the networking layer. I wrote some code that bypasses the networking layer and forces the bot to directly communicate with the server. This isn’t ideal as there is now a whole other code path but I believe the best solution was chosen based on all the many factors.

Now we are working on adding the last remaining features and squashing as many bugs as we can before the end of the month. Things are moving along. If you are interested in following our progress we just opened our tracker to the public for viewing: Zero Gear Tracker (we also have a twitter feed here)

I have been tweaking lots of little things in the game, tuning a few map details, tweaking the kart behaviors, camera and guis. The additional tester feedback from getting the build back on steam this week has been great for shining a spotlight on little things that we can tweak and tune to make the entire game experience just a little better / smoother. I have finished our new Zero Gear trailer with the help of Tapio Liukkonen, and hope to release it along with the public opening of the beta, which should happen in the coming weeks.

This week I will continue tweaking and tuning as well as helping manage tester feedback and bug reporting and try to keep us on track.

Last week I fixed a lot of bugs reported by our wonderful beta testers, mainly GUI and small gameplay issues. New stuff added includes an instructional loading screen for the first few times playing the game and support for dynamically changing the map rotation and other server settings when in-game.

This week will be more about fixing bugs than adding any new features as we get closer to a public beta.

Last week’s SVN log:
svnlog31

I Know What You Did Last Week #30

“Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.” - Scott Adams

The highlight of last week was getting NAT punch through working. This means that (almost) any user can host a game for their friends to join without knowing how to configure a router or even knowing what a router is. This subtle change will mean that the game can scale to any amount of players. It took a lot of time and effort but I know it will pay off in the long run.

We are in the home stretch. I drove down from San Francisco yesterday and am now sitting in the office in San Diego with Dave and Ian. I will be here until the end of the month. This week I plan to clean up the last remaining issues with NAT punch as well as getting the rest of the server admin GUI working. Exciting times!

Much of my time last week was spent working on a launch trailer for Zero Gear, which is coming out great and will be a very exciting intro to Zero Gear for many people. Between video editing I have been tweaking some of the game guis, fixing some inconsistencies and adding a thing here or there where things weren’t clear enough. I also spent a little time on a kick ass Zero Gear promotional poster, which I will probably share sometime soon!

This week will be all about supporting Ian and Brian in bug fixing / testing as well as getting some balls rolling that will need to be at full speed by release.

According to the SVN log, last week was a busy one! Some highlights for me included adding a “Randomize” button to the garage, fixing an annoying input bug of my own creation, and improving the race and goal mode bots.

This week is just more bug fixing and polishing as we inch closer and closer to the final product!

Last week’s SVN log:
svnlog30

I Know What You Did Last Week #29

“When we engage in what we are naturally suited to do, our work takes on the quality of play and it is play that stimulates creativity.” – Linda Naiman

I intended to replace the low level networking layer last week. I intend to do a lot of things that don’t happen (but one day I WILL go to ninja training camp). Like a cute little kitten, I got distracted by other things. I did make it about halfway before we needed to get another build out to testers. Along the way I figured out why our current layer is dropping some packets which felt like a mini-victory. I also assisted Ian in getting the garage (warning: this is an old video but it basically works the same as the new garage) put back together.

This week I will finish getting the new layer into the game and probably get distracted by some dangling string as well.

Last week I spent my time split between tweaking maps, GUI’s and some other game settings while simultaneously starting work on an exciting new trailer for Zero Gear. It is taking a lot more planning than previous trailers, but I can already tell the work is going to pay off and we are going to have something very memorable that should leave an impression on viewers.

This week I am going to continue working on the trailer as well as tackling all the other misc. stuff that pops up.

Last week I resuscitated the garage and completed the MyGUI conversion. I also gave birth to some cute little soccer bots who do their best to get their ball in the right goal!

Next I’ll be polishing up various game modes, fixing bugs, and working on Chute Shoot bots. Stay tuned this week for some actual iPhone related news as well!

Last week’s SVN log:
svnlog29

I Know What You Did Last Week #28

“Imagination is the beginning of creation. You imagine what you desire, you will what you imagine and at last you create what you will.” - George Bernard Shaw

Loading sucks. Loading while the player is trying to play the game REALLY sucks. The reason loading sucks is because it takes time. Time is very valuable. I spent a good chunk of last week working on getting Ogre’s background loading working. This allows the developer to load resources in another thread which would prevent loading from interrupting gameplay.

You may be asking why we don’t just load everything before the player is playing the game. The answer is we do. But the future is unknowable. When other player’s connect to the server they can be wearing any of our many pieces of gear. We cannot preload all of this gear so it must be loaded when needed.

Unfortunately the background loading didn’t work out for us so we are loading the content once the player is ready (the game play is over and they are waiting for the next round).

This week’s big task is to get something called NAT punch through working. This will allow players behind a firewall to host a Zero Gear server. This is going to be a huge task that is going to require us to switch our low level networking layer over to a different library entirely. Wish me luck!

Between scribbling madly on my legal pad to remind me of things that need doing, I have been tweaking maps, tweaking graphics, tweaking GUI’s and managing our issue tracker. I also spent a good chunk of time spicing up our Zero Gear website to start preparing for more people to start hitting it as we get closer to a public beta. As our private testing expands it is great to be hearing feedback from everyone and addressing what we can, and focusing on what people find the most fun.

This week I am just going to be hitting things as they come at me, and trying to prepare as best I can for what the next few months are going to bring!

Last week I started overhauling the garage GUIs, but hit a few snags and moved on to Bot work, mostly for tag mode. The tag bots now have limited functionality, enough to fill a spot or two in a server but not so great if you’re playing all alone. Zero Gear was intended to be played with real-live people so we’re debating how much time to invest in bot AI.

This week I’m hoping to get the garage back up and running with the new GUI so that our testers can go back to dressing up their characters!

Last week’s SVN log:
svnlog28

Zero Gear Map Gallery

We recently got the 12th and last map before release put into the game. It is a little hard to appreciate how many maps we have made over the last 2 years, so I decided to put them all together in one graphic for visualization. Hopefully you will all be exploring them soon. We can’t wait to add even more maps and game modes after release!



I Know What You Did Last Week #27

“Until you value yourself, you will not value your time. Until you value your time, you will not do anything with it.” - M. Scott Peck

We started doing limited playtests again last week. It has been a while since we have done any real playtesting (for a number of technical reasons) so it was nice to see other people playing the game. Overall the test went really well. Still some obvious problems that we will be working to fix this week. A few other highlights include: GUI system fixes, some graphics settings functional, 3D sound channels reversed fix, weapon input state fix, and other neat things.

Today I am working on getting threaded resource loading working in Ogre. I also plan to do general optimizations throughout the week leading up to the next play test.

Everyone is busy as we try to tie up lots of loose ends to get ZG looking polished to the players. I spent most of the week finishing up my new map, which we will be able to test this week. Most of the rest of my time is spent testing and fixing small graphical issues, or adding / testing / marking off things in our issue tracker.

Between lots of little tasks I need to do this week, I am hoping to make a blog post showcasing all the maps we will have in the game at release.

Last week I managed to get 90% of the game GUIs in the game or converted to our new GUI system. After feedback from our online play test I also tweaked some weapons and game modes, and fixed some bugs found in the race GUI.

This week I’ll be finishing off the remaining GUI tasks and then hopefully dive into some more bot AI.

Last week’s SVN log:
svnlog27

Indie Game Dev Sign-age

Black Jacket Studios, creators of the totally silky smooth hover tank game Metal Drift have put up a blog post about the indie games and developer logos they use in metal drift for added visual detail. We think it’s awesome, especially since we do the same thing in Zero Gear! In addition to the signs and billboards we have scattered throughout the game giving shout-outs to the open source technology we use, we also used one of our race tracks, Dust Bunny to fill with sign-age for any indie developers who wanted to participate. Here are some screenshots and the developers / games seen in the level.

Dino Run by piXel JAM
Fire Hose Games
Ridiculous Software
Ronimo Games and Swords and Soldiers

indieads1indieads2indieads3

I Know What You Did Last Week #26

“Time is the longest distance between two places.” ~Tennessee Williams

26 weeks of logging NimbleActivity, thats 182 days! This week I am going to start posting a screenshot of the previous weeks SVN log entries to let people follow along more closely as Zero Gear enters the home stretch of its two year development phase.

I am happy to report that last week was the most productive week in a loooooong time. The game is running about 500% better than even one week ago. Mostly due to a few small networking changes. I added a concept I call time shifting which reduces the bandwidth by more than half in most cases (and even more in some cases!) that I will be writing about later in the week. After dominating the networking systems, I fixed a few more bugs related to input, the blur screen effect, error reporting, etc…

Next I plan to do stress testing using bots so I can track down remaining performance issues. Zero Gear is going to fly by the end of this week!

Things are getting pretty busy around here as we Kick Ass™ and Get Things Done™. Last week I was bouncing all over the place like usual, massaging GUI’s and tweaking game assets and level scripts due to feedback from our daily playtests. Last week I also started on a new race map inspired by the classic arcade game Ironman Stewart Offroad Racing. It will be all dirt and have plenty of twists, turns and jumps!

I will try to wrap up the new track this week, as well as dealing with all the other tasks that crop up.

I spent some time in the the first half of last week putting in a new game weapon (the Repulsor Shield) which repels all physical objects (fun!). I also added some graphical niceties including a drafting effect and random bot models (to go along with our hilarious new bot names). Some bug fixes rounded out the middle of the week before I took a break to beta test an OpenGL iPhone class being given by Noel Llopis of Snappytouch. This week I’m putting my nose to the grindstone to try and get the rest of the game GUIs up and running before moving on to plenty of AI bot programming!

Last week’s SVN log:
svnlog26

I Know What You Did Last Week #25

“How long a minute is, depends on which side of the bathroom door you’re on.”
-Zall’s Second Law

You know the feeling of spending way too much time on a task and you just know the problem is the result of something really, really, really dumb? I do. I know that feeling well.

The past few weeks (ok, maybe it has been a couple/three months on and off all said) I have been trying to track down some jitter in the network system. Whenever a major event happened (like a new player connecting or sometimes when a weapon was spawned) the game would sorta lock up for about a half second. I spent a lot of time trying to understand this problem. I created many graphs plotting every network event, how long it took, when it happened, what type of event, etc. I created a test program to make sure the problem wasn’t in the networking library we are using. I queued up data on the sending and receiving end and tried to prevent too much data from being processed at once. I even did a code dance (Yes, this is like a rain dance but for code, duh. It looks like this).

So you can certainly imagine my shock to notice this line of code yesterday night at 6:10pm:

if (GetNetEvent())

Yeah, exactly. What was I thinking?!?!?!?!???!?!?!? This should OBVIOUSLY be:

while (GetNetEvent())

Anyone can see that just walking down the street (well, I couldn’t until last night, but anyone else could). In a nutshell (do all nuts have a shell?), network events were only being checked once a tick. So my code to queue up certain events was never really working. In a different nutshell, sometimes it takes a lot of time and a lot of effort to realize you made a really, really, really dumb mistake. That’s the way she goes.

Last week I spent the majority of the time re-working some of our race maps. After fine tuning our boost-giving mechanisms I had to add and move around some of the checkpoints in the map, as well as adding / moving some of the item boxes. We have been play testing every day which really helps highlight little things in the tracks that need to be tweaked. I also worked on a bunch of miscellaneous little art and gui tasks, creating a few new GUIs and item and gameplay graphics.

This week will hopefully be more playtesting and more little tweaks and additions.

Lots of progress with the NimbleCrew bunched together in our San Diego office last week! One cool feature I was able to implement in Zero Gear last week was the ability to add guiding forces to certain weapons to increase their effectiveness. You will no longer need extreme pin-point accuracy to ice or blow up other players. I also added a spectator mode which lets you watch others race when waiting for a new round to start.

Yesterday I labored to create a new weapon - the Repulsor Shield, which pushes all physical objects away from the player while active. The Repulsor can work as both an offensive and defensive weapon if used correctly! Also added was a new GUI element in Tag mode showing how close to winning the IT player is. This week I’ll be adding a graphical draft effect, fixing some race mode bugs, and whatever else comes up.

I Know What You Did Last Week #24

“Time is the coin of your life. It is the only coin you have, and only you can determine how it will be spent. Be careful lest you let other people spend it for you.” - Carl Sandburg


The start of last week was spent mostly on networking. I probably sound like a broken record but when networking is central to a game, it takes a lot of time to smooth out under all the different machine types and network conditions. I am currently working on some test code to make sure the middleware we use isn’t the cause of a specific issue we are seeing. I then worked with Ian on getting more GUIs working. After I binded the C++ GUI code to Lua script, Ian has been able to actually create the GUIs without needing to touch C++ code at all.

This week I am working more on my networking test code while taking breaks here and there to fix long standing bugs in our tracker.

P.S. A friend has recently launched the website for his new game dev company. Check out Final Form Games!

Last week I helped playtest ZG’s race mode a bunch. It is a probably a good sign when you go to test one thing and end up playing “just one more race” about 3 times before you get back to work. I also did a little bit of work helping to hook up some of the new GUIs in the game and refining them once I saw them working. I also started thinking about what kinds of changes I want to make to some of the race maps now that we have the race rules more nailed down, and I am starting to see what works well and what doesn’t in terms of course layouts.

This week I hope to mostly be helping hook up more GUIs in between tweaking maps.

Last week was a pretty productive one! Brian and I tracked down the bug that was creating Race Mode position anomalies which was giving me headaches most of last week. I also improved our race bot AI a bit, and even added a drafting boost award mechanism to liven things up. The end of the week saw me converting more of our GUIs to MyGUI which is where I’ll be picking up today.

« Previous123456789 ... 16Next » (156 total posts)