jjjjason

LD 40

I'm in!

Haven't done it in a billion years. I want to use Lua and Love2D again, but I haven't used it in forever. Hopefully it's not too different!

I'll be using Photoshop for art/resources, and for music I have like five instruments in my apartment now (none of which I know how to play) so I think I'll record them and make something with Audacity.

Golf

It's just golf.

Done with my game (hopefully)!

Junk.gif

After an all-nighter I'm now happy with the state of Junk, my falling-block variation with asynchronous multiplayer (sort of)! Really happy with how this turned out, and learned a lot in making it.

Check it out here: https://ldjam.com/events/ludum-dare/40/$59271

Games Made With Godot 2/3?

Godot has been getting a lot of press recently, especially with Godot 3's alpha finally coming out and all the cool features it provides. Did anyone make their LD40 game with the Godot engine? If so, I'd love to try it out! I've been meaning to look into it myself, so it would be great to see what it can put out.

My Personal Junk Collection + Post-LD Update

tetrothumb_2.png (click to view larger!!)

Over 200 rounds of Junk have been played! What I think is especially great is that much less than 200 unique people have played it. Big thanks to the folks who've contributed multiple times to rid the world of unk! Or who have contributed a bunch of extra junk---you guys keep the game interesting :wink:. The image above shows the five boards of Junk right now. The first two are doing pretty well, but the last two need some help!

I have my first Post-LD update out now for Junk. Tt makes some small quality-of-life improvements suggested by many, as well as greatly improving the experience for the repeat players I mentioned above. New update is Windows-only for now, need to get a hold of a Macbook...

If you're interested in participating in this multiplayer madness, click here to play Junk. See you at lunch!

Assorted notes from making Junk

Broke out a new notebook (any stationery fans doing LD?), but I got to an idea quick enough to only need one page. Oh well, will just make this my gamedev notebook!

fullnotes.jpg

Turns out (modern) Tetris has some complicated rules as to how piece movement behaves. My Tetris-fanatic roommate wouldn't let me rest if I didn't manage to get most of them in the game. You can click here to learn more about that crazy stuff.

Here's an example of a triple t-spin which is only possibly because of the above. Notice how the T block jumps into the hole and it makes no sense whatsoever oh my god

tetris04tiny.gif

As my game is (sort of) multiplayer and requires a server, I thought I'd do something quick and easy with Heroku, and instead of a fancy database just use a JSON file. Well turns out that...

readonly.PNG

And last, I have some dialogue boxes at the start and end of the game. I needed a way to add pauses to dialogue between lines and sentences, but I didn't want to implement some sort of wait or pause command. Instead, I realized that whitespace would just render nothing...

dialogue.PNG

If you want to score some triple t-spins yourself (they don't give bonus points but if you tweet at me a recording I will think that you're very cool), feel free to play Junk!

Cloud of Junk

I'll jump in on this, it's fun enough.

If you want a quick way to get the right words for your your wordcloud, you can open up your game page and paste the following into Chrome/Firefox's debug console:

js wordlist = ""; document.querySelectorAll(".-comment .markup").forEach(mark => { wordlist += mark.textContent.toLowerCase() + " "; } ); console.log(wordlist)

That'll get all the words just from the comments (ignoring the usernames and timestamps) and lowercase them all too. Make sure you read the code yourself first though, as it's never safe to just run random code from the internet.

Also, big fan of the JUST LOVE SOMEONE splayed across the top.

tetrosquare.png

LD40 Results and Review

Thanks a ton to everyone who checked out my game in the last month, it really means a lot to me. Ever since I entered the sphere of AdultLand™ almost two years ago, I've been in a creative rut---not just gamedev, but nearly anything I've tried to personally pursue. Heck, even Junk at its core is a reflection on the last two years of my life. LD40 was pretty much the first personal project I've completed in the last two years, so I'm really happy that others were able to get something out of it. Hopefully I can continue to ride on this wave of energy and make cooler things soon.

Good luck to everyone and your future endeavors! And as always,

ld40_small.png

LD 41

!OUT

I didn't know about this until like ten minutes ago (thanks Wyatt) but now I gotta do this. This'll be the sixth LD I've participated in, and hopefully the third one where I actually complete a game :)

