Donelike
I did the thing! I finished all 13 parts of Selinadev’s Godot 4 Roguelike tutorial.
There were a good number of things that were new to me: procedural map generation, AStar navigation, custom resources, and using those custom resources to compose entities. I’m happy with the knowledge gained by working through this.
The end product is… not my cup of tea, really.
On roguelikes generally: When I was a kid, one of the computers available to me had nethack installed. I poked around a bit, but it never really clicked for me (and the same computer had SimCity! ). One turn-based roguelike I do play these days is Hoplite. I think what I like about Hoplite is that it plays almost like a board or puzzle game, the challenge is in reasoning about how to get through the level safely.
On this particular game: after adding armor, weapons, and the power-ups available when you gain a level, combat is super easy, and the challenge curve stops when you get 8 levels deep. I appreciate the 1-bit art style, but it kills me a bit that a game that includes fireballs and lighting attack’s doesn’t make those things visually interesting events– baddies take damage, maybe die, and a message is logged. This isn’t really the author’s fault, since she adapted a tutorial that builds a classic terminal/console game. It’s just a shame this leaves behind a lot of the cool stuff Godot can do.
My son/project manager designed some new enemies and other graphics to be incorporate in the game, and I want to honor that effort by integrating those assets and ideas. I’ll probably spend another week doing that and maybe looking for other ways to increase the usability and fun factor.
I generally don’t care much for professional sports, but I definitely feel some nostalgia for the time before sports betting was everywhere.
Anti-deliverabity
I received a (legit) notice of eligibility for this Verizon settlement in my junk email folder.
I know there are best practices and a class of professionals focused on email deliverability. I wonder if the opposite exists? A service for companies who are legally obligated to send out notices of some sort, but would prefer they not actually be received.
(to be clear, I’m not claiming that’s what’s happening here)
Currently reading: The Treasure of the Black Swan by Paco Roca đ
Finished reading: Game Programming Patterns by Robert Nystrom đ
Honestly, I skimmed quite a bit– some parts seem more geared to engine developers. It’s probably good to understand some of the thinking that goes into engine development at least, even if I suspect I’ll never be doing that myself.
This is definitely a book I’ll go back to for reference. The whole book is available online.
#screenshotsaturday
I’ve finished part 11 of roguelike tutorial. Now, you can delve deeper into the dungeon, and the player gains experience points and levels. I’m excited about the next part:
Our character can now go deeper into the dungeon. However, right now all the floors are identical in their challenge. The RNG will mean that they will encounter different mixtures of monsters and items, but it still lacks progression. So next time we will look at a way to increase both the difficulty and the reward the deeper the player goes
This history of gamification within games was more interesting than I expected. These are the game-y things like experience points, levels, and achievements that are often used to make non-games more fun or addictive.
The article is mostly judgement-free, but does include some criticism of the effect these ideas have had on games:
This is really the heart of why I think gamification harms player agency: gamification kills curiosity. If you donât get any points, items, or achievements for the thing, the thing doesnât matter. When the whole game is built around extrinsic rewards, you lose the playerâs intrinsic motivation along the way. Thereâs simply no room for explorative curiosity in such loops. It becomes a âcontent treadmillâ for both players and the developers.
Seeing chatter about a new BBEdit release has me a little nostalgic. I used BBEdit Lite while HTML-ifying recipes for Hershey in the 90’s.
I’m mostly on Linux these days (outside of work) and BBEdit is Mac-only.
#screenshotsaturday
I’m up to Part 10 of @selinadev@indiepocalypse.social’s Godot 4 Roguelike tutorial. What’s new?
- Potions to heal with
- Scrolls of lightning, fireball, and confusion
- saving and loading
- That main menu screen where you can either start a new game or continue where you left off
My son suggested adding some instructions on the main menu screen. He’s basically my project manager at this point.
… and that is the most words I’ve written for public consumption, in quite a long time.
Blogging retrospective
Via CRASH THE ARCADE, I learned of Matt Mullenweg’s birthday wish:
I want you to blog.
Publish a post. About anything! It can be long or short, a photo or a video, maybe a quote or a link to something you found interesting. Donât sweat it. Just blog. Share something you created, or amplify something you enjoyed. It doesnât take much. The act of publishing will be a gift for you and me.
I thought it might be interesting to use this as an excuse to collect a sort of history or timeline of my blogging, and memorialize the various iterations of karchner.com and related web things I’ve built and torn down over a quarter century.
High School (1996ish-1998, Milton Hershey School)
I definitely had “home pages” on services like GeoCities and Angelfire, but I don’t remember much. I think there were Ayn Rand quotes involved.
This might be hard to believe, but in 11th grade I was an officer in our chapter of Future Farmers of America, and had built a homepage for the chapter.
I’m fuzzy on the order of events here, but somehow one of the MHS college/career counselors hooked me up with an internship interview with a guy at Hershey Foods, who was impressed that my FFA site used frames and hired me! The school loaned me a Powerbook, and I was paid a hourly rate to convert recipes from Word documents into HTML for Hershey and other brands it owned (at that time, this included a lot of pasta brands, like Ronzoni).
A person I worked with at Hershey connected me with a summer internship at a web design firm in Mt Gretna, PA, called Kindle Design Group. Kindle Design Group owned “kindle.com” before Amazon. I wonder if they made some money from that?
I think I continued doing Hershey stuff during the year after that. Between high-school and college I spent a summer working at a harness-racing magazine called “Times: In Harness”. I can’t find much on the web about T:IH right now, but here’s an excellent TV commercial.
College (1998-2000, RIT )
I had a homepage on an RIT server. The things I remember are:
- I had been learning Macromedia Dreamweaver, which among other cool DHTML tricks made it easy to build drag-and-drop interfaces. I made a site logo that you could drag around, for no particular benefit. I called it “the gratuitously draggable logo”.
- It did have a space for periodic, single-line, updates from the life-of-Ross. I probably started out editing it by hand, but at some point I started using Blogger, which means I had entered my RIT network account password onto a third party, internet-start-up website. In 2024 that sounds absolutely bonkers, but it didn’t seem that way in the 90’s.
This was peak “dotcom” era, and when I wasn’t learning from RIT’s excellent teachers, I spent a good amount of my time working on terrible internet ideas, as was the fashion of the time. Some of the terrible ideas were:
- metamovie.com. A website about websites about movies
- xmlonthemac.com. I don’t know, I guess it seemed like mac users had special XML needs or something. I’m sorry.
In this era I was reading Scripting News a lot, and I spent time tinkering with some of the stuff that Dave Winer and Userland were putting out, like editthispage.com and weblogs.com. I definitely maintained something of a personal blog on one of these services, and a Nelly Furtado fan-site.
I think this is also when I got my hands on the ‘karchner.com’ domain. Someone reached out who had bought it accidentally (while building a site for Kartchner Caverns) and I was able to buy it from them.
What I wasn’t doing so much, was studying and going to class. I left RIT after two years without a degree.
Back in PA (2000-2005)
I moved in with my mother, who had an apartment in Harrisburg at the time. Work-wise, I got involved with a web hosting startup that didn’t really go anywhere, worked at Blockbuster Video, spent a few years at Earthlink before going to Knowledge Planet(which later became part of Mzinga).
I think it was in the Earthlink era that I started a blog on karchner.com, using Movable Type, but I also recall experimenting with Radio Userland. The oldest version of karchner.com I can find on the wayback machine was using Radio Userland, so perhaps that was first?
This was the time period when journalists thought blogging was interesting/weird/scary, and I actually managed to get written about:
- More employers reading workers' blogs in Central Penn Business Journal
- There was a Sara Bozich article in “The Patriot News” that profiled local bloggers. I’ve lost and found that article several times over the years, and presently can’t find it.
- Part of a Harrisburg Blog Meetup (I was an organizer) was recorded for the NPR show Weekend America.
I was really excited about RSS in those days, and the possibilities around not just using an RSS reader to read a bunch of sites in one place (though that was cool!), but as a way to programmatically mix content together in interesting ways. The first of these was “harrisburgblogs.com”, which was a simple feed-of-feeds: all of the Central PA bloggers I knew about, in one place. People seemed to like it.
OK, what if there was a “Harrisburg Blogs” for everyone? I moved on to creating something new, called “Localfeeds”, which did the same trick for cities around the world. Instead of using a hand-selected list of feeds, I combined two ideas:
- The ability to tag web pages with geographic coordinates, provided by geourl.orgs “ICBM” metatag
- RSS feed discovery tags
With those two details, I could process a big list of sites, and sites that had both of those things were added to the database. The result looked like this.
Localfeeds got some attention in the wider world, and was written about in an issue of Esther Dyson’s Release 1.0, blogs, and podcasts, and got me invited to be on a panel at the first Bloggercon.
DC (2006 and on)
After moving to the DC area, I got involved with the DC Blog Meetup for a while (and may have been organizer for a bit). At some time before or after the move, I also moved my blog from karchner.com to rossnotes.com, and switched from whatever I was using previously (either Movable Type or PyBlosxom) to Wordpress.
The most notable thing in this era is that I started tracking different technology events that sounded interesting. There’s a lot going on, and nobody was listing it all in one place. So, “DC Tech Events” became an ongoing series on my blog, and then it became a newsletter, and a dedicated website.
There was a mini-scandal when another site started re-publishing it without credit.
I credit dctechevents with opening a lot of doors for me, including my previous and even my current job. At some point during this journey, I decided the software I was writing to manage dctechevents (I called it “eventgrinder”) was unique and something more people should be able to use, and started down the path of turning it into a business. At least, I created an LLC, opened a business checking account, and worked on eventgrinder like a serious side-hustle for a while. After a while this led to opening more dctechevents like sites for other cities(like Localfeeds), but that’s where it kind of lost steam. I made myself a publisher, dependent on this software I was writing, but actually hated using.
By 2013 (or before)I had given up on eventgrinder, dctechevents, and the network of similar tech events sites.
After this, I cycled between not blogging for long periods, and starting over with some new platform or tool. I recall Wordpress (self-hosted), Wordpress.com, and GitHub pages being used at certain times. I think Twitter played a role here: it was easier to post and that’s where the people were.
I think around 2018 I became aware of micro.blog and the indieweb movement. I definitely kicked the tires on micro.blog, but also I was infatuated with “Serverless”, and the idea that there was an optimum expression of the indieweb’s standards and protocols that could be built out of AWS serverless tools. This also led to it’s own cycle of neglect and occasional rebuilding-from-scratch, and ultimately went nowhere.
I hit a moment where I decided to just commit to not doing it. I had discovered game development, and building new web things wasn’t interesting anymore, at least as a hobby. It’s hard to find a problem more solved than blogging (except maybe text editing), and I wasn’t even sure I wanted a blog.
Until, a couple of months ago, I decided I did want to blog again, and re-approached micro.blog without the not-invented-here attitude and decided to try again.
Finished Listening: The Twilight World by Werner Herzog đ
Currently listening: The Twilight World by Werner Herzog đ
I picked this up after finishing Herzog’s memoir, both because the story sounds interesting and I enjoyed listening to his narration, but there’s something about his writing here that almost begs to be read from actually pages. I may do that when I’m done listening.
Gamedev Goals for 2024
In the next year, I’d like to:
- Watch less YouTube, watch more Udemy, more O’Reilly Learning, more books, more blog posts and independent websites.
- Whip the not-yet-titled “jumping game” into something you can download (buy?) on (at least) the Google Play Store.
- Create a new game, that teaches some cybersecurity concepts, and get it out in the world (even as a beta or preview) in time for Cybersecurity Awareness Month (October). This is not courseware. My reference point is SimCity. SimCity doesn’t teach you how to work in local government, but you walk away with insights into the sort of decisions and trade-offs that go into running a city. I want to make something that puts fun first, but where success means thinking like a CISO (or someone similarly in charge of cybersecurity for an organization).
Finished reading: Every Man for Himself and God Against All by Werner Herzog đ
I couldn’t stay away– I once again have an account on the gamedev.place mastodon server.
The main thing I missed was #screenshotsaturday– when I wasn’t participating in a gamejam or something, it provided a motivation to have some bit of progress to show every week. I want to get back into doing that.
I changed my mind on that (surprise!). I’m perfectly capable of creating a habit without the external validation.
Or at least, I’d like to think so.
Roguelike, Part 7
I just finished part 7 of the roguelike tutorial.
New stuff:
- Baddies!
- … that chase you
- … and can also die
- (but you can die too)
- A user interface that let’s you make sense of what’s happening.
I like how the author sets up the UI, I’ve learned some neat tricks there. I was a little fuzzy on the vim-like modal input system before this latest part, it clicked when adding the ability to scroll back through the message log.
Most of the graphics are (per the tutorial) from the Kenney 1-bit pack, but my son had an idea for a new graphic for the wall tile. I like it!