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.

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.

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.

I Know What You Did Last Week #17

Ian is omitted from this weeks post, claiming his last weeks vacation extends to having to write his IKWYDLW post this week. Valid point, or mere laziness? You decide!

While tracking down some performance issues, I discovered a sort of HeisenBug. The code I was using to find slowdown was causing slowdown. After adding a function to toggle this code, the game ran much, much faster. Some code that was no longer needed was removed from the input system. I had to add a key code translation function to the input system as some keys (~ [ ]) didn’t have the expected code on Dave’s new laptop (I hope that doesn’t come back to bite me square on the ass). There were other tweaks here and there, mostly related to performance.

For this week, I am going to finish working on optimization and fix the remaining big issues on our tracker. I count 7. Perfect, 1 a day…

Last week I spent some time prototyping the early stages of a skate park inspired Zero Gear level. I always have fun trying to do stunts on our current maps, so I figured it would be a lot of fun to have a map full of nothing but things to launch yourself off of and collide with. I also helped Brian with testing a little bit to help squash more bugs.

This week I am hoping to start refining my stunt park type map, as well as help Brian out with anything he needs in his quest to root out Zero Gear bugs.

I Know What You Did Last Week #16

Here is everything you need to know about what we did last week:

I have been working to make Zero Gear faster. To this end I have replaced boost::signals with my smaller, faster, less flexible solution. I replaced Lua with LuaJIT. LuaJIT takes the Lua code and converts it so it can be executed directly by the computer rather than by the Lua software interpreter. LuaJIT definitely makes your Lua code run faster but it has not improved the performance of the game. I started working to improve networking related code at the end of the week which had the biggest impact on the speed of the game.

This week I plan to make the game go from sub-light speed all the way to ludicrous speed. I will endeavor to perform adequately.

Last week I was working on some post-submittal promotional graphics for Moon Drop and another promotion we will be doing this month. I also did a little bit of testing with Zero Gear to try and help Brian zero in on where we are having some performance issues with the game. As we work out issues it is easy to see how crazy fun the game is going to get as we are able to support more players at once.

This week I am going to handle whatever the great spaghetti monster chooses to drop into my lap.

Last week we finally got Moon Drop out of the safety of the NimbleBit nest and out into the scary world of Apple Review. Its hard to tell how long before Moon Drop will be available, but we’re hoping less than two weeks. I’ll be spending the rest of this week on Catalina Island and hopefully doing a bit of brainstorming about future projects. I’ve been spending a lot of time writing lately but hopefully it won’t get in the way of prototyping some new concepts once I get back. Keep your eyes peeled for Moon Drop and I’ll see you all next week!

I Know What You Did Last Week #15

The hardest part of Mondays is remembering everything you did last week.

Making a game is really just the process of removing bugs. The very first bug being there is no game. I spent all of last week (and most of the past 6 months now that I think about it) debugging. Specifically I got some old, buggy gameplay scripts updated and debugged. I also fixed some problems in the bits of code that syncs players looks between the server and clients (what hat, kart, etc they are using and with what colors). I spent more time working on networking issues as well. Not too exciting but then 99% of game development is not exciting.

This week I plan to concentrate on fixing the remaining problems in the networking code. These problems are the last thing really holding us up at this point. I worked on a network stats display GUI over the weekend that should help me in this endeavor.

Last week was spent tweaking and adding the final graphical touches on Moon Drop as well as doing as much testing as I could. We were able to add some more personality to the game which is what makes it a NimbleBit title. Me and Ian hashed out some of the final game play tweaks and it should be headed off to submission soon! I also spent some time trying to find some sort of style we could use on our app icons to tie them all together into more of a collection, but have yet to find a style I like.

This week hopefully I will be doing a lot of Zero Gear network testing with Brian!

Last week I spent what feels like the majority of my time playing Baseball Slugger, but in between rounds we worked to get Moon Drop to the brink of submittal.

This week we’re tidying up the odds and ends and polishing it up before we pack it in a box and mail it off to Apple.

I Know What You Did Last Week #14

A brand new week! Huzzah! Here is the skinny on last week:

I spent most of last week confirming my suspicions: being healthy is much better for productivity than being sick. Even with this blight upon my mortal vessel, I was able to get a few things taken care of including fixing a few remaining issues on map change, polishing some weapon’s behavior, and a few other small issues.

This week I am feeling healthy and ready to enact my vengeance on the remaining bugs in Zero Gear. Also, I got one of those fancy XBox controllers that all the kids seem to like. I plan to get it working in our code after all the vengeance is done being enacted and whatnot.

Last week I was doing some more testing for Zero Gear, trying to figure out the cause of a few bugs in our persisting quest to get to another larger scale testing phase. I also spent some time working up the graphics for our next iPhone game, Moon Drop. I have also been spending time playing the game and working with Ian on tweaking the gameplay and screens. This week I will finish up any graphics that remain to be created and trust Ian with tying up all the loose ends! Hopefully you will be playing Moon Drop soon.

Last week was all about recovering from WWCD-itis which seemed to spread like a wildfire through the weak and immune system compromised nerds up in San Francisco. After being revived I got to work on our recently announced game titled Moon Drop. As you can see from our video preview, we’ve got the core gameplay nailed down and are hoping to have a finished product in the next week or two.

I Know What You Did Last Week #13

No blog posts between IKWYDLW updates… either we have been lazy last week, or we have just been very busy. I will let you decide!

*Murphy has contracted an illness which I can only assume is a new strain of “Cat Flu” due to his regular proximity to cats, so I will just mention a few things he worked on last week -dave.*

A few weeks ago we finally started using an issue tracking piece of software to nail down exactly which things we want to finish for the next beta of Zero Gear. We used Pivotal Tracker which is free and a very nice tool. So Brian has been working his fingers to the nub to whittle down the list of issues until we arrive at our next milestone for beta testing. Here are some of the issues he has crossed off the list in the last week:

Twister and Puncher weapon functional again, game bogs down when rapid input is given
graphical kart wheels not rotating properly
kart does not reset orientation when respawned
soccer ball object not graphically scaling, LUVbot weapon functional
GUI unresponsive to input
client not able to connect to a server if connection has failed in the past
camera not functional in garage
client lua error when switching maps.

wow, exciting stuff!

Last week I spent a few days working up some more graphics for an upcoming iPhone game which you should be hearing more about soon. The rest of the week I spent testing and logging bugs in order to more clearly define how close we are to the next Zero Gear beta. We finally got all the weapons working together, so I spent a few days tweaking masses and force values in order to make them all a behave a little better in relation with each other. The emergent gameplay that comes out of all these physical weapons interacting with each other, players and game objects is quite cool!!!

Last week I attended my first WWDC (Apple World Wide Developer Convention) in foggy San Francisco. It was quite the experience, and I’m glad I ended up going. Days were spent attending iPhone sessions and evenings/early mornings were spent at various parties sponsored by websites, developers, and publishers. I met a lot of great people, and learned much. I am glad to be home however, finally getting back to what I enjoy the most, making games! The long wait continues for the Bluebird and Scoops updates to be approved, but I’m wasting no time and diving in to our next iPhone game, more details to come!

« Previous1234Next » (32 total posts)