Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

The perils of extreme procedural generation - Or how 100 quadrillion ascii faces drove me insane

A topic by Huw2k8 created Feb 23, 2019 Views: 4,981 Replies: 2
Viewing posts 1 to 3
(+3)

The perils of extreme procedural generation

Or how 100 quadrillion ascii faces drove me insane

By Huw Millward (internet nobody and developer of Warsim)

When I began programming back in 2011 I discovered procedural generation and fell completely in love. So much so that my first major programming project was just a giant generator, I worked on it day and night for weeks and weeks and it ended up producing billions and billions of possible weapons, I felt like I was in heaven imagining all of these medieval weapons , A dwarvern impure-gold dagger or a military thin fish bone longsword or that ancient cursed lapis lazuli duel bladed greatsword.

As time passed I began working on actual video game projects, and of course these were similarly literred with procedural generation systems, my first major game having procedurally generated combat moves, monsters, weapons, foods, books, and all kinds of other things. My current project 'Warsim: the realm of Aslona' was developed with an extensive face generator.

There are in total over 30 different default races that have their own face generator, one is orcs which you can see below, the orc face generator is one of my favourite.


Here we see a total of 24 Orc faces... there are exactly 55'190'782'080'000 of them. 55 trillion orc faces, which means if you looked a a page of 24 orc faces like above, every second, it would take you  72,920 years to see them all, and of course that is 24 hours a day of refreshing, sounds like a fun near-eternity.

So over the development of the game I have been occasionally adding to these face generators, I was always fascinated by how easy it is to make tiny changes and see another billion faces possible, because after a certain point the number of possible interactions from one part to another becomes astounding.

Here's an old video I made showing off how the face generator actually works

In this time some people have complained that talking about the procedural face generator numbers is pointless saying that while it is accurate that there are 55 trillion orc faces, it's irrelevant, no one will see them all. In fact the average player probably wont see more than a handful of orcish faces, the odds of getting an orc race in your world are slim due to how many races are possible. 

A lot of the points raised by these players are completely valid, why should they care about these arbitrary numbers, a face generator with 1000 possibilities is good enough, the average player wont see them all and probably wont recognise a duplicate if they did get one, so its a waste of time adding new faces when I could be coding new features.

I agree to some extent with this, but there are a few points as to why this absurd face generation system has its merits, the most obvious is the concept is incredibly cool, the idea that EVERY single face you see is almost guarenteed to be unique, it's so unlikely that anyone who has ever played the game will have seen any of the faces you have seen, no matter how much you play the game, and I've always really liked that thought.

It makes the world more personal, all of these little ascii faces characters are unique to you and your gameworld, kill them or delete the save and they are gone forever and will probably never be generated to the light of a screen ever again, truthfully the vast vast majority of these procedural faces are just theoretical at this point and will never ever come to exist, but the fact that the system is that inundated with content makes me feel good, additionally the more possible faces there are, the less similar they will all look to eachother, so there are other benefits.

That's more or less the end of my little rant, but here are a group of procedural zombies and liches


Let me know what you guys thought of the article, happy to answer any questions and always up for a chat!

If you want to check out the game, it's here on itch.io (https://huw2k8.itch.io/warsim)

(+1)

This is incredibly cool, it would probably be possible to do the same with pixels instead of ASCII characters, right?

(+1)

Anythings possible, you could even use the exact same system if you stored rows of pixel graphic face parts. Warsim's face generator works by taking a single ascii face drawing, then making 100s of versions of the hair, forhead, eyes, ears and nose, upper lip, mouth, and chin. As long as they all line up, the possible number of faces becomes pretty nuts.