Wishful coding: societies

Over the course of last six months or so, I have been pondering how to have some sort of permanent location in game that would change over the time and show player progression. Eventually I settled for a fixed settlement, which also is home of the player character.

Continue reading

Thinking about a new creature

Recently I asked in twitter if I should add new creature,new artifact type or modify existing creatures and got told that I should add a new creature. So, here goes, I’m going to start working on adding a new creature and some new features along the way (as every creature should be distinctive from others, it often means that adding a new creature means adding some new features).

Continue reading

Generating scrolls

Earlier I blogged about procedural lore generation. That in itself is very large and complex topic and I wouldn’t want to tackle that in one go. One major part of the system would be generating all kinds of artefacts, of which some could even apppear in the game. This is quite large part too and will require significant changes (I have very few item types implemented currently).

But, I can already get started on fleshing out my ideas and implement a tiny, fairly insignificant portion of the system and see how well it will work and what kind of new ideas I’ll unearth. For this I chose cosmetic (at least for now) scrolls that player can find laying around everywhere in the game. I won’t be touching that much how the scroll generating will actually be implemented as a part of item system. Instead, I’ll assume that there’s some sensible way of system to call the code (although, I do have some hazy ideas already) and trigger creation of a scroll.

Continue reading

Legend generator

I love reading little snippets of background story in RPGs. These snippets can be in form of discussions with NPCs (or between NPCs), little notes, scrolls or even pages of books. But I generally don’t like reading long paragraphs that keep going and going. Information needs to be in tiny, bite-sized chuncks and it shouldn’t be mandatory to read all of them to proceed in game. I really liked for example how Dragon Age: Origins did this. There are tons and tons of stuff to discover, it’s delivered in varied means and it’s interesting.

Continue reading

Wishful coding: Adderall, traps and items

I have been pondering over some ideas about traps, items and how to represent what kind of effects they have in-world. I might be over thinking this a bit and going for too general and flexible solution, when simpler solution would work just fine. Currently this isn’t that urgent yet, as there are only few monsters and two types of traps (pits and caltrops). Monsters are too stupid to avoid either one. For caltrops it sort of makes sense, but they really should be able to spot huge pits and go around.

Continue reading

Wishful coding: evolving language

One of the goals with pyherc/herculeum has been to build a language that can be used to write a roguelike game. That part of the project has barely begun and most parts are concerned with level generation. While reading about SHRDLU (a really cool program designed as an experiment of understanding natural language) one morning and thinking about languages in general, I started thinking what would happen if the language used in level generation would be an evolving one? Nothing limits this thought experiment to level generation only, but I’m going to tackle one thing at a time.

Continue reading

Wishful coding: Symbol based AI

I have been reading Gödel, Escher, Bach: An Eternal Golden Braid, which among many things, talks about how symbols and simple rules create emergent system and eventually consciousness. One of the reasons I got in the process of writing Herculeum was that I wanted to tinker with various AI routines, so this section of the book is really interesting. Reading of course got me interested on trying to think how to code such a system.
Continue reading

Wishful coding: moral baggage

Wishful coding is a series of posts, where I talk about all the grand ideas that I would like to code one day, but which will take a long time still before I’m getting them done (if I’m getting them done ever). It’s a sort of like public notebook, where I write down things.

Moral baggage is something I have been thinking on and off for quite a while already. Core idea is that player actions would have a long term effect, in addition to short term ones. If they choose to solve all problems with brute violence, that is bound to change how they see and experience the world. It would also affect how others see them and what kind of reactions player might expect to encounter.

One example is decision of using violence or cunning to get past enemies. Player who uses violence, might grow physically stronger, but they would find it difficult to run away from combat because of the bloodlust. Character who likes to sneak past their enemies instead of fighting wouldn’t develop physically strong body, but might small details in their surrounding others wouldn’t spot.

In later stages of game a character with tendency to solve problems with violence might be asked to help raiding a nomad camp. Character who likes to sneak past enemies might on the other hand be asked to retrieve a stolen necklace without being spotted. Or people in some village might refuse to interact with bloodlust maniac, but player who solves problems peacefully, they would welcome.

So possibilities are endless. System should be written in a way that is transparent to player, so that they can make informed decisions along the way. Whenever they acquire a trait, it should be clearly stated and some of the possible outcomes hinted. Nothing is more frustrating than opaque system that leaves too much for guessing.