In this post:
- What is "Homunculus"? I'm not sure I've actually said before.
- What should Retro and Journeys be?
- What common factors do the Kalazia games have?
- What differentiates them?
So, there are several things to describe.
Homunculus is my name for a roguelike game/engine I'm writing, based on a tutorial for writing a roguelike using tdl. When it's done, the gameplay loop will be:
- Start a new game.
- Spawn in a randomly generated dungeon, surrounded by orcs, trolls, potions, scrolls, swords, and shields.
- Kill enemies to level up.
- Find the staircase down to move to a tougher level, and get healed a little.
- Eventually die.
It has autosave functionality. Movement is turn- and grid-based; there's no diagonal movement because I didn't want to implement vimkeys, and I didn't think of anything better.
I hope to extract out the content assumptions, and extend the core functionality, to create engines and assets for games set in a region I made up, called Kalazia. For convenience, the two things I'm trying to put together, MonFree Retro and MonFree Journeys, I'll call the common code and assets MonFree Kalazia. I'm thinking about both Retro and Journeys, in part, to have some idea of which concepts I feel like pulling out into a library first.
When I was thinking about MonFree, I first thought about the ideas that went into Journeys, which came from reading the PTU rulebooks. I thought it'd be cool to have a video game that incorporated some of the ideas from the books, such as "type bends", and battling on a grid. I also think it'd be interesting to have the ability to customize the player character, from a gameplay perspective.
However, since some of that is pretty ambitious, I'd also be okay with something that packed ideas like "type bends" into a more old-school presentation. Hence, MonFree Retro.
I want the overall gameplay of MonFree Retro to be:
- Start the game in the southwest corner of Kalazia, and work your way around it in several clockwise loops.
- Start the game with a single monster, capture and train more.
- Prove yourself against powerful trainers that each specialize in a different element.
- Finally, go up against "the best" trainers, and thereby unlock the postgame content.
- Along the way, deal with a criminal organization that is definitely not inspired by current events.
Where Retro has a fixed overarching plot with short sideplots that open up as the game continues, I want Journeys to be more of a quality-based narrative setup, maybe with waypoint-based conversations. (Terminology swiped from Beyond Branching: Quality-Based, Salience-Based, and Waypoint Narrative Structures) I don't have a specific vision for Journeys, so I'm first going to throw out some questions:
Can the player form a party with other humans?
Can a single game world support the player in a range of activities such as:
- Opening a shop
- Becoming an archeologist
- Wielding godly power
- Getting tangled up in the criminal underworld
- Entering the various competitions
What I'm kind of imagining is an overall structure of story hooks that hint at different styles of narrative, and slot into a small set of predefined structures, which the player then moves between to define what their character is like. Kind of a hybrid of Fallen London and Chuubo's Marvelous Wish-Granting Engine.
So, overall gameplay of Journeys would be:
- Start the game, ideally anywhere in Kalazia, with a single monster.
- Develop your character and their team, following intriguing story hooks
- Hopefully, have a satisfying experience, however you decide to develop your character.
With those thoughts down, let's see what the ideas have in common:
The player is collecting a team of monsters to act as traveling companions
Those monsters have various elemental affinities
They have abilities that key into those affinities
The interactions between those affinities determine how effective attacks against a monster are
The monsters gain power from combat experience, which is one way they learn new abilities
Various factors allow the monsters to change into more powerful forms; new forms have the potential to learn different abilities, and may have different elemental affinities
Some monsters have abilities that can alter their affinities, combat characteristics, appearance, etc.
The combat statistics are the following:
- Maximum hit points; this number does not change during the course of combat
- Physical/Special Attack/Defense: different moves are considered "physical" or "special"; the distinction is basically whether they have "heft"
- Accuracy/evasion/and such
- I want to break evasion into various kinds of armor class, maybe
I want to have an idea of size classes, that apply modifiers to the statistics, and can be switched between using abilities or items. Basically, I don't want ants to be giant by default, but the player should be able to make their ant be giant
There are unique monsters with connections to the lore of Kalazia. They can be encountered and spoken to, gotten quests or boons from, but not captured.
Rather than "trading" monsters, players should be somehow able to "lend" a monster to friends while they are both online, and this should have various effects
Various factors should be able to influence a monster's appearance
Monsters are recruited by weakening them in battle, then using an item of some kind
Monsters can be bred to raise new monsters from a low level; breeding compatibility relies on various factors including relative size, and relative size also influences the species distribution of the child; like, potentially anything should be able to have a panda baby, or a kangaroo baby. Kiwis may have some trouble having a kiwi baby.
Updates are queued, and applied to a running game when the player consults specific NPCs; this should put the game in a sufficiently predictable state
There should eventually be mod support, which should use the same facilities as in-place updates
No external time-gated events; the game should run on its own clock, possibly allow for waiting/sleeping. Some in-game events may be sensitive to in-game time.
Besides directly attacking an opponent's hit points, a monster can also inflict various status effects, which make combat harder in various ways
Players should have access to manual saves under most circumstances, auto-saves at scene transitions, and auto-saves on game close
There are NPCs that serve various functions; players can have simple conversations with them
The player has access to monsters that are unique or rare, but not intimately tied to lore
There are various ways to teach monsters moves that they would not learn "naturally", including passing the move down through breeding.
I want some kinds of monster to have unique breeding mechanics
There are shops and healers at various locations. Healing is free (possibly only in Retro).
Only some of the game map is caves. The rest is roads, buildings, rivers, the sea, forest/jungle, maybe a canyon...
Most things that take you to a different location can be followed back the other way.
Though some terrain features can forbid certain kinds of movement.
Map regions are connected at their north, south, east, and west sides.
In-game text that the player can read.
Monsters not being used for battle can be held in reserve somewhere.
Distinctions between Retro and Journeys:
- In Retro, time passes and NPCs move in real time. Journeys waits on player input.
- In Retro, battles take place in an abstract space disconnected from the surroundings and the flow of time. In Journeys, battles are physically located in the world, and turns to game ticks
- In Retro, trainers do not influence the battle beyond commands and items. In Journeys, trainers have combat statistics and special abilities.
- In Retro, the player moves forward through a plot with minor reactivity. Hopefully, in Journeys the player is presented with a selection of algorithmically-filtered plot hooks, and follows the ones that appeal to them.
- I would like Journeys to have some form of modeling of events not influenced by the player.
This represents a good initial sketch of what the Kalazia games will be like. It's probably going to need a lot of expansion and refinement.
Next time, I try to organize these, and devise a sequence of iterative steps from Homunculus to Kalazia.