Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Smaxx

50
Posts
2
Topics
11
Followers
43
Following
A member registered Nov 04, 2014 · View creator page →

Creator of

Recent community posts

I was too lazy to add a set of screenshots, but the trailer felt like a nice challenge. 🫠

(3 edits)

I’d suggest just drawing the letters pixel by pixel yourself. Personally I only used a ad-hoc font that’s 3x3 pixels and with some fantasy it was rather simple to get some text on the poster (note I didn’t have to come up with more complex letters like B, so it might be harder for some languages).

The files in the fonts directory are only those used for the game to display text, but not the image assets. In fact, the fnt files only include the meta information necessary for the engine to know where in the associated PNG file the individual glyphs are stored (you can open the fnt files with any text editor of your choice).

Edit: I’ve found TTF versions of the font here (note I haven’t tested the downloads so can’t vouch for them):

In engine\dialogue.moon (and the Lua equivalent), change line 37 from

table.insert(env._choices, {:text, :f, text_sub: text\gsub("\n", "")})

to

table.insert(env._choices, {:text, :f, text_sub: text\gsub("-?\n", "")})

This ensures hyphenation (if used) is removed, too. For example, splitting a word over two lines in German you’d do something like Zeitreparatur-\ngerät, which as a one-liner has to become Zeitreparaturgerät, but previously became Zeitreparatur-gerät.

Just try them. For a quick test, I’d suggest using them in the “New Game” button so you can see them right away. I haven’t tried any other quotes, but the font definitely supports German typographic quotation marks, so I’m pretty confident others are in there, too. Note you don’t need the leading \, that’s really only for the simple ANSI ones (\").

I looked through my fonts and found “Creepygirl” in a rather similar style, but I have no idea where I got it from.

Don’t forget you’ll have to escape line breaks, too! Don’t use actual line breaks in your translation. Use \n instead. (Unless you added a filter doing that replacement for you.)

Ah, ok, we weren’t 100% sure. 👍

I’m not sure if this is intentional or part of the joke. It feels as if line 268 (“…yes.”) should be a reply by the Holeegram, not an extra line for ines.

What do you think?

(1 edit)

Updated the original post. The old regular expression didn’t work since the editor ate a \ at the start and \[t] means something different than [t].

You can do this replacement in two steps without regular expressions:

  • Replace all = " with =<tab>".
  • Replace all " --" with "<tab>--".

Then remove the lines at the start just like I mentioned above and it should work. (Does so for me in Excel.)

Oops! Sorry, I wrote this from memory and actually didn’t try it! And it seems like it’s not interpreted the way I expected!

I have a tested method now and will update the instructions above in a moment.

If you’re using my suggestion above, the game will run right from your local directory and show in your browser. Python creates a small locally running web server for you.

Changes will be visible right away (after reloading) the website. You can always zip up the game and upload it to itch, obviously, but that requires a few more steps after all.

(1 edit)

Yes, you can!

For simplicity, you’ll need a working installation of Python. If you’re on Windows, you can find the latest version on the Microsoft Store.

Then simply execute/run the following line (e.g. using Windows’ “Run” dialog through Win+R): python -m http.server 8000 -d "C:\Path\to\unpacked\locjam6\folder"

Once done, you’ll get a console window that stays on screen.

Now visit http://localhost:8000/ in your favorite web browser and it should run out of the box. Note you might have to do a hard-reload (Ctrl+F5 or Ctrl+R) if you’ve updated files, or clear your browser cache and then reload.

To stop the server, hit Ctrl+C inside the console window or close it.

And since I forgot adding it above, posting this standalone for visibility for those wanting to set up their filters manually:

Regex pattern before translatable text (i.e. start): ^t\[\d+] = "

Regex pattern after translatable text (i.e. end; mind the number of whitespaces!): " --

Regex pattern for translatable text (might be needed, e.g. in memoQ): .+

(2 edits)

Alternative for those with just Office and similar programs:

  • In a text editor like VS Code or Notepad++, that supports Search & Replace with regular expressions, look for the pattern ^(t\[\d+]\s+=)\s+(".*")\s+(--) and replace it with $1\t$2\t$3.
  • Delete all lines at the start of the file that start with -- (i.e. all the comment lines).
  • Open/import the file in your favorite spreadsheet editor (like Excel) and use Tab Separated Values (TSV) or TSV File as the file format.
  • You should see the translation in the second column.
  • No need to convert anything back, the file should run just fine.

Note this might screw with quotes in your text, so you should double-check them in a regular text editor once you’re done.

(1 edit)

The instructions above were a good hint/start, but didn’t work instantly. After fiddling a bit around I had it set up rather quickly in memoQ.

You can download the exported filter rule for memoQ from our server. Just unzip the file and import it in the Resource Manager thingy. (If you don’t trust random files from strangers, just open it with a text editor, it’s really just a text file.)

This setup will also keep the comments out of your translation as they felt a bit too generic to really help IMO. Note this isn’t a filter chain, so you’ll still have to escape both linebreaks as \n and ANSI double quotes as \" to avoid script errors.

Unless something changed completely for Game Jams on Itch, you only need the one account to upload/submit (read: publish) the game. Your friends don’t need their own, but if they have accounts, you can link/mention them in your description to give them more credit.

No worries! If AAA productions can screw this up, small game jam games are totally allowed to do so, too! And it's often not even obvious.😀

Okay, that's a very interesting concept of the whole "place a tile" approach! Just a minor note, there's something "wrong" with your UI positioning or scaling. Switched to fullscreen at first before playing (on a 32:9 screen) and I didn't see the menu on top, which confused me quite a bit.

Neat. I like the popup juice when you place stuff, it's just missing a bit more when you rotate things (thought that's actually a bug at first).

