Tag: procedural generation
Hello, everyone! After a gaming break, and working on a game design inspired by it (which will be revealed in due time), a sudden revelation means that my research into outliners becomes immediately relevant, with much less work required on my part. So I hope to have a surprise for you soon.
Until then, let’s see what happened this week. For one, Jason Scott just launched a campaign to archive all Apple II software, especially originals that couldn’t be touched before due to copy protection. In related news, Techdirt mentions yet another case of games preserved thanks to piracy and emulation. You know my opinion of this, so I won’t insist.
In other news, we have a couple of articles discussing game design issues. Like this one about the importance of choice, even in historical games. Which reminded me of the time when I played a historical gamebook, and choosing what seemed like the fair, stay-the-course choice led to an untimely death, because it wasn’t what the historical character had done in that situation. And I can understand if you’re trying to test a student’s knowledge of real-world history, or simply if you don’t want to deal with the complications of imagining plausible counterfactuals, but it was such a disappointment at the time. So I was glad to read about a better approach.
Similarly, Jimmy Maher’s latest article discusses the problem with procedural generation that many games have. But I’ll say once again that PCG itself isn’t the problem. We can make generated worlds more diverse, detailed and believable. It takes work, but it can be done. What we can’t do automatically is make them matter. Because, you see, people don’t tell stories — or listen to stories — for the sake of it, but in order to share meaningful experiences that soothe, teach, amuse… whatever. And meaning can only come from personal experience.
As I pointed out before, it happens all too often that a fictional setting will be lovingly handcrafted, all coherent and plausible, yet utterly bland. Conversely, playing a roguelike can become very personal very quickly. So I’ll state it once again: the method of creation isn’t to blame. Forgetting the “why” is the usual culprit.
Last but not least, here’s an interview about the development process of Dungeon Crawl Stone Soup. And the key to it all is this passage:
The number one most important qualification that the developers discuss when deciding if they should add someone to the official dev team isn’t their design, art, or coding prowess. It’s their social skills.
It goes for all software development, really, or for that matter any human endeavor. But for too long now, we lived with the illusion that technical excellence somehow trumps being a decent person. Well, look around you. Enjoying the results?
Until next time, remember to care about people.
Hello, everyone! With the recently concluded Game Developers Conference keeping everyone busy, I don’t have as many links today as for the last two weeks. But hey, as Michael Cook points out, not everyone could make it, and what they have to say is no less interesting. Like this article about ahead-of-time versus runtime procedural generation. Or this essay on videogames and genre, which comes up with a novel angle: in games, because they’re interactive, genre has two axes, not just one like in static media. In other words, it’s a field, not a line. Which explains why everyone, myself included, have had such a hard time getting a grip on the concept for so long.
In other news, over on Eurogamer Alexis Kennedy writes about game endings (via K.D.). Pretty ironic for someone famous for creating a neverending text-based MMO. I don’t agree with his position, by the way: while Undertale’s habit of remembering past playthroughs blew everyone’s mind, it also frustrated a lot of players who found themselves locked out of the best ending because they played too violently at first, as they’ve been conditioned to do for two generations. And sure, that’s how real life works… but the whole point of games is that they’re not real life. He also seems to forget that MMORPGs (including his own) had to compensate for the players’ inability to save and reload by making death inconsequential, also in order to avoid frustration.
When what you do has permanent consequences, however virtual, it’s no longer fun and games. Not that games have to be fun. But consider what exactly you’re putting in front of an audience.
Last but not least, via Emily Short, here’s a Kotaku article about black people in videogames. Unsurprisingly, the gist of it is that we’re still limited to stereotypes and caricatures, and that’s a terrible state of things this far into the 21st century. Especially as Unesco just hailed videogames as a great way to foster empathy between human beings in a world plagued by violent bigotry.
But that takes us into really dark territory. See you next week.
Hello, everyone. This week I have few links, and most of them on just one theme. With a few days to go in the Interactive Fiction Competition, Emily Short posted a roundup of the games, and that brings me to the main topic for today.
It occurs to me that this year were launched no less than three highly original IF engines. First there was Texture this summer. Then a game based on Versifier took the IFComp by storm. And Elm Narrative Engine was recently announced. All of them are very welcome, as they open up new directions for interactive fiction, outside of the parser/choice duality. But it worries me to no end that all these new engines, just like Twine, Quest, Squiffy, Undum… basically everything this side of Glulx is all strictly web-based. And while that’s oh so convenient in the short term (I do a lot of my own work in HTML5 for exactly that reason), it means a lot of newer interactive fiction depends on a piece of infrastructure — browser engines — so large and complex that most programming teams don’t have a hope of maintaining or rebuilding it should the need arise.
Perhaps the Interactive Fiction Technology Foundation should consider a partnership with Mozilla or something. In the mean time, my upcoming engine is deliberately designed to NOT require any specific technology for implementation. Even the JSON-based serialization I’m going with for now can be easily replaced.
And still in the way of gaming events, another big one ends soon (today, actually). Following its namesake unconference, the Procedural Generation Jam managed to collect 80+ entries, and over ten times as many participants. I didn’t have time to check it out this year, but there’s bound to be a handful of gems among them — for everyone. So have fun with them until next time.
Hello, and welcome to an eventful week, if you’ll pardon the pun. The PROCJAM unconference took place just before the weekend. Released on the same occasion, the first issue of their newsletter pack a hundred full-color pages of little treasures for anyone interested in procedural generation. Stay tuned for the upcoming game jam of the same name. In the mean time, as Slashdot reminds, the 22nd edition of the IFComp still has three weeks to go. Take a look!
In the way of game design advice, Rock, Paper, Shotgun has a write-up about choice in RPGs, and the gist of it is: let the player feel like they’re making an impact on the game world, even if it’s often an illusion. Give them at least a bit of agency. And elsewhere there’s a long, thoughtful essay about what made Ultima VI great. And while the bit about mapping games by hand is iffy, I actually considered using a flood fill algorithm for visibility in my roguelikes. It just never occurred to me that it simulates environmental awareness better than line-of-sight, simply because we also use memory.
Which reminds me that monitors have their color generation adjusted to match the sensitivity curve of the human eye, the Vorbis audio codec compresses sound based on how people hear, and some features of POV-Ray drop any pretense of physical simulation in favor of sort-of reproducing things we can see in the real world…
Hello, everyone. Today was supposed to be a brief newsletter, but things didn’t work out that way, so bear with me. Let’s start with a couple of videogames-in-the-mainstream news. First there’s The Guardian running a feature on walking simulators, and while it’s good to see the genre getting recognition, it’s equally dismaying to see how quickly people forget history. A lush, exotic island that the player can explore at their leisure, putting together a story from scattered pieces, and giving it their own interpretation? A meditative experience? Environment as narration? Where have we heard all that before?
Oh wait. The description perfectly fits Myst, that took the world by storm nearly a quarter of a century ago, and went on to sell six million copies (not counting the rest of the franchise) before being relegated to a cult classic status. But sure, let’s rewrite history and pretend walking simulators descend from first-person shooters instead. Never mind all the puzzle-less interactive fiction that showed the way for graphical adventure games even as the latter were dying a shameful death — and nobody paid attention; I don’t expect most game journalists to be aware of those. Myst, however, is a different matter. Learn your history, folks.
(Admittedly, it was the Bioshock games — a FPS franchise — that first took a hint from Myst and brought that particular storytelling technique back into the limelight. But, tellingly, the article fails to mention Bioshock, too.)
In unrelated news, Techdirt covers the story of a game developer that sued Steam customers over negative reviews (I’ll spare you another rant), only to have their games promptly dumped from the same Steam. Not out of any love for free speech, of course. Funny, though, how treating people well in fact goes hand in hand with good business, rather than the two being at odds. Too bad the Valves of the world are so few and far between.
In the game design department, Emily Short tackles the problem many developers have recently discovered to their dismay: namely, that procedural generation is inherently repetitive. And of course she’s right: making sure your level generator can create a variety of situations for players to deal with is a good idea. But even that is missing the point; nature, after all, can be repetitive too. A multi-hour train ride through certain parts of Europe will reveal an endless parade of forests, rivers, ponds, hillocks and forests again. What makes most places special isn’t some unique landscape feature, but all the time we spend there, and the memories we gather of the place.
What can players do in your game that’s actually meaningful to them?
Speaking of what players can do in games, just yesterday Konstantinos Dimopoulos spotted this pair of interviews with the creators of Mario 64, from the distant past of 1996. Note how the recurring theme is, you know a game is good when players have fun just stomping around doing random stuff. And on a similar note, Gamasutra is running a postmortem of the Sorcery games by Inkle Studios, detailing the challenges of adapting a beloved gamebook series to a digital medium.
But I already wrote way more than planned, so until next week, remember to value the past.
Hey, folks. It’s a good feeling when I have enough links for a newsletter to actually discard some of them. Released at the end of last month as part of Ludum Dare 36, procedural 2D platformer No Mario’s Sky promptly got a cease-and-desist from Nintendo. Naturally, all they had to do was replace some sprites and rename the project to DMCA’s Sky. (Techdirt covers the story in more depth.) Enjoy the egg on your face, big N. How much fan goodwill do you still have left to squander?
Still in the copyright department comes the announcement that Interplay is selling its properties. And you know, on the one hand it’s one of those times when one regrets not being rich. But on the other hand, are we perhaps overvaluing a bunch of titles? A game is a lot more than that, as various creators have recently demonstrated.
In unrelated news, AAA blog is running a retrospective of Civilization, and Jay Barnson writes a brief tribute to Star Trek, occasioned by the series’ recent 50th anniversary that so few people noticed. More usefully, my friend Sera writes about her favorite topic: five depictions of the afterlife in video games.
Last but not least, in the way of game design, part 2 of the series on inventory systems is getting really interesting. And from a roguelike development blog I sort of follow, here’s a write-up on procedurally generating backstory for games. Which isn’t even exactly new anymore, though what the author describes sounds closer to Versu than Dwarf Fortress. But you know… I remember reading a brief history of Middle Earth in the appendix to the Romanian edition of LOTR, and it all boiled down to a long string of “king X ruled between years Y and Z” and “country X went to war against Y, but Z happened and doom befell them”. Which is… exactly how history is taught in schools, and just as meaningless. Unless you can show me how it’s in any way relevant to the story I’m reading now, unless you can give me a reason to care, it’s a waste of space. And you can only do that if your story has a point in the first place.
So why are you telling me your story at all? For that matter, why does it need to be interactive?
Because, you know, most stories simply don’t.
Hello, everyone. For once, I only have my own bad mood to blame for the shortness of this newsletter. As promised three weeks ago, my latest book, Make Your Own Programming Language, is live on Leanpub. It’s only of interest to programmers, especially those with a taste for retrocomputing and retrogaming. But you know my opinion: piecing blocks together in GameMaker is still programming, whether you realize it or not. And game design works best when you have at least a trace of process, as opposed to banging things together until they stick. So give it a try.
In unrelated news, all everyone’s been talking about lately is No Man’s Sky. That’s also the case of Michael Cook, who brings it up as an example of the language we use to discuss procedural generation. And you know… I couldn’t help but notice the fatigue of many reviewers when they mention how many millions of billions of planets there are in that game, and how they’re never going to see the vast majority of them. Which fortunately doesn’t really matter…
I guess the creators of No Man’s Sky forgot that the original 8-bit Elite was originally planned to have 282 trillion galaxies, or 2 to the power of 48 (presumably another byte was going to be used for the planets in each galaxy). And never mind that it would have made the artificiality obvious, especially on a home computer from the 1980s. But visiting 2000 star systems is a plausible goal for the determined player — there are just enough of them to make for a huge playground, yet few enough that you can actually remember some of your visits afterwards… and care. While enough content to fill millions of galaxies (a sizable chunk of the observable universe) just sort of blends into an amorphous mass. A statistic, if you will.
As an aside, let me underscore again than an 8-bit computer from the early 1980s, with just 64 kilobytes of RAM, could easily have handled a procedural universe on a scale comparable with the one in No Man’s Sky (if a lot less detailed). What exactly are we doing with a million times more memory and computing speed?
Is it a book? Is it a piece of software? It is a game? The second edition of Make Your Own Programming Language, that I finished writing today, has a little of all three. Most importantly, it tries to recapture the fun of making the computer follow your instructions, that forgotten quality of programming that used to lure so many people decades ago. It will soon be out to beta-readers, and then I’ll let you know.
In other news, Rock, Paper, Shotgun is running a series of articles on the future of procedural generation, specifically about spinning lore for computer role-playing games. Which would be pretty interesting, except for most roguelikes that would be overkill, while in more conventional CRPGs handcrafted characters, stories and settings are the whole point. Do games that aim to have emerging narratives even need that much detail, especially if it’s ultimately fluff?
Going forward, via Jay Barnson, here’s a Gamasutra article about Chrono Trigger’s Design Secrets, that manages to be useful even though I never played the game. And Jimmy Maher’s history of computer story games has reached the demise of Infocom; check out the quote from Marc Blank, who was stating who knows how long ago what myself and others have been blogging about all spring:
If all of a sudden you can ask any question, but there are really only three questions that are important to the story, you’re either going to spend all this time coming up with answers that don’t mean anything or you’re going to have a lot of “I don’t know that,” which is frustrating. I always suspected it was a dead end. The nice thing about the command-oriented game is that you can come up with a pretty complete vocabulary and a pretty complete set of responses. As soon as it becomes more open-ended — if I can say, “I’m hungry” or “I like blue rubber balls” — how do you respond to that?
To end on a nostalgic note, here’s a blog post about abandoned arcades, and the slow death game cabinets are sentenced to when left exposed to the elements. Thankfully, there is interest in rescuing these old machines as of late, so for the most part arcades are a bit of history we can expect to survive.
Until next time, don’t let the past be forgotten.
Hello, everyone. This week I must confess to a couple of broken promises. I didn’t get around to uploading a fix for the bug found in the online version of Glittering Light. And last time I forgot to announce my decision to abandon the graphical port of Tomb of the Snake. Sorry, but an already overengineered game was only getting even more so, FreeBasic’s supposed portability turned out to be illusory where it mattered (though SDL carries part of the blame), and the community less than friendly. But I learned a few things; my next projects will be tools, not games. Hopefully you’ll find them useful.
In other news, early this week Konstantinos Dimopoulos alerted me about Procedural Content Generation in Games, an academic textbook on the topic that’s nevertheless an easy enough read overall. It seems the project was launched a few years ago, but it’s only now ready for publication. Grab it while it’s still free!
Also in the way of long reads, Hardcore Gaming 101 is running a six-part feature on the Fallout series. And for the impatient, my friend Chris Meadows compares two online games of Catan. Last but not least, a piece of news not related to games, but just too cool to pass up: the source code for the Apollo 11 mission is now on GitHub! Amusingly, lots of people have been submitting pull requests, some jocular, others not so much.
But that’s about it for the past week. See you around.
Hello, everyone. This week felt like very slow progress, but after a long coding session yesterday, the game ended up nearly complete:
Not depicted: the horrible screen flickering every time you make a move on higher zoom levels; hopefully it will go away on more powerful computers, because clearly double buffering in sdlBasic isn’t working the way I thought. But hey, it runs, and looks just fine too. Water is surprisingly nice for such a simple trick, and knowing the exact screen aspect ration enabled me to come up with a nice non-verbal HUD — the minimap is displayed on-demand like in the new online version. Speaking of which, I found a bug in the latter that made speed boosts basically useless by the time you found any. Going to upload a fix soon, along with the desktop port.
In other news, this week I found yet another HTML5 library to ease roguelike development. Unlike the competition, rl.js is a single 600-line file, and doesn’t try to include the kitchen sink. It handles input, output, tilesets — including procedural art features — and manages the map, including collisions. In other words, a focused (and very well documented) product. Only its use of the General Public License is a potential obstacle.
Still on the same topic, there’s a new roguelike review blog in town, and it might just be worth following for a fresh perspective. And speaking of perspectives, just yesterday I was pointed at an academic, yet quite readable, article on diversity in games with procedural generation. Tl;dr version: the data structures and algorithms we use, even the programming languages, encode biases and assumptions, of which we have to be aware, lest we end up conveying unintended messages.
Last but not least, the news surfaced a few days ago of the brand-new Interactive Fiction Technology Foundation, which aims to future-proof certain tools and services the IF community has come to depend on. A most welcome initiative.
But I’m over my quota again. Until next week, code mindfully.