FoonLudum Dare ExplorerLD58 → Lost In Taxation

Lost In Taxation

By lereveur

View on ldjam.com

CategoryRankScoreCount
Overall7582.6123
Fun7632.3823
Innovation5752.9223
Theme3973.6623
Graphics6852.5923
Audio1
Humor4482.8523
Mood6752.9523

Comments

wouter52 2025-10-07 09:51

Hey, I'm the first and this is my first rating! :smile:

I read that you had some difficulties creating this game, what kinds of issues did you come across?

What did you have in mind originally? The game in it's current form feels a bit stale to me. I played a few rounds, the hard ones did not seem that hard. I can see that you had some big ideas in mind for the hard ones. Looks like you had some kind of story tree in mind, and I know what kind of rabbit-hole that can be (my game, 'the cookie is a lie' was like that a few years ago)

I chuckled with the fact that some are just like "oh I forgot", but then I remembered that most people are goodhearted and will actually react like that :)

So, an easy hack to make it feel so much better, is to add little bleeping sounds when interacting with buttons and when text appears on the screen. It really makes a difference!

***

I poked around a bit, hopefully you don't mind :grin: I always get curious when the game is not on itch.io and if I don't see any references to some big-name game-engines. I love how you made a little text that says what setup it has been tested on. I'll try that next time! Soo... This is pure javascript with a toolkit named "sh*t"? That is so cool!

lereveur 2025-10-07 20:46

@wouter52 The shit.js "engine" is a thing I started to make from scratch nearly 8 years ago (few weeks before LD40), just for LD. I've no other link with game making, it's not my job, full nor part time, and I don't see myself doing this for a living - I finally found a "studio" name, but that's mainly for the joke - or at least, for the moment. Pros: I learn a lot doing that ; it's mine, no need to credit nor pay nor anything copyright related ; it can be dirty, with few (or even no) code comments ; if I need something that don't exists or changing the behavior of an item or fix something that don't work properly, I can add/improve/fix directly the "engine" code ; same for debug, I can add some "console.log" directly in it to see if something weird may come from the engine. Cons: if I need something (same list than above) I must add/improve it by myself, and if it's too hard either I have to find something else, or spend lot of my LD time trying to code it, maybe with no usable results at the end ; as it's mine, not only I have none else to blame if it don't work, but I have no community nor post-sale service nor anything to get help on it, I can only give my trust to generic js forums and other tutorials, and if a bug is really "sneaky", I can spend literaly hours on it, more if I can't know if it comes from the engine or from the game code I'm currently on. But here, as it's just basically a conversational game, I absolutely didn't expected it could go so wrong on the coding side. So, I made the worst error you could make for a LD: I didn't started with the code. Not a single line before monday. Instead of that, I mainly focus myself on searching how the dialogs could go, and trying to translate them into not-so-bad english, as it's not my native language, and more, trying not to systematically use online translator (I mainly use DeepL), as I want to improve my english. But, well, that too, I didn't expect it would take sooooo long time. I even had to short them off. Here, you have mainly four "thematic" reasons for not paying tax, but I had at least two more in mind (four at the start, but I decided to cut it off a first time when I started to understand that it would take days…), and obviously, I started by the easy ones (short, simple dialogs, with very fiew interactions), and so, the missing ones are the biggest (well, it's more I had three and finally made only one), and so what I have is… Well, you said "stale", that's mainly what I think too. When I understood I should start coding, as I was not sure how much time I needed to finish the "text" part, I let it appart and (finally!) opened my IDE, thinking it would take maybe a pair of hours to made this little game structure, then maybe two more to transform the simple text I had wrote into a proper format usable by the code. It started well, then it goes wrong. Very wrong. Not "on/off" style, but the worse kind of bug: the ones that don't show obvisouly, but lies in the shadows and appears suddenly from nowhere. One moment I was happy because this was going as I wanted, and the moment after… "oh, that's strange, I think I maybe forgot to… well, not, this must works, why is this not working, what the hell is going on, each f****ing keyword is correct, but… whaaaaaat?!!" This is the kind of thing I can expect from a complex mechanics, but, hey, it's a simple dialog system, how is it possible that I needed HOURS to fight EACH of at least three, maybe four bugs (I lost the count as it took me so much time I nearly gone crazy), each of it as weird and obscure than the other. Then. Finally it works, cool. Time to get the text I wrote, and let it in the finaly working code. Oh, crap. This is taking way much longer than I think. Why did I not forecast that I could need it directly in the "good" format… And there we go: several hours where I expected only one or twice. But, ok, done. Done? Sure? Oh, no, testing the conversations, another bug shows up. And there we go for hours again…

