3.5DRL

The 7DRL challenge is halfway over.  It’s always difficult to find enough time to work on a project like this, but I’ve made some nice progress:

It turns out that I had all kinds of useful working bits of code from my RZG experiments.  I also decided to start from a state of completion and work backwards to fill in the gaps, so I’ve actually had a completely playable game since day 1 — it’s just not very good yet.

Here’s a summary so far:

  • Generate a random dungeon map bounded by walls and surrounded by a bottomless pit;
  • Fill the map with NPCs that wander around, an Amulet that can be picked up, and a portal to escape and end the game;
  • Spawn  the player into the world equipped with the Friendship Bat and the Gun of Supreme Convincing — whack an NPC with the bat or shoot them with the gun and they will become your loyal servant, following you anywhere you go (even into the bottomless pit…);
  • The player character, the amulet and the escape portal are all visible on a minimap which can be toggled on or off;
  • Controls are designed to work best with an Xbox controller, although you can also play with just a keyboard;

Not bad for a few days of effort, but now we venture into the unknown.  Coming up on my list of milestones we have:

  • Knowledge system — All entities in the world are given properties known only to them, but knowledge can be shared via chat, careful observation, or from reading books.  The more knowledge you gain about an item the more useful it becomes, and the more you learn about an NPC the better chance you have of converting them into your follower.
  • Chat system — The default action in the game will be to say ‘hello’ and introduce yourself.  This should lead into some sort of dialogue where you can trade knowledge and items with NPCs.
  • Content — More elaborate dungeons, more items with more functionality, more NPC behaviours… the goal is to create a large enough variety of systems to produce emergent gameplay and a deep roguelike experience.

Ok, enough stalling.  Back to work.

7DRL

After a short holiday break, it’s time to get rolling once again.  Just in time for this year’s Seven-Day Roguelike Challenge!  This will be the first game jam-like I’ve done in a while, and true to the spirit of 7DRL I’m determined to actually release something.

My entry is inspired by the short story ‘The Library of Babel‘ by Jorge Luis Borges, written in 1941:

“The universe (which others call the Library) is composed of an indefinite and perhaps infinite number of hexagonal galleries.”

 

“Like all men of the Library, I have traveled in my youth; I have wandered in search of a book, perhaps the catalogue of catalogues. At times I have traveled for many nights through corridors and along polished stairways without finding a single librarian.”

 

“Now that my eyes can hardly decipher what I write, I am preparing to die just a few leagues from the hexagon in which I was born. Once I am dead, there will be no lack of pious hands to throw me over the railing…”

This is a great opportunity to explore some of the concepts I’ve been discussing on this blog:

  • Inspiration from non-video game sources;
  • Alternatives to combat and violence;
  • Group behavior and social phenomenon

Time to put my code where my mouth is.

grep ‐‐week 52

The theme this week is:  null sweat chummers, see you next year.

CD Projekt Red receives grant for procgen research
@wccftech
The lo(ooooooo)ng awaited Cyberpunk 2077 maybe just got a boost towards actual existence, as CDPR takes in a $7mil government grant for research into “the creation of ‘live’, playable in real-time, cities of great scale based on the principles of artificial intelligence and automation,” among other technologies.  Of course they might just pour all of that money into the next Witcher, but we’ll keep hope alive.

ProcJam 2016
@itch.io
Videos of the talks are up from Procedural Generation Jam 2016.  I’ll be following up on this in the next few weeks once I’m home from holiday and have time to digest it all, but you can see this year’s entries there as well.

Procedural Sprites at GenJam 2016
@davideyork
However, I can’t seem to find any write-ups from the newly minted Generative Art Jam in SF, other than this very cool sprite generator.  The author essentially took an open source sprite collection, broke it up into pieces and palettes, and made a paper-doll character generator.

Bad Game Pitch Bot
@badgamepitchbot
This also came out of GenJam:  “What if we made a Call of Duty-alike, but with a dynamic romance simulation?”  — that’s what I’ve been talking about!

Everything Procedural 2016
@youtube
Videos of the talks from the Conference on Procedural Content Generation for Games in the Netherlands last month are also available.

Procedural Personality Generation
@gamasutra
More great output from the Moon Hunters team, who are now apparently literally writing the book on procgen.  Repeating the oft-given advice to err on the side of too much transparency in your system, Tanya Short adds an interesting observation:

“Most [procgen systems] expose character traits up-front and then allow the player to observe behaviour and compare their expectations to what the character does and how they appear. I believe this may be a symptom of players’ current relative illiteracy of procedural content, such that designers are under huge pressures to ensure their outcomes appear less ‘random’ and to ensure the systems they build aren’t ‘wasted’ in opacity from the player.” —Tanya Short

7 uses of procedural generation that all developers should study
@gamasutra
A repost from earlier this year (as part of Gamasutra’s year in review) covers a wide variety of use cases for procgen.

Magic Leap execs jump ship
@gamesindustry
This is a bit unexpected.  I had high expectations for Magic Leap to finally open the door for wearable computing (after Google Glass fell on its face), and now practically the first bit of news coming from their secret lair is all bad.  I guess we’ll find out the truth soon enough at the rumored unveiling at CES next month.

anecdote: rules of fashion

Whether we realize it or not, we live in a rule-based society.  There are social norms that everyone is expected to play by.  Video games rarely leave the realms of war or fantasy — places where we can invent our own norms — mostly due to our legacy of creators being misfits and outcasts.  If we want to create games that are meaningful (or even recognizable) to a larger audience then we need to take inspiration from areas of society that we (developers) might not be personally comfortable or even familiar with: politics, religion, science, or today’s anecdote, fashion.

The next artist meetup is tomorrow and you feel totally unprepared.  If you ever want to get your own gallery showing you’ll need to make a strong impression with the patrons.

And so you find yourself in the downtown fashion district, hunting for color and style.

The bored teenager at the register fails to acknowledge your presence as you enter the store.  Judging by her choice in music that you hear coming from her headphones she couldn’t help you anyways, unless maybe you wanted to pivot to the goth scene.

Slipping back into the endless rows of clothing racks, your heart sinks;  With a nearly infinite number of options and combinations, how will you ever decide what to wear?

Sensing your despair, another employee approaches.  “Do you need some help finding something?”

You take note of her trendy haircut, her snappy blouse, her cute shoes —
x “No thanks.”
x “What are the hot colors this season?”
–> “Yes! I’m looking for…”

mechanical meaning

No grep this week.  How about some incoherent ramblings instead?

So I’m still catching up on this whole debate re: ‘what is a game,’ as I’m trawling through these threads.

As I play more of these ‘personal games,’ where indie devs are pouring their hearts out in experimental new formats, I find myself again looking inward, asking myself what story I want to tell with my own game.

But as I’ve mentioned before I don’t want to write a story, in fact I’m not sure I would even know how to if I tried.  Instead I want to create a platform for telling stories.  As the form of this procedural storytelling sandbox continues to take shape I am confronted with questions about the nature of playing games.  What’s the point?  Why do we do it?

Or more importantly in this context, why do I want to expend so much effort creating a game with meaning?

Creating games is something that I’ve always done, for as long as I can remember.  Not just video games, but games in the way kids turn anything into a game.  I always loved creating rules that invented a space for me and my friends to play in.  And so I’ve never really questioned what was the point; creating games was just the natural order of things.

But these were all games for the sake of fun.  A worthy endeavour, sure, but now I suddenly feel like I need to create a game with meaning, something that could be considered culturally important in some way.  This leads to a very different set of problems to be solved.

While struggling with these concepts I stumbled upon this discourse between Raph Koster and others debating if games should have a definition or not, amongst other topics.  In particular this comment from Richard Bartle struck a chord with me:

“Gameplay is what games have that nothing else has: it’s here where the symbolism has to lie if you want to talk about games as art. Anywhere else, it’s basically games being co-opted as other art.” –Richard Bartle

This is the source of my internal dissonance.  I want to create a simulation with deep emergent storytelling properties, yet I have no interest in writing any one specific story.  These two ideas seem incompatible, and this incoherency has created all sorts of conflict within me.  How can I have one without the other?

I’m beginning to understand that the two concepts really are mutually exclusive.  I am a writer of game mechanics, not a writer of literature.  I speak in a language of formal systems that when combined can be greater than the sum of their parts.  If any game I create was to have meaning it would come from the mechanics.

With this new understanding I am able to move on to a new source of confusion and self doubt!  I’ve read plenty of stories, and I know a good one when I see one, but could I tell you WHY a story is good (or bad, for that matter)?  Without this level of understanding of the structure of good storytelling, can I possibly create systems that allow such stories to emerge?  Further down the rabbit hole we go…