I Know What You Did Last Week #23

“The only reason for time is so that everything doesn’t happen at once.” - Albert Einstein

The solution to last week’s console print slowness ended up being to thread the printing as Fabio suggested in the first comment. This resulted in about a 100% speed up. After solving that, I spent time on getting more of MyGUI binded to Lua so we can quickly make new GUIs for the game. I am pretty happy with the results so far. I also had a lot of fun generating graphs to help visualize problems in the networking code. Because network events happen so often and so quickly, it is hard to understand problems with simple printouts or through normal debugging. Below is an example of one of the graphs I am generating using PyChart:

netgraph

This shows 1 second of time on the x axis and how long each event took to process on the y axis. The big streak of red dots (reliable data) from 34.218 to 34.718 represent a problem. The green dots (unreliable data) should still continue at a nice 50 MS interval throughout the red dot zone.

This week I am heading down to San Diego again to work with Dave and Ian. I am sure there will be plenty to do.

Last week I split my time between helping Ian test race mode and figure out some bugs in the placement system, and replicating / building GUIs in MyGUI’s layout editor. Once you get to know how the editor works it is actually very quick to create new GUIs which is a big plus for us. Here is a screenshot of all the GUI’s I made last week.
guis

This week I will probably continue tweaking some GUIs as we try to hook them up, as well as continue helping test race mode.

With David’s help I spent most of last week going through Zero Gear’s race mode with a fine toothed comb and found some logic and game balance problems.

This week I’ll continue to work on some of the bugs present in race mode and then work to make it more balanced and enjoyable for all players.

I Know What You Did Last Week #22

NimbleBit has been busy busy busy! As you can tell by the lack of blog updates, we have been busy getting things done. Here is what we have been cranking on:

I learned two good lessons last week: Printing out text to the console in windows takes way more time than it should and precompiled headers are great if compile time is the slow part of the build process. Thanks to precompiled headers and a cool python script from Games From Within, compile times went down by about half. I still need to greatly improve link time but any kind of speedup is worth it when it comes to long build times. I started getting MyGUI integrated into Zero Gear. While we already have Hikari for our GUIs, we need something a bit faster for the in-game stuff.

