Jason Grinblat’s talk (slides) on using Markov chains to create procedurally generated books in Caves of Qud. I especially liked the idea of adding PCG clues into the Markov chain to make researching in these books an actual gameplay mechanic. Also, I never realized Markov chains were actually so simple to get started with. Makes me want to make some sort of bot or web toy that uses procedural text.
Playing Killer Queen during the breaks. Not a roguelike but the machine was there in the NYU game center and how could anyone resist such a neat game.
Brian Bucklew’s talk (slides) on Caves of Qud AI. The part about how they made AI able to semi-intelligently use items without coding a huge nested if block kind of makes me want to make a game with items.
And of course meeting new and upcoming roguelike developers and getting to check out some of their cool works-in-progress was awesome.
Roguelike Celebration is coming up in September… The speaker list looks amazing. I really want to go but not sure if making a weekend trip all the way to SF is something that will happen. Might have to settle for watching the live stream. We’ll see.
A few days ago, I got a KORG nanoKONTROL2 to play with. It’s supposed to be for music stuff, but I just like all the sliders and dials.
I wanted to hook this up to my fractal tree stuff to control a little forest with all the sliders and dials. The demos folder for my tree library was getting a little bloated so I wanted to break out the demos into their own repo first. And to do this properly I decided to convert the library from just a script that creates a global object into an npm module. I settled on webpack with babel-loader to pack things up. I decided to go with babel-loader so I could use the ES6 module syntax.
One thing I got hung up on while trying to get this setup working was when I couldn’t figure out why my module was only exporting an empty object. And when I tried to use it I just got lots of foo is undefined errors. It turns out you can’t just export default something from your main file and expect webpack to know what to do. You actually have to configure webpack to export a module. Eventually, I set up the appropriate config values, got all the demos working off the module, and moved them into a new repo.
With that done it was time to get ready to hook up the nanoKONTROL2. Now, by default, the trees that come out of my library can have a lot of randomness, which isn’t good for smooth animated transitions between values. But a while back I made a creepy animated tree with a function that is constrained to only creating deterministic trees. It had a nice simple interface where you just pass in an array of numbers with values between 0 and 1 and you get a tree. This was inspired by ideas from Kate Compton’sProcJam 2015 Talk.
So now I just had to hook up the values from the sliders and dials to some trees. I used this excellent library to do most of the hard work there. And here’s the result.
If you have your own nanoKONTROL or nanoKONTROL2 you can try it yourself in any browser that supports webMIDI. (please plug in your device before loading the page.)
I just finished the 2016 7DRL Challenge. My game is called Bisbee’s Escape. It’s inspired by games like Dig Dug, Mr. Do, and Digger. Your only weapon is crates you can drop on enemies. But these crates have different effects for you to discover.
I didn’t have as much time as I wanted to work on it this year so it’s a little rough around the edges. But it’s playable enough and I hope to fix all the outstanding bugs in a later post-challenge release. Go check it out!
I’m starting the 2016 Seven-Day Roguelike Challenge now (Sunday, March 6th, 10PM EST). Accounting for Daylight Saving Time, I have until Sunday, March 13th, 11PM EDT to finish. More interesting updates soon?
Sometimes I want to share a few Tweets or other things as a group. But usually something like Storify is overkill for what I’m sharing. So I made this minimalist tool that can share Tweets and a few other types of social media posts as embeds.