Old IncrediBots Relics
Last updated: April 18, 2011
IncrediBots didn't start out as the cream of the crop. It started out like any other game as a rough prototype, becoming more refined until they were satisified with the result. Below are some relics from its earlier days that have never before been compiled into one list such as this.
First on the list is the original IncrediBots logo. When most of you reading this think about that phrase, you think of the logo at the top-left of this page, since it was made for IncrediBots 1, right? IncrediBots 2 wasn't even a consideration yet, so surely that's it? Believe it or not, there was a logo before that one, created as a prototype. So how did I find it? Fortunately, the original IncrediBots website didn't disable directory listings. I used that knowledge to scour their known directories and download every file. The /images/ folder for the most part was uneventful, containing things like avatars, smileys, and website elements that were in use (many of which are in use here as well).
Then I came across a file named "incredibots_logo.gif". Like most of you, my first reaction was that I had come across the file found in the top-left corner of the webpage. When I took a look at it, what I saw amazed me. You mean, there's another logo I never knew about?! Indeed there was. After a quick inspection, I quickly realized why it wasn't used in the final product. Here's the image:
Fascinating, isn't it? But it looks "industrial", as if at a construction site. Matt Parry (the graphic designer of all original IncrediBots images) showed this to the rest of the IncrediBots crew, and they came to the same conclusion: it was a good logo, but it seemed to target a more adult audience than they thought they would reach. They liked the lowercase "i" with the gear for the dot, so that was kept in the final logo, even down to the number of teeth (6) and orientation of the gear. Matt Parry went back to work designing a more kid-friendly logo, and the IncrediBots crew liked what he made, so his second design was kept in the final product.
Next on the list is an in-game graphic for IncrediBots 2 that was created, but never used. Instead, another version of the same graphic was used. You can find both the old version and the new version if you download the open source IncrediBots, then navigate to [download location]/incredibots/Incredibots Open Source/src/Incredibots2/resource/ and look at the two images named "Incredibots_Congratulations_1.png" and "Incredibots_Congratulations_2.png". Based on .../src/Incredibots2/Game/Graphics/Resource.as , the first one was used and the second was included, but otherwise omitted.
Keep in mind that the image labeled "_1" was used in-game, and the image labeled "_2" was included, but omitted. This naming convention implies that Matt Parry created "_1", then somewhere along the line decided to create a second version which he named "_2". It also implies that the IncrediBots crew wasn't satisified with "_2", so they stuck with "_1" instead. Here's the second version that went unused:
And here's the first version that was used:
The third item on the list predates the last one, and possibly the one before that. Ryan Clark sought help from internet users like you or me on forums under the alias of "theluckyleper". He has used this alias many times in the past for various sites, but keep in mind that the name was discovered on the original IncrediBots forums, and later on the Grubby Games forums, so there have been impostors using the alias in a not-so-appropriate manner. As a general rule, if the alias itself predates November 10, 2008 (when IncrediBots first went public), then it's probably Ryan (but this is not guaranteed).
The first of these posts was made on June 16, 2008, almost five full months before IncrediBots went into public beta. It links to IncrediBots, then asks for feedback and help for a few issues. Interestingly enough, v0.01, which can be found on the changelog here, has a date of October 31, 2008, four and a half months after this post was made. Here is a screenshot of the post:
Later that day, in the same thread, Ryan explains why rotating joints break when they experience a certain amount of force (most noticeable with chains):
So it seems this was intentional, rather than a Box2D bug, in an attempt to prevent rotating joints from being pushed too far apart. It doesn't solve the problem, but it does prevent users from exploiting that weakness.
The next day, Ryan asked for help with prismatic joints (known in IncrediBots as "sliding joints") bending perpendicular to their direction of travel, and linked to the original thread depicted above. Here is a screenshot of the post:
Later that day, he made a second post in the thread asking if anyone had any ideas for solving it, and explained why sliding joints have the appearance that they do:
So the appearance of sliding joints is not just graphics, but a functional method of making the sliding joint more rigid. This also explains why IncrediBots 1 never had non-colliding sliding joints -- turning off collisions meant the sliding joint could no longer retain its stiffness.
Then, on October 25, 2008, Ryan announced that IncrediBots was in "limited beta", and gave examples of things you can do in IncrediBots. Interestingly, this was six days before v0.01 was released, which can be found on the changelog here. Here is a screenshot of the post:
Unfortunately, those links no longer work, and we do not know if anyone saved early bots like that, or if they were able to. If you have any information regarding these bots, please see the Help Wanted page!
On November 20, 2008, just ten days after IncrediBots went into public beta, Ryan asked for more help. There was a problem with replay syncing, with the cause not fully known, and Ryan wanted help in solving the problem. If you find old replays from IncrediBots 1, one common problem you'll come across is what Ryan refers to as "jittering". In essence, bots that move any moderate distance can have problems where their expected location is much different than their actual location. To solve this, IncrediBots 1 uses a "sync frame" after every five seconds, which records all the locations and rotations of objects on-screen every 150 frames (5 seconds at 30 fps), and the playback "syncs" with these locations.
Ryan suspected that it was caused by the fact that Box2D behaves differently across different processor architectures (e.g. PPC vs. Intel), but the problem was still there when a replay was played back on the same machine that saved it. This confused Ryan (and Oliver Trujillo, the other programmer) enough that Ryan offered $100 USD for anyone who could solve the problem. Here is a screenshot of the post:
Later that day, Ryan asked how Fantastic Contraption solved the problem, since the help he was getting wasn't what he was looking for. We now know that Fantastic Contraption doesn't rely on any user input whatsoever, so the only information needed to reconstruct a replay is the location data for every rod, wheel, and block, which (obviously) doesn't help Ryan's problem.
The next day, a user suggested skipping the physics entirely and instead recording the position and rotation information for all shapes every x frames, graphically transitioning the difference between each recorded frame to make up for the frames where no new shape data was recorded. So if he recorded at 10 fps, then two out of three frames would be a transition from the one before them to the one after them, since IncrediBots runs at 30 fps. Ryan liked this idea, so he payed the user $100 USD via PayPal, the same system we now use to handle donations.
Do you have any more relics to add to this page? Have an idea for a relic? Please see our Help Wanted page! NOTE: please do not send us your bots or links to them unless it was either made on IncrediBots 1 with a URL robotID of under 100, or was made by Ryan Clark and was NOT featured when the servers were taken offline.