I thought this was an INSIDE-like game, but it has 2D brawler combat, detective work, Resident Evil-like item inspection, and a map.
This game is a Lovecraftian detective game with 2D combat and cryptographic puzzle solving. We love it!
We found a cipher with all numbers and letters for the ingame symbols. And we have a cipher device where the two first digits are locked to 18. The numeric symbols express 1-4 decimal digits per symbol.
This game is rough around the edges. The frame rate is very unstable, even on Performance Mode, the platforming is a little unprecise, the combat feels random at times, the sound design and music has repetetive elements, and we had a bug where there was no ambience or music at all, only some rough sounding footsteps. Also, annoyingly, you enter the map with Start and exit with B, which we keep messing up. Despite of all those things, we still love the game.
The Loneliness was a horrible runner sequence where slight mistiming of jumps and blocks results in restarting the sequence over and over again, eventually leading to game over, a slightly long load sequence, having to inspect and item, and then start over. Very frustrating.
For the first time, we used AI to help us solve a puzzle. The game had a puzzle that included solving the (very simple) equation:
x-100+10+1=1810
I asked ChatGPT to solve it:
x-100+10+1=1810, solve for x
and it gave me the correct answer, 1899.
Playing half an hour before work, We finally got the Kogai Pin which unlocks most of the locked doors in Limbo.
We found a new area, got a Flashlight and upgraded it fully.
The final campfire rotating disc puzzle was too annoying to solve, so I employed brute force Ruby scripting:
# Final camp puzzle # Positions are triples [inner, middle, outer] # - adjusting left is negative, right is positive start_pos = [0,0,0] target_pos = [2,3,4] # relative to start_pos moves = [ [" in ->", 1, 0,-3], ["mid ->", 0, 1,-4], ["out ->",-1, 1, 1], [" in <-",-1, 0, 3], ["mid <- ", 0,-1, 4], ["out <-", 1,-1,-1] ] puts "Moveset:" moves.each do |m| puts m.inspect end def do_move(pos, move) # rotate 'pos' as specified by 'move' [(pos[0]+move[1])%10, (pos[1]+move[2])%10, (pos[2]+move[3])%10] end (1..5).each do |move_count| print "." (0..10000).each do |t| # retries pos = start_pos movelist = [] (0..move_count).each do |m| # try 'move_count' random moves move = moves[rand(6)] movelist.push(move) pos = do_move(pos, move) if (pos == target_pos) then # solution found! # Moves correspond to vector *addition*, order of moves doesn't matter movelist.sort!{|a,b| a[0] <=> b[0]} puts "solved in #{move_count} moves after #{t} retries. " + "pos:#{pos} target_pos:#{target_pos}" puts "start #{start_pos.inspect}" pos = start_pos movelist.each do |solution_move| pos = do_move(pos, solution_move) puts "#{solution_move[0]} #{pos.inspect}" end exit end end end end # solved in 5 moves after 1110 retries. pos:[2, 3, 4] target_pos:[2, 3, 4] # start [0, 0, 0] # in -> [1, 0, 7] # in -> [2, 0, 4] # in -> [3, 0, 1] # mid -> [3, 1, 7] # mid -> [3, 2, 3] # out -> [2, 3, 4]
The idea of looking at a self-playing piano for chess moves is fun, but when you can't ready the letters and numbers on the chess board due to poor lighting or texture quality, it's very annoying to solve.
We found all the records and listened to them. Good work, Girlfriend.
After a long break, we went back and competed this game. The big spider came and stabbed the dad with the leg, LIMBO-style. The Inquisitor boss fight was a bit frustrating, my main complaint is that the dodge move requires 'mana', which makes it reliable.
We continued the game, bought all the upgrades, and got the final achievement.