I definitely see the potential behind this game idea. Maybe even more towards a puzzle/strategy game rather than a "simple" clicker style number accumulator.👍

I'm a sucker for Japanese folklore, loving it. I'd definitely drop money for this, if it's meaningfully expanded with more enemy diversity and stuff.👍

Very interesting concept, but to be fair, I enabled the tutorial and then kind of closed it and tried to figure out the game. It's not that hard, but the tutorial shouldn't be a wall of text (but I guess that's really just due to the time constraints of a jam). This could definitely be fun with some more animations and a "learn as you play" kind of tutorial.

The sounds really add to it, but I felt somewhat stuck once I completed the board the third or fourth(?) time, since it didn't seem to continue anymore. Also really odd to play while you actually stream.😉

Tut's theoretisch (die Würfel fallen schneller), ich denke, die Skalierung läuft aktuell nur leider viel zu langsam, als dass man es halbwegs merken würde.

Yeah, I kind of agree, the smaller increments of a maximum of +6 per dice make it way too easy at times. I added scaling, so the drop rate increases, but I guess it simply doesn't scale fast enough for the first rounds to be noticeable. And yes, definitely something to expand upon, I enjoyed just knocking them around way too much while testing (which might have contributed to the relatively simple "goal" and a lack of time…😅).

I'll definitely expand on the physics game mechanic (not just a tiny island), because I'm a sucker for golf games.

I originally thought throwing a D10 or even D20 in there, but that might have complicated things way too much.😉

Yep, I agree. I normalized the sounds, but guess that one could indeed have used a -20dB cap instead of the -10dB one. Dice not counting (they can sometimes land on he edges and even stay there) is intentional, but I also see how it could be confusing. Originally you'd flip them with a playing piece, but couldn't get the controls right, so you would have toppled most of them automatically.

Curious. Not really sure what triggered this, though.

I guess this idea would actually be an interesting concept for a streamer plugin connected to a "hey, look at chat, you noob!" chat command or point redeem. 😉

I like the idea, but only skimped over it. Would be really cool if it would actually use CSV over Godot Resources, so external tools could mess with the files, too (or at least without too many workarounds).

Oh, no, I'm not sure if it's good that I actually remember this thing

This depends how you load it. Godot has a built in way to load something in background, too.

If you use load(), the program will halt/stall until loading is finished. If you use preload(), whatever you try to load will be preprocessed when building and then loaded together with the parent scene/node preloading, and you can use interactive loading provided by Godot's own ResourceLoader class. The latter just requires you to add a bit more code around it.

You could always just use your own thread, too. Depending on what you load, doing it with my node might still cause your program to stall for a moment, because some operations can only be performed on an application's main thread (especially OpenGL stuff).

Overall this whole node is mostly a convenience thing. This doesn't involve anything you couldn't build on your own or do in a slightly different way.

Well, will see, I can definitely work around this requirement/dependency for a future post-jam version. Thanks for noticing!

Oh, any chance you're running 3.3 or older? I wasn't aware this is a new feature in 3.4!

If you want to, feel free to do so. I wouldn't have uploaded the source, if I'd mind people "stealing" something. It's just a basic gameplay concept/mechanic after all. :)

Thanks, nice you enjoyed it. And as mentioned, it's just a prototype started over a weekend. I'm thinking about expanding the idea, but it would also need a few more mechanics to keep things fresh, so unlikely to happen immediately.

The game is stupid. Couldn't stop laughing the moment Mark started playing. Still can't touch it for more than a few seconds without grinning all over my face. Even watching that GIF is enough…

Yeah, I agree with the others. The design is nice, but I'm not sure the tracks should "wrap" when you try to move inside/outside. This makes the whole concept a bit too easy I guess. Also is there any advantage to ever using the middle lane?

I like the generic idea, but right now it feels a bit too tiring, waiting for that specific solution to happen, etc. It could definitely work as some kind of "one trick pony" with multiple screens, each having its own unique mechanic or approach. One more thing (graphical) design wise: I would consider it better for pixel sizes to be uniform. Go with the classic 70's look. But don't mix in higher resolution text. I could even imagine this with more simple 8-bit style sound effects (although this might be tricky to get it right).

Yeah, thinking about it, it feels a bit too "one-sided", always just the same. So more mechanics would indeed be nice. I thought about her calling you from a distance at  first, but it felt too easy (therefore she'll "pong" you, if you "ping" her). And as a fun fact, I originally wanted to do just a blocky maze (think typical GameBoy RPG), then experimented with polygons and finally thought "Why not use a bitmap, it's way more easy and flexible?".