Bloons TD5

Bloons TD5

Not enough ratings
Use any FPS [BTD5]
By Walter
Tutorial and explanation on how to change the game's FPS to any value you want.
   
Award
Favorite
Favorited
Unfavorite
Change your FPS
Hello, yesterday i found out how to change the game's fps to any value you want, some common values you might want:
75 fps: 111111111111913F => 4F1BE8B4814E8B3F 90 fps: 111111111111913F => 176CC1166CC1863F 120 fps: 111111111111913F => 111111111111813F 144 fps: 111111111111913F => 1CC7711CC7717C3F 165 fps: 111111111111913F => D318308D01D3783F 240 fps: 111111111111913F => 111111111111713F 1000 fps: 111111111111913F => FCA9F1D24D62503F
To apply these hex edits:
  • Download HxD or any other hex editor
  • Open BTD5.exe in the hex editor
  • Do CTRL+R or find a replace button
  • Replace the first value: 111111111111913F with the second
Notes:

V-sync should be on, so any FPS higher than your monitor supports should default to your monitor's max refresh rate.

Also there is a bug in the game engine where the game's FPS is slightly higher than the set value.
Stock 60 fps value becomes 64 fps, 240 fps becomes 250.
Create your own values
You can now create your own FPS values easily.

I made a python tool and have posted it to Github.

The .exe file:
https://github.com/Walter-o/BTD-fps-tool/releases/tag/1.0

The source code:
https://github.com/Walter-o/BTD-fps-tool
How i found it
Now what is the story behind me finding out how this works?

I once asked in a forum how to mod BTD5's fps from 60 to 144 and i got this answer as response:
11 11 91 3F => C7 71 7C 3F
I thanked him and asked how he did it and he never responded.

Well a few days ago someone named Andrew added me and asked me if i knew how to mod the game to 240 fps.
And i didn't, i have tried reverse engineering the 144hz hex edit before but never managed to.

Yesterday i did another attempt and went to the location where the value was used in IDA disassembler, and i noticed tons of weird instructions happening, a lot of which that ended with `sd` and `ds`.

So i googled what those instructions mean and basically they are only used on "Double-precision floating point numbers".
And that was basically the answer, they are double-precision floating point numbers, they include an exponent and mantissa which goes way over my head for now but i at least know how to recreate the things in the Python programming language.
How it works
So the formula is basically this:

Take the fps you want, eg:
144
then divide 1 by it:
1 / 144 = 0.006944444444444444
then create a hexadecimal representation of the exponent and mantissa of that floating point number:
3F7C71C71C71C71C
then reverse the endianness of that hex string:
1CC7711CC7717C3F

And thats the entire process, i made python tool to automatically do this and it is now available in the "Create your own values" section.
Ending
To end this post i'd like to say ninjakiwi should add the option to change FPS ingame, it does not affect gameplay integrity whatsoever and would be a lot more user-friendly than opening a hex editor.

This post will be cross-posted across other BTD games that have the same engine and will be edited slightly if needed (most likely for BTD Battles since that one works a bit different)

Use any FPS [Bloons Monkey City]
Use any FPS [Bloons TD Battles]

Good luck everyone.
7 Comments
Walter  [author] 4 Sep, 2023 @ 2:48pm 
Actually speeding up the game is only possible through mods (or maybe cheat engine).
And in BTD6 it insta-bans your account if you use it (1).

There are probably BTD5 mods/hacks online that allow you to do that if you really want to. but yeah.

Source (1): https://support.ninjakiwi.com/hc/en-us/articles/8174850681745-Account-Flagged-for-Hacking
Walter  [author] 8 Apr, 2023 @ 12:17pm 
I added the 165hz to the list in the guide since its really common now
ICE Agent 7 Apr, 2023 @ 11:59pm 
Thank you!
copelow 12 Feb, 2022 @ 4:45pm 
D318308D01D3783F for anyone with a 165hz monitor, saved ya some clicks.
Odds15 22 Aug, 2021 @ 7:33pm 
alright, thanks for the info :btd6thumbsup:
Walter  [author] 22 Aug, 2021 @ 4:35pm 
BTD6 has built-in support for high framerates so i'm pretty sure ninjakiwi aren't against it.

If you are talking about a modified game.exe being bannable then the worst thing that can happen is you being kicked from a co-op game and being told the .exe is invalid.

That is what happens on VAC enabled games (which BTD5 is not) and they do this to prevent people with corrupt files from being banned.

So all-in-all, no, there won't be a ban.
Odds15 22 Aug, 2021 @ 4:24pm 
It's there any bad outcome like getting Game Banned?