Gnomish interlude

Updates have been sparse, but news are coming. Huge progress has been made. Meanwhile, enjoy this silly GIF, and read this excellent piece by Konstantinos Dimopoulous about his city design for Nékromegà.

I've decided to give a try to Cartrdge, which seem to be a neat network of game developers. I hope it will increase a bit the project's visibility. I'll use it to post content too long for Twitter, but too short for the blog.

Here's Nékromega's page.

...and that's a good thing, because development will now resume. Not that's it's been inactive, but vacations being vacations, it slowed down a tad, obviously. Not to mention I started working on a Pico-8 No Man's Sky demake, silly me.

And yet, tremendous progress has been made on world building and level design. Konstantinos and I had lengthy discussions about the cultures of the Suùn Archipelago and the Bohr Imperi, the two opposite forces which define the game's setting and story. As you may know if you're following the project since a while, Suùnian live in a peaceful, matriarchal society, where equality and harmony are the norm, while the Bohr are highly competitive people, whose hierarchy is literally defined by personal wealth. So both live in very different kind of cities, shaped by their beliefs, their goals and their relation to nature.

In brief, Suùn's style is organic, with soft and round shapes carefully adapted to the environment, while the Imperi's architecture is perfectly planned, geometric, and doesn't care about its surroundings.

An early draft of Suùn.

Above is one of the first drafts made by Konstantinos for the project. It's not entirely accurate, because of course a few things have evolved since, and it lacks a few important details. Yet it triggered a bunch of great new ideas, and helped a lot in the process of shaping the archipelago. The basics are here: round buildings, interconnected small islands around a central hub, and that organic feel. This allowed me to visualize and place points of interest I had in mind on the map, to delimit the main regions, and to refine the socioeconomic climate of the country.

A city concept for Alderhil, the Imperi's capital.

I like this idea a lot: a city organized in hexagonal patterns, following geometric rules, with a strict, insect-like, maybe even robotic urban planning. Dystopian procedural, isn't that lovely? Thus I found it a bit too modern for Nékromegà, and truth to be said, this would in fact fit better for another project of mine, of the post-cyberpunk genre. More on this later, one day, maybe...

Another concept for the same city.

We decided to go for this one. This is the perfect oppressive anti-egalitarian design, built for the comfort of the elite and the efficiency of the workers. If you look closely at the legend, you'll see that workers are compartmentalized with production facilities in the east and west parts of the city. They have no access to the outside except through the two main gates, at the north and south of the central district. In fact, workers and poor people are not only segregated from the wealthy ones, they're also quite literally jailed inside their own city.

An analogue voxel rendering of an eastern district part.

Yep, that's real LEGOs, another fine tool in Konstantinos' bag. I asked him to tell us a bit about this.

"LEGO and other similar sorts of bricks have a long tradition in both architecture and urban design. Though, admittedly, they are rarely used in city planning, I do believe they are a great (and relatively quick) tool for creating mock-ups of imaginary cities, and invaluable when it comes to showcasing urban volumes. Obviously, LEGO bricks are even better for voxel based cities like Alderhil, and lectronice does seem to like them."

I sure do. LEGO are probably the reason why I ended up being a game developer. That and my dad's Amiga 500. But I digress... The interesting thing to see here is how housings and factories are designed: workers are piled up in awful canyon-like buildings while factories use most of the available space.

Alderhil's final map (work in progress).

Here comes the real piece of work in all its glory of details, through slow and painful progress, according to its author. And after that, I'll have to convert all of this to voxels, which I guess will be an equally slow and painful process. But, as you may know, game developers are natural born masochists, so it should still be an enjoyable experience.

Say hello to the fine folks of House Cxohà.

Cities are more interesting with inhabitants, so let's finish with a sample of what I'm currently working on: our main character's relatives. I hope you don't mind the voxellated toplessness of the lady. She sure doesn't, since sexism doesn't exist in Suùn. Yet...

In the previous post, I wrote about how adding round shapes in a voxel map sounded like a great idea. Well, it was. But as expected, it wasn't easy... And it raised a lot of questions.

I tossed my first, cubic-looking map and restarted from scratch. Not only because it was necessary to add round corners, which required too many changes in order to keep the whole think navigable for the player, but also because the map itself was slightly too small. Most rooms felt like prison cells, and that wasn't the intent. At least, not for this map, which is supposed to be the big clan house where our main character spends most of his childhood.

Voxels indeed mean square shapes, and the curves you see here were just not fitting.

I wanted to plan things a bit ahead, because building rooms with curved walls is indeed a rather complicated task. I made some quick, low-resolution 3D drafts in order to know where I was going. Pixellated round shapes look rather simple at this scale. But in my case, I needed to add many more details that could barely be imagined by looking at these mockups.

