RAPALA design blog 002 - 2020-08-20
Tonight, I am thinking deeply (for me) about the design goals of RAPALA:
The last point is really important; I want to enable the creation of a large explorable city created and owned by many different participants. If a participant creates a certain object for their zone, that object needs to integrate with other zones.
This is what makes RAPALA a "game"; the logic that binds these different explorable zones together needs to be universal, and make the creations more interesting by helping them play off each other.
Rather than step through my whole thought process, I want to just outline the ideas and solutions I have in mind for these problems.
My initial thought was that participants would not be able to create new visual elements, but that I would provide a large catalogue that would be uniform across the entire game, with possibly some minor tweaks like color or other effects.
This is a bit uninspiring though. What if you wanted to create a neon sign for a bar or a shop? How will you make the letters? Or, for that matter, a vase, door-- anything.
The universal catalogue ultimately just becomes a "tileset" of sorts. It works, but everybody already knows how it works. One outcome is that people who want more options creatively, will mod the game by creating their own tilesets. This process can be awkward and introduce fragmentation-- it's not something I would actively work against, but why not try to avoid creating the "wall" that forces people into modding? Given RAPALA's design goals, "modding" is sort of the point.
The next option is to let participants draw art using their favorite program. This has a number of problems:
Clashing art styles is one, but this isn't strictly a negative.
The bigger problem is it's just a bit of a barrier to entry. Another goal of RAPALA is to make it playable with a controller (this is for comfort reasons). Suddenly, to fully enjoy the game you need not just a keyboard + mouse but a tablet and external software.
Making art like this is relatively labor-intensive, even if you can do it.
Also, very importantly, even in the context of the current implementation I am having trouble settling on software and workflow for art. I don't mind the way the look of the game is evolving, but I don't have a good procedure yet for making art for it. So this part of the development is not that smooth right now even for me.
I could make a grid-based ("pixel") editor for visual elements.
I don't mind this. It solves all the major problems. I think pixels are attractive and effective. In particular, they tend to leave a bit to the imagination, especially if they are chunky, which works well in this kind of game.
I think what I will do is this: there will be an in-game visual editor, but you will place predefined "strokes" together. The strokes will be something like unicode characters in their variety, so this exercise becomes a bit like drawing pictures with a typewriter, where you can place each character exactly where you want, not limited to any kind of grid, but you are still limited to these characters.
I think this constraint will actually encourage creativity. It gives a fairly small predefined "space" to work within, but freedom within it. In my experience these kinds of constraints can spark a lot of neat ideas.
It also creates a coherent visual language, and other constraints (e.g., number of strokes) can even be added if they make sense. I have other ideas that will play into this relating to game mechanics, too.
Another point in favour here is that the parts of the visuals that I like are modeled a bit on this principle already, even if subconsciously, so it is sort of a natural evolution.
I want to have NPCs in place, and the stroke editor really allows for portraits as well, by combining "strokes" that consist of eyes, noses, mouth, etc.
Strokes could even be animated, or have variations to them that participants can't fully control (so every vase designed by participant X will look very similar but not exaclty the same.)
This has the nice benefit, too, that it's either not very commonly been done or maybe even hasn't been done at all, quite in this way. A grid-based "pixel" editor is actually very nice and ticks a lot of the same boxes, but it can't claim originality.
One of the inspirations for RAPALA is Mob Psycho 100. Mob Psycho 100 uses a lot of different "material" effects in interesting ways, for instance holographic stickers. I think that the "stroke" editor fits with this, since strokes can be materials not just colors.
I will take this even one step further though. When you start to create something, you'll have to select materials to work with. These can then be used to define further constraints (e.g., stroke type, available colors) as well as determine game-logic properties (e.g., does it burn, how much is it worth?)
The materials then have meaning beyond just how they look; there should be enough flexibility and interest within the individual materials so that participants don't feel they are hitting a creative "wall", but should instead feel they are working within an interesting medium: "I made the vase out of wood, but painted it blue." is actually interesting, moreso than "I made a blue vase." The context provided by the materials makes the creative process better.
Again let me just describe the solution.
Participants will have special powers in zones they create. In particular, entering edit mode (as it is implemented now) will be one of them. This lets you place objects or scenery, and the cursor just spawns near where you are. This works well enough for me and in particular is hassle-free; if you are walking around and have an idea to add something, you just press e and start.
However, creating a new item or map element type is another question. It could get complex or awkward, for instance by needing to manage different catalogues somehow, and might also feel relatively disconnected from the game. For instance if you press "c" to enter "create" mode, where are you entering it from? Is there any reason for this not to be from the main menu? A separate program? And then how much time will you spend managing your creations, vs. working on them? Do you have a folder structure to worry about? Just how many menus is this?
The edit mode integration doesn't suffer these problems because the context for what you want to edit is always just where you are exploring. There's no real friction or overhead.
The solution I will go with is to associate a catalogue with a given zone. So each zone will have its own catalogue. To enter create mode, you'll have to access a special orb or some other object in the zone itself to access the catalogue. This orb can be placed using edit mode. (I'm going to call the orb a "forbet", French pronounciation.)
Further, each participant will have a special zone called their "psyche". No other participant can enter another's psyche, but the psyche has a catalogue associated with it. I don't know how all this shakes out really, but the idea is you can pop into your psyche at any time at all, whether or not you are on a map you could normally edit. It's sort of like your imagination crossed with your happy place. Game logic constraints don't really apply to your psyche (so for instance, if there is a cost associated with creating things on a zone, there is no cost in your psyche.)
The thing then is that you will always have access to your psyche's catalogue when you are in edit mode, and-or you can create and experiment however you like in your own psyche without cost-- but ultimately it is a private space and not part of RAPALA city.
Maybe you can also import items you come across into your psyche, so that you can create them in your own areas. So if you see something you like, you can make a "mental note" of it and add it to your own area. This might be allowed only if the original creator chooses, although this kind of "DRM" might not be very enforcable. Still thinking on this.
All this will proceed slowly and deliberately, but the next steps are probably to start to associate a catalogue with a given zone. After that, I will probably start to implement a basic stroke editor. I can also add an "enter psyche" menu option quite easily right now.
Once the stroke editor is in place, I'll get feedback on it. Making it work in the context of game logic will be a later step, at which point it will hopefully already be quite refined and so it will feel more obvious how to make this work.
RAPALA is updates monthly around the end of the month. If you want to be part of the development pre-alpha testing, for any reason, please join the Kitty Lambda Freestarter mailing list (see the front page) and send an email to calvin@kittylambda.com. And maybe also a tweet if I don't seem to be replying (I confess I don't check my email here very often, so I might need some prodding.)
Thanks for reading!