Revealing the secrets of Icy Tower v1.3.1

Hello :)

The stuff I’m going to release here is something I’ve worked on a year ago. Back then, v1.3.1 was the latest version of Icy Tower, and I’m sure that if I’d release it then, johanp would hate me as heck (remember how he reacted on Icy Tower Replay Editor?). But today, Icy Tower v1.3.1 is history. Also, IMO, Icy Tower is history in general (at least the desktop game, can’t tell anything about mobile/facebook as I don’t really know what these are). v1.4 mostly ruined the game – it became more static and ugly (no eye candy, images look stretched), harold’s got large ears and is not as cool as before, the game’s got lots of options, which makes it more complicated. Also, the official forum is not as active as it was before.
So, here it is…

A project called replay_checker:
rar replay_checker.rar (45.34 KB)

This small console program does the following: loads a replay, checks it for validity (including the hash), and then silently plays the replay to verify it’s validity, just like the official itr checker.
So, what’s so special about it? It’s completely open source!
The replay file format, the hash calculation method, and the Icy Tower physics (in fact it’s whole engine) – these are available to look at from inside.
If you are familiar with graphics programming, you can easily turn this replay_checker to a replay_player, or even write an Icy Tower like game, which is capable of saving compatible replays :)

P.S. You can download Icy Tower v1.3.1 here.

P.P.S.
rar bonus.rar (518.94 kB)

Posted in Reverse Engineering by RaMMicHaeL at April 4th, 2010.
Tags:

8 Responses to “Revealing the secrets of Icy Tower v1.3.1”

  1. jean says:

    i want to have a cheat of icy tower

  2. Jacob says:

    Thanks for sharing your program! On polish forum I discussed about hash calculation, I could manipulate headers values, but I didn’t know, how are generate floors etc. This is very useful information!

    Neuer created topic a years ago on polish board “replay converting” (http://forum.icy.pl/viewtopic.php?t=1644). He converted replays from 1.4 to 1.3. Most of them were broken, but some replays were valid! Icy Tower 1.4 generates floors like 1.3 *but* difference is on floor: 30, 60, 90, 120, 180, 210, 240 (for example, in first game floor 60 and 210 are different than in 1.3, in second game floor 30 and 60 etc.) Maybe do you know, how this fix it?

    Btw. I use Linux and I had some problems with compiling this source (this is logical, you used Visual Studio :P). I re-edited some files and if someone want compile this stuff under Linux (gcc 4.2.4), can download this tarball (http://jakob.kilu.de/replay_checker_gcc_4.2.4.tar.gz).
    Compiling (example): g++ -o checker replay_checker.cpp Icy_Tower.cpp
    Using: ./checker replay.itr

    MfG Jacob

    • RaMMicHaeL says:

      > Maybe do you know, how this fix it?
      Nope, I’ve never looked at Icy Tower v1.4. It probably uses different algorithms.

      > I use Linux and I had some problems with compiling this source
      Yeah, I’ve used a couple of hacks for Visual Studio to make it compile a code compatible with GCC’s. It should be enough to remove those to make it compile with GCC.
      Your link is not working, BTW.

  3. h,a,c says:

    I WANT 2 HAV A CHEAT DAT Maqs STRA8 LINES DIZ AINT NUTHIN BUT TRASH…….

  4. I may be late on this. But I found out there are cheats for words w/ friends. It makes the game less fun. Opponents are hard to trust now =/

Leave a Reply