Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics


A member registered Dec 13, 2020 · View creator page →

Creator of

Recent community posts

Thanks! Nice avatar, love System Shock :). Will check out your game.

Thank you for your hard work! I'm enjoying Panama very much! Found another bug though.. Lee's terminal in the Deep Canal level seems to be the same as the Ronin terminal previously. It has a disable android/cyber hounds option even though there's no android/cyber hound etc.

(1 edit)

Hi, I have a bug.  After loading a save, I can't switch to a party member (Ballistic). I got a message that went something like: Error, the player must be a living and sentient object. Restarting the game (quitting and opening again) fixed it. This is Brigand v9.4E and Panama v6.2.

Edit: Another bug, throwing a poisoned glaive at Kalfu pirate-- I got message: Error: unrecognized command 'effect'.

For anyone trying this on Linux with a recent Wine version, it requires dinput8- the one provided by winetricks didn't work for me, but putting a 64bit dinput8.dll from here ( in the same folder as the exe did.

As for the game, I gave it a quick try, and it looks like fun. Didn't play past the tutorial and intro story bit yet though. I get lag spikes every 3 seconds exactly, though I don't know if that's a Linux thing, or not. And sorry, but the pathfinding is also really bad.

No problem! Thank you.

(4 edits)

Hey, bought the bundle recently and I just want to say that this is a great game. That special vibe that classic immersive sims have-- you nailed it. Some of my favourite moments were storming Junk Fort with the piano music playing in the background, getting lost in the jungle after dark, and discovering Marvin's lab in the caves.

I've almost finished my first playthrough (I've reached the finale with AARFY). I did have to cheat a bit on the Polyphonic: used editor mode to make a save prior to opening the bridge doors. Already looking forward to replaying with another character type and trying out Panama/Nightmare.

Also some (minor) bug reports (v9.3B). None of these influenced gameplay at all.

1. Medkit mastery is a passive ability, but the in-game description doesn't say so. It lists a range and meta cost, and if I try to use it I get -- ERROR: File does not exist: 'scripts\.bsl'. It works as it should though (I heal 40, cause I also have efficiency)

2. When I tell a ghoul refugee in my party to stay put I get -- ERROR: Unrecognized command: 'aifaction'. Only tried with the ghoul just outside south Pochutla.

3. When I killed the ITIC guy on the Polyphonic with Parasitic Touch I get -- ERROR: Unrecognized command: 'effect'. Don't know if it happens for others, cause he's the only one I actually finished off with Parasitic Touch.

4. One of the loading screen tips references a spell called 'Ally of Chaos', which is called 'Demon Friend' in the manual. No idea what it's called in game, cause I didn't find it.


I just reloaded the save before the oil rig, and found another bug. I went to the house in Loma Larga where all the party members wait for you, and there was Boris, offering to join me on the last mission, however when I try to talk to him, I just get the dialogue options from before when he was in his shop.


Finished it (Normal difficulty). Score 7/10. Sided with Eleggua. Made friends with Ghouls. Played as a rifle/voodoo guy for most of the time, expanding into other stuff as needed. Barely used party members at all. I am crazy about this game. The only things that annoyed me were the tedious inventory management and that fighting enemies with laser guns felt too difficult in an unfair and unfun way.

> I spent some time trying to come up with a wrapper game; something like a map of a city with all the individual buildings you can infiltrate on it. I’d like there to be an overarching mystery to unravel, or threat to unmask. Figuring out how that should work has been a challenge.

