Video Game Bad Hotel (PC) (2013)

Bad Hotel (PC) (2013)


Relevant Links:
Bad Hotel (Metacritic.com)

Bad Hotel consists of building a hotel by attaching hotel rooms to each other and defending the main hotel from destruction. Of course, to get a chance at achieving a high score, any room built must remain standing by the end of the level.

While on the surface the game is simple and fun, I was especially taken in by trying to optimize the way I build a hotel and also found myself trying to reverse engineer the scoring system.


There are three important tips on playing Bad Hotel:
1) Build as much money generating buildings as early as possible, dishing out for defense and/or offense only as needed.
2) Minimizing distance from the main hotel in order to maximize actions per cost.
: For example, you have six rooms attached to your main hotel and then decide to build one room connected to one of the six rooms. Instead of optimally cycling Main Room->Six Rooms->Repeat, you are now cycling Main Room->Six Rooms->One Room->Repeat. In time units, three cycles of the first is two cycles of the second. However, that equates to twenty-four actions per three time units compared to eighteen actions per three time units.
3) Pay attention to surface area.
: Too little surface area can be bad, because then damage may be concentrated and abrupt. But too much surface area can be bad, because then it becomes more difficult to protect your assets.


20140203: [20140318]
Today I start playing Bad Hotel for the first time (Tim Plays Bad Hotel Part 1), spending a little under two hours with the game.

However, soon after, I spend nine hours with the game! (Tim Plays Bad Hotel Part 2). These first nine hours started out with the level Hot Sands, where I slowly begin to understand how to place buildings optimally: at a diagonal.

By about forty-five minutes into these nine hours, I come up with the following build:

~~~Game Plan~~~
.....2-M-2.....
.......|.......
.......M.......
....../|\......
.5-3-1.1.1-3-5.
.....|.|.|.....
...7-4.4.4-7...
....../.\......
......6.6......

With it I'm able to get the following scores: 2168 and 2208.


Eventually, however, about an hour into these nine hours, I realize I can optimize actions by building all my rooms within two connections of the main hotel. I begin with working with a setup that looks like the following:

~~~Game Plan~~~
...8.9-9-9.8...
....\..|../....
...6-2-M-2-6...
.......|.......
...6-5-M-5-6...
....../|\......
...3-1.1.1-3...
..../|.|.|\....
...7.4.4.4.7...

Legend: 1=S.Money; 2=Attack; 3=Heal; 4=S.Money; 5=Attack; 6=S.Money; 7=Attack; 8=Attack; 9=S.Money;


I arrive at the above build by the one hour and five minute mark. However, I soon realize that the above build causes problems at the corners. By the one hour and thirty minute mark, I come up with the build below:

~~~Game Plan~~~
...6.8.9.8.6...
....\|.|.|/....
...8-4.8.4-8...
......\|/......
...8-5-M-5-8...
.......|.......
...8-6-M-6-8...
....../|\......
...7-1.2.1-7...
..../|.|.|\....
...3.8.8.8.3...

Legend: 1=S.Money 2; 2=S.Money 1; 3=Attack 2; 4=Attack 2; 5=Heal 2; 6=S.Money 4; 7=Attack 2; 8=S.Money; 9=S.Money;


Using the above build, I earn a score of 93096 at the one hour and thirty-six minute mark. Trying to improve on this score, I try to purchase the rooms which rake in more money, but find little success.

By the two hour mark, I'm working with the following diagram:

~~~Game Plan~~~
...............
....\|.|.|/....
...8-4...4-8...
......\|/......
...8-5-M-5-8...
.......|.......
...8-6-M-6-8...
....../|\......
...7-1.x.1-7...
..../|.|.|\....
...3.......3...

Legend: 1=L.Money 2; 3=Attack 2; 4=Attack 2; 5=Heal 2; 6=L.Money 4; 7=Attack 2; 8=L.Money; 9=L.Money;


However, I begin to realize that I should determine my rate of income. Thus, by the two hour and six minute mark, I begin collecting data and determining how much money the various buildings are generating for me. If you watch the video, this simply consists of building a single building and measuring how much money is generated by the time the main building is destroyed. For good measure, I take many sample points and proceed to use my spreadsheet program (OpenOffice.org Calc). Unfortunately, I don't quite make the correct interpretation of the data and number crunching until the three hour and fourteen minute mark when I realize that the main building generates money.

At the three hour and thirty minute mark, I conclude that the $300 room generates $6/tick, the $200 room generates $4/tick, and the main building generates $4/tick. With this hard work, I'm able to achieve the following high score (tenth on the leaderboard) at the four hour and twenty three minute mark:

Shoreline Shambles - Hot Sands
Height 51
Profit 9938
Rooms Destroyed 0
Rooms Remaining 28
Rounds Fired 182
New High Score 278497


Having achieved the above, I set out to determining building height. By the four hour and thirty-five minute mark, I recorded the following:

Height:
2 stories = 16
3 stories = 25
4 stories = 33 (includes going underground)
5 stories = 42
6 stories = 51
7 stories = 59

Having determined the height, I begin collecting more data points and set out to determine a formula for the total score. At the six hour and twenty-two minute mark I settle on an almost accurate formula for the total score. As a summary, the total score is approximately Profit*RoomsRemaining/(1+RoomsDestroyed).

[20140318: While reviewing my recording and cleaning up this blog post, I realized that I should try taking the above formula and taking its difference with the score assigned by the game. Sure enough, the difference returned the height of the building (off by a fraction)! For the data in the spreadsheet, the formula for the total score is given by
[Profit*RoomsRemaining/(1+RoomsDestroyed)]+Height
rounded down to the nearest integer.]


[[

However, in Tim Plays Bad Hotel Part 3, at the two hour twenty-two minute mark, it seemed as if the total score was given by
[Profit*RoomsRemaining/(1+RoomsDestroyed)]+4*Height.
I proceeded to check the score for Sunshine and Showers and the score there seemed to be given by
[Profit*RoomsRemaining/(1+RoomsDestroyed)]+7*Height.
It wasn't until checking the score for Vacancies (Tim Plays Bad Hotel Part 2, seven hour twenty-two minute mark) that I realized the true formula is given by
[Profit*RoomsRemaining/(1+RoomsDestroyed)]+Height+RoundsFired.
]]

Around the six hour and thirty minute mark, I determine whether I should build more buildings at the end of a level, or get an estimate on if I should have built less. (Technically, I don't realize that this formula is only endgame relevant until the six hour and fifty-five minute mark) In any case, this level of optimization is only beneficial on a small scale.

[20140318: Omitting the math (take a derivative and find the critical point), simply make sure in the final moments of each level that the profit divided by the cost of your cheapest building does not exceed the number of buildings which remain. If this quotient does in fact exceed the number of buildings which remain, then purchase as many cheap buildings as required to fix this difference (half the difference).]


I move onto the second level (Clean Rooms) at around the seven hour mark. I get a high score (sixth on the leaderboard) for that level at the seven hour and eight minute mark. I move onto the third level (Vacancies) and get a high score (eighth) for that level at the seven hour twenty-two minute mark. However, I find myself close to the next rank and keep playing. After several tries, I give up and move on to the fourth level (In a Miner Key) at the seven hour and thirty-five minute mark.

Desert Downfall - In a Miner Key
Seven hour and forty-seven minute mark:
9 Mines is excessive
3 Inner / 4 Middle / 2 Outer
Score: 334714
Seven hour and fifty-two minute mark:
2 Inner / 4 Middle / 2 Outer
Score: 490065
Eight hour mark:
8 Mines and 3 Shooters is still excessive
2,1 Inner / 2,1 Middle / 4,1 Outer
Score: 519820 (seventh on the leaderboard)
Eight hour eight minute mark:
2,1 Inner / 3,0 Middle / 3,0 Outer
Score: 623933 (fifth on the leaderboard)

At the eight hour and ten minute mark, I move onto the fifth level (The Storm). I achieve a high score (ninth) at the eight hour and twenty four minute mark. I start the last level of Desert Downfall (Sunshine and Showers) at the eight hour and twenty-six minute mark. I end the stream with little success.


20140204:
Today, I play for approximately 4.5 and 2.5 hours for an approximate total of 7 hours (Tim Plays Bad Hotel Part 3, Tim Plays Bad Hotel Part 4).

In the first segment, I repeatedly try to get a high score on Desert Downfall - Sunshine and Showers. Things look especially promising when I realize that I can arbitrarily prolong the level by forcing the cloud enemies outside the firing range of my mines. The successful run occurs between the one hour twenty-three minute mark and the two hour mark.

Desert Downfall - Sunshine and Showers
This level is broken. Just build enough healers prevent loss of buildings, while keeping the last cloud out of range. The range of the mines fired will increase over time. Monitor the range carefully while building $200 hotel rooms.
Height 314
Profit 674888
Rooms Destroyed 2
Rooms Remaining 564
Rounds Fired 1874
New High Score 126881132 (second on the leaderboard)


I get a high score (tenth) for Hot Sands at the two hour twenty-one minute mark.

[A lot happens that I don't wish to determine.]

During the last hour of the first segment, I have my spreadsheet open and covering half the screen. Oy.

At the one hour forty-nine minute mark of the second segment, I attain eighth on the leaderboard:

Mountain Mayhem - Strumming on the Old Dino
Broken. Just build ice machines and freeze the snakes at the end. You'll make so much money, just keep building cheap ice machines and you'll increase the multiplier on your score. At 35000, I only built 100 and could have optimized by building 20 more ice machines. Though actually I should have built rooms for rent... I didn't realize the snakes would slow down so much. To think I lost two buildings and still got 8th place.

I stop streaming and playing after completing the last level of Mountain Mayhem, Trouble at the Saw Mill.

No comments:

Let me know what you think!