I want to use Godot 3 for this--I don't have a ton of experience with it, but in the realms of all-inclusive game IDEs I find it much more immediately approachable than say Unity--and honestly, it's time for me to learn one of these big hulking things. Art will be Photoshop, music (if it all??) will probably be Famitracker.

Here's the game I made for LD40: https://ldjam.com/events/ludum-dare/40/junk

LD 44

Yeeeee

I'm in it! I'm going to be real sly and interpret currency = currentness, and instead make a game where your life is tied to the flow of time (which means literally nothing, because that's basically real life?). And the only reason I can have fun with definitions is because of a dictionary, so we'll put one of those in this game as well.

Tech wise is gonna weird this time; I've been wanting to make a text-based game for a while now, as well as a game that runs in browsers, so my stack is actually gonna be React and Typescript.

Good luck everyone!

I N V E R T E B R A E

header.png

It's done! Even had enough time to make two (short) music tracks. If you like story and puzzle games, maybe try it out!

https://ldjam.com/events/ludum-dare/44/invertebrae

Drag-and-drop is cute and all, but have you met my friend double-click?

peanut-butter-shoes-3.gif

It's the weekend, which means the end of working on nofun things, and the beginning of working on yesfun things (work is inescapable). Got a post-jam update out for invertebrae with a couple of quality-of-life fixes suggested by friends, family, and the great LD community:

  • Makes keywords bold so they stand out a bit more. Everyone's got different monitors and different eyes, so the previous level of contrast wasn't always terribly obvious. Hopefully this helps!
  • Enables double-clicking words to move them alongside drag-and-drop. As the title states, drag-and-drop is very cool and fun and I don't regret adding it. However, when you have a loottt of words to try out, it's a real speedbump towards iteration. This speeds things up a ton.
  • Wrote some less cryptic help text to the help button for people who are actually looking for helpful help.
  • Does a bit of automatic scaling for folks with smaller screens (or high DPI scales). Some people were reporting the game loading cut off for them before they manually zoomed out, hopefully this alleviates this.

Thanks to everyone who's played and given me feedback so far! If you haven't yet, and you like stories and puzzies, feel free to check out my game: https://ldjam.com/events/ludum-dare/44/invertebrae.

Looking for games made for fantasy consoles (e.g. PICO-8 and friends)!

I've known about PICO-8 for a while now, but ever since hearing about SCRIPT-8 at the beginning of LD44 (thanks for the tip, @panda!) I think I want to start looking further into this space.

With that, if anyone made their LD game on top of one of these fantasy-console platforms (there are quite a few now!), post it in the comments! I'd love it to give it a try as see what's possible, especially in a jam-context. Searching on itch.io, I was only able to find @linheha's entry under the fantasy-consoles tag, which actually looks pretty dope: https://lutopia.itch.io/blood-fighters. Hopefully there are others that just aren't tagged!

Invertebrae: a Pre-Mortem

I want to save my post-mortem until after the judging period is done, so until then let's pre-mortem! I think the majority call these "dev-diaries" but pre-mortem is obviously a much cooler term.

Formulation

Getting the ball rolling.

Like all games, it started with a notebook and various existing chat threads. A lot of my IRL friends are at least vaguely interested in game development (some of them even participating in past Ludum Dares!) so it's incredibly valuable to bounce ideas back and forth.

I've wanted to make a terminal-esque game since at least LD42, so I went into this expecting to force whatever theme won into my game, rather than the other way around. "Your life is currency" was a little tricky until I figured I could stretch the meaning of "currency" to expand to "current-ness", which is really just a long-winded way of saying "now". That's what I'll do: a narrative game set in a terminal that plays with the idea of "now". I'll also put money in the story or something to make the connection a bit more concrete--there's a bit more to it than that, but I hadn't quite formulated it yet.

As to what the heck "invertebrae" even means...it's a cooler, less correct way of saying "invertebrate". And "invertebrate", while having a specific scientific meaning, could also be literally translated as "spineless", which is how I'm choosing to interpret it with regards to the game's themes.

Inspiration

For story inspiration, I looked towards one of my favorite visual novel series, Zero Escape. In particular, I was most focused on the second in the series, Virtue's Last Reward; without spoiling too much, it also has a focus on getting information between multiple in-game timelines. I didn't really want the plot of my game to revolve directly around time-travel, but the idea of being able to use information gained from "bad ends" stuck.

In terms of aesthetics, I can't for the life of me find the original picture, but a while back on Twitter I saw someone post their custom Linux desktop setup and was absolutely enamored with it. As you can probably guess, their terminal was a deep blue-black with golden-yellow text.

Implementation

While making an actual terminal game would have been neato, it was imperative that my game could run in the browser this time around. And with my day job being a front-end React developer, it really only made sense to just build it with React. Plus, this gave me an occasion to make a full=fledged project with the recently released React Hooks, which if you haven't heard are essentially a monadic-ish effect system for React components (hopefully that cleared things right up).

It also meant that I got to take advantage of some of the great tooling in the React ecosystem, such as react-dnd. This made the drag-and-drop feature mostly straightforward to implement, although funnily enough react-dnd has some problems cooperating with the React Hooks syetem, so there was some time spent trying to get the two to make peace.

Initial GIF of the engine.

One cool thing I like about how the game is built is that the "engine" is mostly separate from the story. As many people found out, the entirety of the story is actually within a singular JSON file that the game engine loads at runtime. Theoretically, if you like the mechanics in my game but were meh on the story content (don't worry it's fine), you could actually clone my repo, edit the story.json file with your marvelous creation, and boom you have Twine but with drag-and-drop!

Music

I learned from my last two Ludum Dare games that music honestly might as well be mandatory (and my first game even had music, albeit mixed too quietly for anyone to hear). As fun as the game is, playing something with absolute silence in the background is just never going to be an optimal experience. And even if you don't have a musical bone in your ear, there's so much free software these days that's so immediately approachable. Plus, the circle has swung back around and minimalism is cool again, so you can totally get away with arpeggiating a chord into infinity.

Groovebox how I love thee.

For the music here, I used Groovebox, a really fun synth-sequencer program for iOS. If you have an iWhatever, stop reading and download it right now--it's free!! I spend so many bus rides now just making short little loops. And much like gamedev, while 99.9% of games don't quite hit the mark, the 0.1% that do make it all worth the while.

Before I leave you...

Can't unsee.

During the compo, my sister pointed out that the font I chose kind of looked like a cleaned-up Comic Sans. Whoops.

Invertebrae: a Post-Mortem

Note: I copied this over from my personal blog. There’s no content difference, but IMO my blog has nicer fonts.

Ludum Dare 44 is over! It's actually been over for a couple of days now, so let's just get to it (heck are there even any people looking at the LD feed anymore :eyes:)

results.png

Overall

This is my third Ludum Dare where I actually completed a game, and as I continue to improve as a dev, my Overall score also continues to improve. Extremely happy to be in the top 50--next time, maybe the top 10?

Jokes aside, it makes me happy to see that a text-adventure game can do this well. Glad to see that the LD audience is diverse in their interests.

Theme

Oof. I know entries that stretch interpretations of LD themes typically don't do too well, but I definitely was hit pretty hard. In case you're wondering how I feel my game tackles the theme, I'm going to actually cite what my friend had to say, as he put it way better than I could:

Your life is the sum of your earned experiences. You have to manage how you spend each word because they are the currency you use the act.

In that regard, as we'll talk about later, the game even punishes you for amassing too much currency :wink:

Feedback

I had gotten a lot of great feedback on Invertebrae from friends, family, and of course the Ludum Dare community. While some of the feedback I had expected the moment I hit the publish button, there was also completely valid criticism that I hadn't seem coming at all.

How Long Is Your Game Really?

Nearing the end of the compo period, I was running through Invertebrae nearly every half hour, making sure that grammar was sound, the UI never bugged out, and that I hadn't inadvertently created any soft-locks with the puzzle mechanism. Each of these playthroughs would take me roughly 5-10 minutes, so in my head, I just pegged my game as a 20-minute game at most.

Imagine my surprise when the comments started coming in with playthrough times of 30 minutes, an hour, two hours, heck my friend even stopped playing to go to sleep and then continued it the next day.

First off, it makes me so happy that anyone would play a game of mine for more than like 20 minutes, much less two hours. The idea of creating something that could hold someone's attention for that long really is some of the nicest feedback I can receive as a game developer. Plus, let's be frank--most Ludum Dare games can be fully experienced in 5-10 minutes. In the time it takes to play a one-hour text-adventure, you could have rated like ten other great games.

However, not knowing that my game would have such a playtime means that I didn't design the game for such a playtime, and that was definitely reflected in the criticism. As I addressed in a post-compo update, the core drag-and-drop UX is pretty, but also pretty inefficient. Dragging words back and forth leads to a lot of unnecessary movement, and this is only exacerbated by the large number of words you could amass.

The Moon Is Exponentially Far Away

Due to one of the core puzzles in the game, a lot of people ended up hoarding a lot of words. This was definitely not the intention--the multi-page feature of the word bank was actually only added in the last five hours after I realized it was even possible to collect enough words such that they went off the bottom of the screen. However, with puzzles like open computer that rely on you having to re-use words you played prior, and navigating between nodes of the story being a slow affair, it was silly of me to not expect players to store every word they saw in worry that it would be necessary later.

Instead of puzzles that are designed to be worked out from a pool of four to seven words, now even the simplest puzzles are obscene, with tons of accidentally reasonable combinations of words not satisfying the one or two answers I had in mind. Plus, the moment you learn that some puzzles have multiple answers is the moment you start thinking that all puzzles have multiple answers. I tried to poke fun at this with things like the stairwell ending, where you play pet cat after walking on a stairwell that "squeaks like a dying cat". But while that ending is quite funny (well, only 190 places of funny as the results showed), the hundreds of non-existent endings that players tried to get to certainly aren't.

A lot of people had noted that a couple of the puzzles were really difficult. While I agree that a few were a bit obtuse, I do think it was primarily due to the excess of words that people could collect. Even sort of sketchy phrases like pretend security are way easier to reason if they're only two of five words in your word bank, rather than twenty.

If I were to work on Intevertebrae in the future, I would definitely design the puzzles to have fewer words overall and give each word more uses. Not only would this decrease the frustration of cycling through endless combinations, but it would also increase the number of actual word puzzles, which is the real difficulty (and source of fun) that I wanted present in my game.

OK People Said Good Things Too

I've gone on about the most popular critical feedback for a bit now, but people also plenty of nice things to say:

  • People generally enjoyed the story! This is definitely my favorite comment. As someone who hasn't written a story since probably middle school twelve years ago, I've been nervous about attempting a narrative game for a long while, which sucks since they're my favorite genre. While the plot might not have been the most unique, it's definitely a large confidence boost to hear that people liked the writing.
  • Even with some of the inadvertent difficulty, people thought the time-traveling, knowledge-base-building puzzle mechanics were novel and entertaining. Novelty is extremely important to me as a developer--as someone who plays way fewer games than I used to, the easiest way to get me interested in your game is novelty (well-executed novelty, anyway). I've been wanting to make a narrative game for a while now, but was putt off by both my lack of writing confidence, as well as a way to make myself stand out from the thousands of other (great!) games in the genre. I'm happy to have finally come up with something that both I and others enjoy.
  • As minimal as they were, the two small music tracks were definitely worth making. I ran out of time for music my last two LD games, so this time I made sure to reserve two hours for just for music. The time restraints ended up working in my favor, as their minimalism allowed them to settle into the background and serve more as mood-makers than attention-grabbers (further shown by my Mood ranking versus my Audio ranking, lol).

So really issues aside, I'm really proud of how I did this Ludum Dare, and I'm looking forward to the next one. See y'all at LD45!

Ludum Dare 45

Here are my themes!! What do they mean??

Screenshot 2019-09-19 18.23.49.png

Also I'm in, totally! I'll post a tech stack closer to the date as I've not decided yet (I've totally decided already).

Ludum Dare 47

Let's try again

Every time I learn that these are happening it's only with like two days notice lol. Let's see what we can get done this time!