lereveur 2025-10-07 21:17

If you're curious of the plain text initial version, it's also on the online game repositionnal, here: [conversationnal map.txt](http://workshop.xenedon.com/LD58/scripts/conversationnal%20map.txt) And you can compare with the "code" format of it, mainly at the end of [main.js](http://workshop.xenedon.com/LD58/scripts/main.js), and a little bit (ie. the "actions") at the end of [call.js](http://workshop.xenedon.com/LD58/scripts/call.js) And to answer the "what had you in mind" part, except what I already tell above about more content (and I planned too to add more alternatives text to existing ones - the "[ something | something else | another one]" and "full text 1||full text 2||full text 3" parts, actually way much sparse than I intent to have), I wanted to add sounds, like keyboard typing, unintelligible distant dialog, office and exteranl city ambiant, maybe radio… Well, you know, this kind of sounds that make this kind of game moody and funny. On the gameplay side, I had in mind more something like "missions" you could choose, having a bunch of case files to solve on a "ingame daily" base. On the game mechanics, I had in mind that the "citizens" could have more "dimensions" than the only existing "char" (ie. character, which is the meaning of "risk/difficulty" on the first game scene). On the story side, I had in mind that the player ("operator") was, in fact, a tax offender himself, serving his sentence here in the form of community service (maybe even having some objectives to fill), which would have brought an ironical tone to the whole story. Having really more spare time, I would have improve the graphic part, and for the joke, maybe I would have add a bunch of achievements, to get a double meaning with the LD's theme.

gamebuilder 2025-10-09 00:41

An unusual game, one that fits the theme well. I don't think I've played a game like this before. It makes me wonder if this is what it's like for collection agents and tax collectors. Curious also are the sinister overtones of surveillance and government intrusion — a nice touch.

I especially like the font, Oxanium. It really makes a difference. I hadn't even heard of the Open Font License before, I'm glad you brought that to our attention. The color scheme and layout are also well chosen. On the other hand, it would help to have bleeping sounds or something similar as @wouter52 mentioned. Also, like (s)he implied, it would be good to have a goal to reach, perhaps with a time limit as well. Otherwise, there seems to be little challenge. Then again, it was satisfying to get money even from the high risk/difficulty citizens, and I enjoyed calling in the bailiff. For sure, there is potential in this game.

gamebuilder 2025-10-09 00:52

Also, I read your comments about the Simple HTML5 Integrated Toolbox. I agree, there certainly are benefits to using your own framework/toolkit. Just having autonomy, and not being tied to another's system, is reason enough.

It's interesting how you resurrected something that you started eight years ago from scratch. There is something encouraging in this.

rol 2025-10-09 13:50

I like the idea of the game. I once tried to make a similar game (though not the same gameplay) where you play as an HR and talk to employees to persuade them accept the fate of being laid off and leave quietely. But it's hard to make it fun even if you add details to make player feel like they are really playing as this character. Anyway, good job on the game and the engine you created!

prunus-padis 2025-10-09 14:17

Shit happens during the jams and learning is the most important part of the jams imo. This feels papers pls esque on its tone, and i get the idea. Interesting tech using own engine, there are lot of open source engines too that like Godot if you want to do more complex games easier without thinking about license, though i understand working on own engine is fun too.

daniel123 2025-10-10 07:17

As a fellow developer who also created a text-based game, I tip my hat to you. It’s a pity that due to time constraints, I couldn’t see the fully completed version of your game. The UI looks really clean and pleasant — it’s simple yet elegant. I can see a lot of potential for further improvement!

6knowledge 2025-10-10 07:40

I'll give props for making your own engine without any formal training, because even getting something like that working with a relevant degree takes effort and dedication (tried it once, not worth it personally). A bit of a simple game but can't expect the world, especially by what you've told in the comments, but works fine in a jam.

eugenik 2025-10-10 16:50

Pretty nice game :D.

wouter52 2025-10-11 14:26

@lereveur oops I did not answer yet! 🙊

I think the pro's and cons you described are very acurate with my own experiences. I started my boilerplate thingy during LD47. I like the chellange of it, it breeds creativity so to speak. But.. It can also be annoying. In LD56 we wanted to have rotating textures. Every self-respecting bigboy engine can do that. But not my boilerplate. So the the question follows: build it? Or making 8 angles of the same texture? You have to take into a count how much time each approach would take and if it fits into the overall vibe you wanna go with. This is an extreme example, but having to live with your own amalgamation the day is filled with these kinds of questions

I can imagine it is frustrating that something so seemingly simple makes such a headache to debug with timepreasure added. You had a lot of ideas. You had to make a lot of consessions. I suppose that is the wonderful world of gamejams. I have respect that you still decided to publish!

lereveur 2025-10-12 01:20

@wouter52 I was not especialy expecting an answer, and less, a speedy one :laughing: I have an example of mine about "things your own engine can't do, but most of the engines can": dynamic physics. I faced this issue pretty early, with my LD#42's entry (so, only the third LD I used this engine), which is the only one I published as "unfinished", because of the awful bugs with the physics. 7 years after, I still have in mind that, in an unknown future, I could fix this and make it work as intended. Among those years, I have searched and thought a lot about this, and I have some ideas of how I can make this kind of physics work with the particularities of shit.js (f.ex. the fact that the engine clock is not linear needs to do some hard maths to get enough precision - but if I don't hate maths still I'm not more a mathematician than I'm a game programer even if I like programmation). And by the time, when I needed some physics for a LD, I "cheated" to make something work on a peculiar form dedicated only for this game and not another (f.ex. LD#47, for which I'm still rather proud of the way I managed to get around the issue). Yep, as I said in the game description, this kind of mishap is an integral part of a game jam like LD, and if I was overbored of this I would have give up LD since a long time. About publication, well, I have a simple rule: It doesn't matter if the game is good or not, it doesn't matter how uninteresting it is compared to what I had in mind, if it's playable I publish it, and if it doesn't have any bugs that could break the gameplay I publish it in jam (and if not, as unfinished). And I follow this rule since the very beginning - as an example among others, you can give a try to my LD#27's entry "Little mishmash" (the link is on my profile page). The result is very raw, but can be played (and solved, as I tried it few months ago in a nostalgia, and manages to solve it even if it's hard, yet after all those years).

tsaot 2025-10-18 22:26

I see a solid concept here. A kind of coercion based battle system sounds like a really tough go. It'd be neat if you got it set up to your vision.

martingonn 2025-10-19 04:16

Quite an interesting game and personal website alltogether! As an improvement, maybe you could add odds of reacting differently (like someone arguing that a magazine IS THE LAW), but that would be complex, right? Nevertheless, great job! Five stars.

sarah 2025-10-23 01:33

Very simple but despite all the issues, you still submitted! So good job for that, and the game looks nice and I do love text choice games like this!

koolruz 2025-10-24 01:48

I liked the writing on this! It gave me the same vibe as non-combat events in Slay the Spire, Faster Than Light, and other roguelikes of that sort, and drew me in for a surprisingly long time even after things started repeating, because I wanted to make sure that I saw all the different scenarios :) My only wish is that the scenarios and dialog were randomized via a grab bag (where it won't repeat until you've seen everything), instead of being truely random, so it would have been easier to see them all!

It's also very cool that you've been building `shit.js` for so long! I know exactly how you feel about the double edged sword of a custom engine - I really love how you can bake in low-level support for game features in a custom engine, but then you find that a simple feature that you're missing might send you down a rabbit hole for way longer than you expected to implement. It's fun finding the balance of building the engine out while still working within its limitations :)