I am starting off this week with a search for the fastest way to print out text to a console in windows (any suggestions?) After solving that problem I plan to get back to network optimizations (which I was intended to work on last week before getting interrupted by things like the slow console printing :().

Oh, almost forgot to mention I finally joined the dark side and got one of them fancy ITelephones that I keep hearing about. Any suggestions for neat program applications? I hear the stuff here is pretty cool…

P.S. A note about that python script linked above, I had to convert the VC++ 9 build log to ASCII from unicode in order to use it.

I have been busy keeping track of all the work we have been doing and logging future tasks we need to do in order to get Zero Gear closer to another beta. I have been tweaking values and sizes of things as they get implemented, and otherwise doing any other little bits of polish where I can spot the opportunities for them. I also spent a few days modifying and tweaking our Tag Test map, to be a little more open and play nicer with vehicles.

Later in the week I spent a lot of time becoming familiar with MyGUI and how to re-skin and create gui layouts with it. So far I am finding it to be a neat little gui library with a lot of functionality. It has a neat little layout editor that is allowing me to slap together guis pretty fast. We will see if hooking them up to the game through LUA is as easy! This week I will probably continue building some guis before seeing where the rest of the week takes me.

Last week we spent some time thinking about the type of game Zero Gear is, and what we want it to be. After spending lots of time playing the different game modes over the last couple weeks I got the feeling something small was holding back a lot of potential. ZG is quite a unique mixture of FPS-like gameplay mixed with vehicle controls. One thing I’ve been finding a little frustrating is the lack of control over these cool weapons in the game.

One solution we came up with was to make each weapon somewhat guided, but that wouldn’t eliminate all the 3 point turns I seemed to be doing in the game. After some thinking and looking at vehicle combat in some other games we decided to try out a mouse look system to be able to aim weapons and gaze around the levels in 360 degrees of freedom. I’ve gotten the free look system working well and now just need to hook up the aimed weapons to see how much of an impact this feature would make on gameplay.

I Know What You Did Last Week #21

Here is the low down on what we have been up to:

I think we can all agree that time is pretty important. Many parts of a game require time to constantly and consistently move forward. Time should not move backwards or take a break to tie its shoe. Turns out it is stupidly difficult to get reliable time readings on Windows. I have been dealing with this issue for a long time and I (hopefully) found the solution last week. The common methods did not work as we run a client and a server (so setting affinity wasn’t an option, bye bye QPF/QPC). I did other things too but have run out of time to write them down.

This week one of my top priorities is to speed up the build time. I have already started to get precompiled headers working which should help out. I also want to spend time on network optimizations and then there are always more bugs that need fixing.

Last week I created some new GUI elements for use in some of our game modes, as well as some new particle effects to spice things up as well. I also spent a day tracking down a really bizarre physics bug in our game or bullet which we were able to work around. I spent some time tweaking old maps we haven’t visited in awhile as well as re-scripting a few maps that needed some of the new things we have been adding to the game.

This week I am going to do more level work as well as any other polishing I can take care of.

Last week I reworked the “Tag” mode in Zero Gear to flip between “keep away” and “hot potato”. This should keep the tag mode more interesting and less boring. I also worked with Brian to try and improve the camera system. This week I have to do some writing but will be helping out on Zero Gear whenever I get the time.

Zero Gear LUVBOT Video

This is a short video showing a few clips of the LUVBOT weapon working in the game. Once released, the LUVBOT’s programming takes over - seeking a player to love. Once he comes in contact with someone, he latches onto them in a Super Love Hug Hold™. Unfortunately due to a design flaw in LUVBOT’s circuitry, LUVBOT’s love capacitors begin to overload in a few seconds, leading to a large discharge of love energy.

I Know What You Did Last Week #20

Last week continued to be pretty constructive having everyone working from the San Diego office. Heres what went down:

Last week I finally got around to displaying an image when the game is loading. You will not be seeing this graphic for too long as currently Zero Gear loads super fast. Some code was added to make debugging easier. The server’s framerate is now displayed on the client’s network display GUI. It is now easy to see if the server slows down for any reason. I also added some very simple spike detection code to display when a game system (networking, rendering, sound, etc) slows down for some reason. So far the results have been… interesting.

This week I will continue optimizing, smoothing, and polishing. I also hope to spend some time on making the game build faster.

Last week was split between nursing a really bad cough and head cold and working on Zero Gear. I spent the majority of the week tweaking suspension and other physics values on the physical kart model. After days of tweaking the mass, wheel friction, suspension stiffness, compression and dampening, I finally arrived at a physical model that is much more stable than it was previously. You can never totally control what happens in a fully physical simulation, but we can try and help it in the right direction.

This week I will be working with Ian to continue putting polish on our existing game modes and general player experience.

Last week I got my feet wet in the Zero Gear Lua script code by implementing “air steering” so the player can control the rotation of their karts when in the air. After that I spent the majority of my time reworking the camera system to look a little nicer with plenty of help from Brian. This week I’ll be trying to fix even more Zero Gear odds and ends.

Zero Gear Stunts Video

One of the things we have decided to try adding into Zero Gear since Ian started helping out on the game is being able to rotate the kart in order to give people more control over landings and mid-air stunts. It only took a few hours to get into the game, and it really adds a lot to your feeling of control. I made a quick video of some stunts using the air controls on my new Skate map, check it out!

I Know What You Did Last Week #19

Things are JAMMING here at NimbleBit HQ. All of our forces have assembled to form the Ultra NimbleBot.
officezg

A quick aside, here is a cool postmortem article from Cogs‘ creator Rob Jagnow of Lazy 8 Studios about indie game wrangling and lessons learned.

Onto the meat!

Doxygen is a neat tool that will take your source code as input and output nicely formatted HTML documentation. Ogre uses it and has really nice documentation. As Ian is currently helping out with Zero Gear, I decided it was time to generate proper docs for the game. The only problem is that docs aren’t being generated for a few random files. Does anyone know why this might be? I have EXTRACT_ALL selected in the settings…

Last week I continued the never ending journey of making the game run faster, smoother, and 10% more delicious. One quick thing I did that resulted in a smoother game was smoothing out the synced time between the server and client instead of just directing setting it upon syncronization. I like simple solutions like this! Still not perfect, but getting there. Also, I decided it was time to limit the server framerate (it was up to 3000 FPS at times!) to 200 FPS so it uses less CPU time.

This week I am down in sunny San Diego (and HOT compared to foggy SF) to work with Dave and Ian on Zero Gear. We are already making great progress and have a small LAN party planned for this weekend where we will do some testing. Should be fun!

Last week I finished up the graphics of my new Skate map, which in a fortunate turn of events has transformed into a great physical sandbox for all our kart physics testing needs. I have clocked in many miles over the last week constantly driving and tuning, driving and tuning - rinse and repeat. I have also been testing all the bug fixes coming through.

This week will be much more testing and driving and tuning (while battling a wicked cough / head cold). More Zero Gear is being played in the NimbleBit offices than ever before, certainly a good sign!

Last week I submitted updates to every one of our twitter enabled iPhone games, adding features that toggle tweet visibility to your followers and store a score tweet to send later when you’re offline. In other news, Moon Drop has been featured in the “What’s New” section of the App Store! We’re hoping this brings more attention to our newest NimbleGame.

Right now I’m up to my neck in Lua trying to help out with Zero Gear, wish me luck!

New Zero Gear Skate Map

Here are some promised new screenshots of what I have been working on for Zero Gear over the last week or so. Hopefully it will blossom into a new game mode centered around stunts, and recognizing barrel rolls, flips, airtime, etc. Kind of like Tony Hawk meets karts. Soon I also hope to experiment with allowing players to align the rotation of their kart in mid-air, similar to games like Motocross Madness or Rush 2049. This might allow players to land all sorts of tricky jumps as well as pull off new tricks.

I Know What You Did Last Week #18

Last week was pretty busy, here’s a quick summary:

Poison Oak, it is poison and tries to eat your arm. That is what I learned last week. Also, to be sneaky, it will wait about 5 days before making its presence known. It is to be avoided at all costs. As I watched my arm get eaten over the course of a few days, I managed to get some work done on Zero Gear. A few errors related to weapons being destroyed, a really tricky bug that was causing the wrong kart to display, general optimizations, and an unexpected math error (I wish dividing by 0 would just produce 0, dumb math) bug preventing name tags from displaying in certain cases were all taken care of.

There are only 2 more big items left on the tracker. I am planning to take care of those today. On Thursday I am heading down to San Diego for a couple weeks to work with Dave and Ian on polish and testing. The build is really starting to look good!

Last week I spent a brief bit of time working on promotional graphics for yesterdays National Ice Cream Day Scoops promotion, as well as playing a lot of Moon Drop. For the rest of the week I was working on a new Zero Gear map taking the form of a giant skate park, or I guess I should say, kart park. Hopefully it will be the first map of a new stunt-based game mode, although it should make a pretty fun tag map as well.

This week I am going to put some glitter and veneer on the map so that I can post some media of it!

Last week saw the release of our latest game Moon Drop! Sales have started out pretty slow, but what reviews it has gotten so far have been glowing. I spent the weekend hammering on our Twitter integration, adding things like a switch to make your score tweets public or private (invisible to your followers), a Nearby scores page showing scores within 300 miles, and the ability to click on a player and see his past scores. Twitter’s powerful search parameters made it a breeze to implement and since the scores are web-based we don’t have to wait on Apple to push these new features live! Yesterday was National Ice Cream Day and our special Scoops promotion! Close to 35,000 took advantage of the tasty holiday and downloaded Scoops for free, hope they find it cool and refreshing! Scoops will remain on sale for 99 cents for the remainder of National Ice Cream Month. This week I’ll be wrapping up some updates to Moon Drop and other iPhone games before taking a vacation to PC game development land to lend a hand on Zero Gear.

Scoops Free On National Ice Cream Day


In 1984 U.S. President Ronald Reagan declared the third Sunday in July to be National Ice Cream Day. Reagan recognized the popularity of ice cream in the United States and stated that this holiday should be observed with “appropriate ceremonies and activities.” NimbleBit is celebrating this tasty and refreshing holiday on Sunday, July 19th by giving away Scoops (regular price $1.99) for FREE.

« Previous1 ... 345678910 ... 22Next » (215 total posts)