A mockup of the new map, made with MagicaVoxel.

There's a good reason most real buildings have rectangular rooms. It's a freaking nightmare to design practical circular rooms in a whole structure. You have to deal with the many nice-looking but cumbersome shapes such a layout creates, and to avoid wasting too much space. And of course, with a video game engine, you also have to make all of this fit with the system you've chosen. In our case, a standard square tiles system.

I started by designing a rather big 32x32 curved wall model, actually made of four smaller blocks. Which also implied, for technical reasons due to the way RPG In A Box works, many, many slightly different models for specific uses: door sides, ceilings, walls junctions... Quite a headache, in fact. But with a much more interesting result than that plain old Minecraft cubic style, and, if done properly, a modular, highly reusable set of blocks.

And early version of the resulting map in the RPG In A Box map editor.

In short, I had to design my own Lego set. And it's far from being finished.

This equally exciting and arduous path led to the tremendous pain of designing curved roofs, which took me days, if not weeks, to figure out. Oh sure, just make some basic stair-shaped stuff and everything will be fine. Except if you have curved walls, you also need roofs that follow their curves, hence the geometrical witchcraft required to make everything fit together, not to mention the need to divide this mess in equal 16x16x8 cubic models.

Yes, not 16x16x16 models, because regular 45° slopes looked quite ugly, so I had to smooth things a bit, for an even more increased complexity.

Hopefully, RPG In A Box allows to stack models freely upon each other, without snapping them on a vertical grid, so you're less limited than when placing models horizontally. Which means it's possible to build great stuff, though I wouldn't say it's easy. But hey, I am the masochist using a pseudo-realistic scale in an engine designed for cute low-res voxel art, so who am I to complain? And the developer is a really nice and helpful guy. So far it's been a joy to see both his engine and my project evolve simultaneously, feeding on each other's features and needs.

The highlighted part is a 16x16x8 part of a much greater ensemble.

That's only the tip of the iceberg. My current map still lacks a second floor, many architectural details, and, well, a decent set of stairs. A lot of writing, world building and city design work has been done in parallel, with the help of Konstantinos, who is indeed pretty good at city design, since he happens to be a urban geographer and engineer.

Speaking of icebergs, this is what I'm talking about. I've even set up a private Flarum instance to share our thoughts and organize our notes, which works perfectly fine for a beta. And we're currently filling the blank cells of a huge spreadsheet to define the cultural and architectural traits of the three major Nékromegà cities. Since RPG In A Box is still in alpha, there also have been various bug reports, feature requests and discussions with Justin, its developer. And I still have lots of stuff to figure out about the plot, the characters, economy and politics...

You get it, we've been busy.

I've also started composing the soundtrack, blending dark ambient and doom metal with a few generative techniques and tools... And it's quite exciting, but I'll keep that for the next time. In fact, it's very, very exciting, because I'm discovering this whole new world of live coding and... Shhh!

One of the topics Nékromegà deals with is colonialism. The story takes place in two very different countries, one being a small insular matriarchal society, the other a huge proto-capitalist empire. It's all about contrast.

Above are some screenshots of the map I'm currently working on, set in the archipelago of Suùn. While I'm rather satisfied with the overall aesthetics, this will probably change a lot, because the place depicted here doesn't quite look like it should.

Both countries have indeed to show very different architectural styles. However, since I'm building the whole thing with 16x16x16 voxel blocks, this leaves few possibilities for complex shapes. Which is a good thing, because it means I may be able to finish this project in my lifetime.

But my official imaginary city design adviser told me he imagined that matriarchal architecture with round shapes. This would totally makes sense, not only because femininity is generally associated with curves, or because the idea of matriarchy reminds him of neolithic settlements, where round shapes were pretty common, but also because it would help defining a sharp contrast with the empire's fascist-industrial architectural style.

However, voxels are cubic, and creating round shapes with cubic elements isn't exactly easy. So if I want round shapes, I guess I'm up for a challenge, eh?

Wouldn't round shapes like this look lovely? (Los Millares)

As if it wasn't challenging enough, RPG In A Box's latest update adds nifty ambient occlusion shaders. This looks great on my character models, but not so great on my walls and bigger elements. Why? Because the way I've set up my map, and especially my walls, is not really the standard way. That would work at a smaller scale, but in my case, it's kind of complicated, hence odd shadings in some corners, among other similar problems.

So I'll have to work on two things: enhancing my models in a way that do justice to these ambient occlusion shaders which I definitely want to use, and adding round shapes all over the place. Because occlusion shaders would indeed look very nice on round shapes. The good thing is the shaders settings are on a per-model basis, so this leaves me with a lot of freedom.

The bad thing is my building blocks are starting to become numerous and highly specific, but that's a necessary evil to satisfy my lego-god ego.