I can see that as being a great game, especially if it would also incorporate the more supernatural elements from Thief (wizard's towers, pagan forests, ancient trap filled tombs). Best of luck when/if you try it out! 

Just to throw a few ideas out there:

On the big map, a player could strategize which district (each with it's own level generator, obstacles and items) to play next- depending on what they're ready to handle, or which loot they want. Staying too long in a single district makes it more difficult (e.g. increases guard presence) or eventually temporarily blocks it from play completely. Random events force the player's hand to play certain districts or special levels (e.g. city watch raid the hideout). Occasionally story events hint that a clue/story item can be found in a certain district.

(1 edit)

> It’s true there isn’t much game here.

There's quite enough game for something I'd play when I'd usually fire up Minesweeper. It's fun, the rules are simple and it's catchy in that way. My comments were from a perspective of a traditional roguelike lover more than anything else. For an arcade-y game, all you'd need to do is add some kind of highscore tracking (based on progress, number of alerts, etc.), and you could call it done.

> Disguiser was a semi-successful attempt to add disguises as a tool although their exact role isn’t settled in my mind. There is a slightly newer version over on that changes the role of disguises a bit.

Just tried it for a little bit- am I correct that the difference is that the guards of the same colour as the disguise will still get suspicious if you get too close, while the other colour ignores you completely (unless you steal/hide of course)? A nice way to add depth, and it makes sense. Though I'd call disguises a success (without the semi) in both cases.

> It was also an attempt to learn Rust, JavaScript, WebAssembly, and WebGL be able to move games to the web for a lower barrier to getting people to try them. The native version runs faster but it’s much better for people to be able to easily try it.

I always prefer native for a different reason: Relying on an environment is, in my experience, quite bad for the long term. I've been trying out old 7DRLs and I couldn't get a single one that uses Python or Java to work. And when I say old, I don't mean 20 years, I mean just a few. I would be especially wary of browsers, which have a history of destroying technologies that were used to lower the barrier before in the same way JS/WebAssembly/Whatever is now (like Flash, Java Applets and similar). Not to mention that players can't easily use an offline copy: If you say, decide to take it off the web, even if I have your source code compiled, I couldn't play it without a local web server-- or possibly disabling security features in my browser to allow local file access, if that's the only problem-- in any case not nearly as straightforward as a binary executable.

Have you considered writing against SDL/OpenGL and then using Emscripten to cross-compile for the web? That way, you could have (almost) the same source code for web and native versions. The best of both worlds, I'd think, though I don't know how that would interact with Rust. 

> I’ve made these while also making big games; the last one, Ghost of Tsushima, took seven years or so. One of my daughters finished elementary school, went through middle school, and started high school in that time window.

That must have been a journey; thank you for sharing a bit of it. Congratulations on your successes :)!

> I should have set up a counter for the throats I slit. Maybe ten thousand? Which is why the thief in these games has no capacity for lethal violence.

Quite understandable. The lack of a way to incapacitate guards (lethal or non-lethal) also makes them feel much more dangerous. Trilby: The Art of Theft (stealth-platformer), had a system where you have a limited number of tasers you could knock out guards with, though using them lowers your final score. Kind of a balance between the two approaches.

> I always envisioned it being a game where you’d kill one person, near the end.

That's a great idea. Very evocative even without any backstory to it.

> Thanks for recommending Harmonist to me; I hadn’t heard of it but will try it out. 

You can't go wrong with Harmonist. It's closer to a traditional roguelike, but it's also based around non-violent stealth. It also has a unique atmosphere to it.

> Another that I really enjoyed is It is short and the levels are pre-made but it’s fun and looks and feels great.

Likewise thank you for your recommendation. I checked it out, though for this kind of game, I highly prefer your style: clear graphics, single screen maps, and no animation (making play faster). Additionaly since it has handmade levels and guards that get you in one hit, Skyrogue feels more puzzly and should really have save/load/undo. Making a mistake and then having to replay the same level the same way from the start is tedious; that's why I stopped at level 5.

I love Thief and I love roguelikes, so this is perfect. Hope you develop it further, since it does get a bit repetitive after a while. The thing most missing for me is variety in enemies and a lack of items that would give you variety of choices on how to handle a situation. If you aren't already aware of it, you could check out Harmonist, also a stealth roguelike. 

Really fun and easy to get into! Won it after a couple of tries, with clone and stun spells. That was really crazy. Thanks for a great game :)

No problem. My pleasure. Nvidia drivers do things a little differently. For example I recently discovered that linking shaders without compiling them explicitly first, works just fine on my Nvidia GPU and is  an error on my Intel GPU laptop. Just things to keep in mind.

Hi guys,

Running on Windows 7 with NVIDIA GeForce GTX 960, I get the following error message when launching the game:

tile.lua:187: Shader uniform 'borderColour' does not exist.
A common error is to define but not use the variable.
[C]: in function 'send'
tile.lua:187: in function 'drawFunc'
camera.lua:51: in function 'drawTo'
tile.lua:182: in function 'drawCanvas'
world.lua:14: in function 'draw'
game.lua:247: in function 'draw'
main.lua:82: in function 'draw'
[C]: in function 'xpcall'

I fixed it with the following change to the glow shader code:

vec4 borderColour_force = borderColour; // This line added
if (closestDist == 0 || closestDist > glowSize) {
    return vec4(0, 0, 0, 0);
} else if (closestDist <= borderSize + 0.5) {
    return borderColour_force; // This line changed

I assume that the uniform borderColour was somehow optimized away by my graphics driver, and the error was caused when the CPU code tried to access it. 

I think the problem is borderColour was never referenced outside the if statement. Referencing it outside the if statement by assigning it to the new local variable borderColour_force fixed the issue for me.