October 21, 2019

Adventures making stylized vehicles

After making three stylized characters in Blender I needed to do something else. So why not learn hard-surface modelling and texture painting while making some stylized vehicles? The first vehicle is a US coast guard helicopter model MH-60:

The reason I decided to make this exact helicopter was that I had an old non-stylized model of it collecting dust in a folder, so I might as well use it and improve it. What I also wanted to learn was to add decals to a model. Decals are those logotypes and text and there are several ways to add them. When making games I think the best way is to paint them on top of the base texture by using Blender's stencil function. What you do is you have the texture with a transparent background and then you just paint it where it should be and Blender is figuring out how to add it on top of the base texture. The problem I discovered is that the texture resolution has to be high or the logo and text will become pixelated meaning that you can see the pixels and can't read the text. The helicopter's texture is 2048x2048, but because I realized this was a problem after painting the base texture, and I didn't want to redo it all, I had to cheat by using a 4096x4096 texture on top of the base texture or the logotypes would be visible. This is something I wanted to improve when making the next model.

I also decided to experiment with low-polygon characters with lower polygons than I had previously used. The stylized characters I experimented with before are still low-polygon but they take several days to make because you have to make a high-polygon version and then a low-polygon version, which is a process I talked about in a previous article: How to make a stylized game character in Blender. A single of these lower-low-polygon characters takes less than a day and I think the result is still good if you are not looking at them very close:

Next vehicle I made was a Visby corvette belonging to the Swedish navy:

As said before I wanted to fit everything into a 2048x2048 texture and the easiest way to do that is to have as few UV islands as possible. This is the texture and you can see I managed to paint the logotypes and text on top of the base colors. The result is still kinda pixelated if you look really close, so I might have to experiment more to get a better result:

I wanted to put the Visby corvette in a scene, so I also made the underwater robot rov called "Double Eagle." It belongs to the Visby corvette and they lift it out with a crane to look for underwater objects such as mines:

The final scene is a half below water and half above water. To make the light shining through the water volume I had to experiment with volumetrics, which is really slow to experiment with. The reason is that volumetrics is really slow to render so if you make a small change you have to wait really long before you can see the result of that change. But after a few hours I think the result is good:

If you want to see more images, I've uploaded them to my Artstation account:

September 3, 2019

Book review: Babylon's Ark

I clearly remember the 2003 Iraq War. The reason is that I did my military service at the same time as when US invaded Iraq and there was chatter that the Swedish army would extend the length of our military service because of a higher security risk. Now Sweden is far away from Iraq, so perhaps someone thought that Russia would use the opportunity when many US forces were in Iraq to cause trouble in Europe. Luckily, that didn't happen and the invasion of Iraq ended after a few weeks. But people would for many years still be dying in Iraq because not everyone thought the war had ended.

Fast forward a few years to when I was listening to a radio show where Malik Bendjelloul, a Swedish documentary maker, talked about his life. You can read a translation of it in English here. In it, he talked about how he wanted to make a documentary about Lawrence Anthony, a South African who was working with elephants.
"Lawrence had for the past few years tried to help a group of ferocious elephants, elephants that had destroyed surrounding villages and would now be put to death if no one embraced them. So for the past few years, he had for months hanged out with these elephants. And it led to that his entire way of looking at life on our planet had changed. The more time he spent with the elephants, the more he experienced his own inferiority. The human brain may be developed, but all of our other senses are embarrassingly undeveloped: our hearing, our sight, our touch. Researchers have still not understood how, but everything indicates that elephant senses function in a way that sounds like science fiction. For example, one has begun to understand that elephants can communicate with each other over incomprehensible large distances. Maybe over entire continents. Lawrence argued that he occasionally felt this communication. It had felt like the elephants had tried to communicate with him. He didn't want to talk much about it - in part because it was difficult to put it into words, in part because he understood it sounded a bit too much new age fuzzy. I returned to Sweden and thought it existed material for a good story."
But Malik Bendjelloul was also talking about one of Lawrence Anthony's other adventure: when he, just a few days after the 2003 invasion of Iraq had ended, traveled to the capital of Iraq, Baghdad, to help the animals at the zoo. I was really happy when I realized that he had written a book about it before he passed away in 2012. It's called Babylon's Ark: The Incredible Wartime Rescue of the Baghdad Zoo, and it's the best book I've read so far this year. There are some clips available on YouTube, but you should also read the book.

Not only did he rescue many of the animals at the Baghdad Zoo, but also other animals across Baghdad. Lawrence Anthony realized that another zoo existed in Baghdad, and it was called Luna Park. It was in terrible shape, so he decided to move the animals to the main Baghdad Zoo:

Saddam Hussein, the former leader of Iraq, collected horses, and they also needed to be rescued. During the war, the horses disappeared because they were very valuable, but Lawrence Anthony and his team managed to find them and bring some of them to the zoo:

So if you want to read a feel-good book that I rated 5/5 stars on Goodreads you should read Babylon's Ark.

August 15, 2019

Disco Elf Corel - or how to make a stylized character

I finished my second ever character for games: a disco elf called Corel. Like my last character, butterfly woman Madeliefje, I made it to participate in a draw-this-in-your-style challenge organized by Poopikat, and I also wanted to learn Blender 2.8. This is the original concept by Poopikat:

According to Poopikat's description, Corel "has darker skin, Glow tattoos and white-ish blue hair with two big bows. I'd like to think of her as a water/snow elf if that makes any sense." I thought it would be cool to make them glowing tattoos, so I decided to make a 3d version of her in Blender. I also wanted to improve what I thought wasn't good about my last character.

Improvement 1: Face. So I started with the old character. Most 3d artists use a basic character and change it to make it look more like the character they want to make because most human-looking characters have similar body shapes. Step one was to improve the face. I first changed her jaw bone to make a sharper jaw and I also changed her eyes. What I learned was that very small changes can change the look of a face. If you look in a mirror and then open your eyes slightly and stare at yourself, you only have to raise your eye-brows a few millimeters to go from just a "looking" face to a "staring" face. To improve this character I made the distance between the eye-lids and the eye-brows smaller to make a more concerned face like in the original concept. I also remade the size of the lips and I gave her an open mouth where you can see her teeth. The teeth are just a flat white surface because they are almost not visible anyway.

Improvement 2: Body. Madeliefje's body looked like a human body, but I wanted Corel's body to be more stylized. One artist I get inspiration from is Carlos Ortega Elizalde, who's making characters with a slim body and large head. I think they look really cool. So I changed Corel's body to be smaller while increasing her head size.

Improvement 3: Rig. To make a 3d character move around you need to "rig" it by adding bones like a human has. Some people have this as a job, so it's not something you learn in an afternoon. I'm using Blender and a free add-on to Blender is Rigify which will generate a rig for you. I used a simple rig to animate Madeliefje and I realized I couldn't pose her the way I wanted because I couldn't rotate her hands. It takes some time to learn Rigify and you have to tweak the generated rig to make it fit your character, but because all human-looking characters move in the same way, Rigify will help you a lot once you learned it.

What I want to improve when making the next character.
  • Hair. Making hair for game characters is not easy - there's a reason most game characters have short hair or a ponytail. The reason is that big hair will demand many triangles, making the game slower and it's also difficult to animate a big hair. Corel's hair consists of many hair pieces you have to add one-by-one and the result is that you end up with a "stripy" hair and many triangles belonging to the hair pieces are hidden, so it's a waste of triangles. I've seen some characters where the hair is just one big mesh, so I might try to make that type of hair next time. 
  • Cloth creases. Corel is wearing a body-suit and to make it look more like cloth you have to sculpt creases. I think they were too small and you can't barely see them in the final model, so I will make them bigger next time.
  • Normal map. To make smaller details on a less detailed mesh, you need a normal map. The normal map belonging to Madeliefje was so bad I had to remove it, but Corel has a normal map. This normal map generated some weird edges and I think the reason is that Corel is too low-poly, so next time I will add a few more triangles, especially around the legs.      

These are the final poses, with some inspiration from a disco movie with John Travolta. I added the smoke as a post-processing effect in Krita:

If you want to vote for her you can find her on Artstation.

July 23, 2019

How to make a stylized game character in Blender

I finished my first ever stylized character for games. Her name is Madeliefje and I decided to make her so I could participate in a so-called draw-this-in-your-style-challenge. This is a popular challenge on Instagram where an artist uploads an artwork and then the community will remake that artwork but with their own personal style. I didn't have a style because this was my first character, but I've always wanted to learn how to make a stylized character, so I decided to give it a go. Stylized art is the same art-style you can find in games like Fortnite. This is the original artwork by Madeleine Bellwoar:

Now this was my first character, so to learn how to make a character in Blender I found this tutorial: CGC Classic: Female Character Modeling. And if you finish it you end up with something that should be a good start you can continue from to make it your own character. I wanted to make a stylized character and they tend to have bigger eyes and smaller eye-lids, and this character also has elf-ears, so I added that and ended up with this:

Next up was hair. The original character has long hair, which is not a good idea in games because it's difficult to animate, so I decided to give her a pony-tail. Now there are several ways to make hair in 3d, but I needed to make stylized hair, and this is an excellent tutorial on the subject: How to Model Cartoon-Style Hair in Blender - Bezier Curves Tutorial. I separated the hair into two major parts because it was easier to control with the bezier curves, so the pony-tail consists of three pieces which are not connected to the head pieces, but the missing connection is not visible because of the scrunchie.

To make good-looking eyes I found this tutorial: How to Model, Light, Texture, Bake & Rig eyes in Blender. The eyes were actually the hardest part - or rather the appearance of the eyes in relation to the head. Stylized eyes are larger than normal eyes, but when you add larger eyes the character may sometimes look like the eyes are popping out of the head, so I had to spend a lot of time adjusting the size of the eyes, the size of the pupils, the position of the eye-lids, and so on. It was also fun to rig the eyes to make it easier to control them:

In the original image you can see that she's wearing a skirt, but skirts are kinda tricky to animate, so I replaced the skirt with pants. The idea behind the pants is that she has folded them up so I had to add many creases to the pants to give them the correct shape. Blender has a sculpting tool so I used a crease brush, and the pants were actually the only part I sculpted - the other parts were just moving one vertex after the other. Speaking of moving vertices, the top in the original image consists of leaves and the top was the most time-consuming part of the character. I first tried to sculpt the leaf-top with a leaf-brush but it didn't work. Then I tried to add the leaves with a particle system, but it didn't work. So I had to place all 300+ leaves one-by one:

We can't see the bottom of the character in the original image, so I gave her boots. And I also replaced her diadem with butterfly antennae, because the diadem I first made didn't look good. The main character is now finished. But I also wanted to make it game-ready, meaning reducing the amount of vertices by baking textures onto a character that looks the same but has fewer vertices, and then you end up with a texture sheet looking like this:

Most of the ambient occlusion shadows in the above texture sheet are generated automatically by Blender, but I had to clean them up by vertex-painting. At the same time I also painted her lips and gave her face a slightly red color, so the entire skin is not looking the same. Most humans have a slight tone of red in the face, but also some yellowish and bluish colors, so you have to experiment with what looks good. An excellent tutorial on how to use textures baked by Blender to make stylized textures is: Learn Sculpting by Creating Game Assets. I also had to make a specularity texture, which tells which part of the character should be reflective, such as the boots, and which should be not, such as the pants. Then I rigged the character with a simple rig to be able to move her legs and arms to easier change her pose. This is the final result:

But the idea behind the original character is that she's responsible for growing plants during spring time. So I thought it would be an excellent idea to practice making foliage. I've earlier tried to replicate the trees from the Witness game, so I had some experience, and I also found this video on how to make plants for games: How to make stylized plants and grass. The basic idea is that you first make a high-polygon plant and then you bake the high-polygon model to a flat-plane. It looks like this:

And if you do some painting the texture will look like this:

Then you cut the plane around the individual plants and move the vertices to make the flat mesh more three-dimensional. These flat meshes are called cards. The problem is that they look the same from both sides but it's generally not a problem. For example, you never see the bottom of the plant to the left so you never notice that the upper part is the same as the bottom part:

To make a forest scene, you add a flat mesh with many vertices, and then you use Blender's weight-paint tool to give each vertex a weight, which controls if you want a specific plant to appear around that vertex. Then you use a particle system to place the plants, so you don't have to place each piece of grass by yourself. You can also use weight-paint to control the length of each plant. This will require a lot of painting and re-painting until it looks good and no plant intersects with another plant. This was an early test (the plants are smaller along the border and this is controlled by weight-painting):

In the original image you can also see there's some kind of stone-bench. So I googled for some reference images and ended up with this:

I used a stone brush to paint the different colors of the bench and I think the result was better than expected. So I was a little sad when most of the bench in the final scene is hidden by the foliage, but I guess that's how it is. Anyway, this is the final render which took about 90 minutes for the computer to generate. 

The time it takes to generate a final image is one of the struggles with 3d. Yes, you can generate images with lower resolution and quality which is faster, but sometimes you find something that bothers you in the image with the highest resolution. Then you make that small change and have to wait another 90 minutes for the new image to render. For example, I made some tests from other angles, so there were many 90-minutes of waiting periods. And I have just one computer and rendering images takes up almost all power, so even surfing the web was a struggle during the waiting times:

But that's not it! In the original image you can see some greenish smoke. Blender can generate volumetric smoke, but when I tested it, it was difficult to control how the smoke looked and it would take like 5 hours to generate the final image with smoke, so it took far too long. Notice that this is not the same grayish mist you can see in the rendered image - it takes zero time to generate. Instead I decided to learn some post-processing in Krita. This is an excellent tutorial on the subject: Post-processing for Dummies in Under 12 Minutes - Blender and Krita Tutorial. And the final image looks like this:

In the end it took some weeks to learn all these things, but when I make the next character it will hopefully be a much faster process.

This project is also my first project on Artstation, so go there and like it if you like it.

June 2, 2019

Why RimWorld sold more than 1 million copies

RimWorld is a very popular management game where you run a sci-fi colony. On Steam, the game is described as:
A sci-fi colony sim driven by an intelligent AI storyteller. Inspired by Dwarf Fortress and Firefly. Generates stories by simulating psychology, ecology, gunplay, melee combat, climate, biomes, diplomacy, interpersonal relationships, art, medicine, trade, and more.  
The game has been in development since 2013 after a successful Kickstarter campaign, and was finally released in 2018. It has sold more than a million copies. At first glimpse, the game doesn't look like much because it's a 2d game and has no fancy photo-realistic 3d graphics. Why then is it so popular?

RimWorld is an indie-game by Tynan Sylvester. If you play the game you can see he's doing everything he can to market himself: The sub-title at the start menu says "A story generator by Tynan Sylvester," and from the start menu he's linking his Twitter-account and a book he wrote about game development: Designing Games: A Guide to Engineering Experiences. It was published before RimWorld so you will not learn how he designed that particular game, but he used knowledge from the book when designing the game. He has also talked about the game at GDC 2017, which was published on YouTube not long ago: RimWorld: Contrarian, Ridiculous, and Impossible Game Design Methods. If you watch the GDC talk you'll see he had help from multiple people for audio, visuals, and programming, so he didn't make RimWorld on his own.

Lessons learned:
  • It combines manufacturing, survival, and social. According to the Paradox Podcast, RimWorld is a fun game because it combines the games Factorial (manufacturing), Don't Starve (survival), and The Sims (social). In RimWorld you need to manufacture (grow and cook) food to survive, research new technologies to eventually travel home, and you also need to form relationships with neighbors, who for some reason are on the same planet, as well as form social relationships within the group, and build yourself a cozy place to live. 
  • RimWorld is a story generator. Tynan Sylvester explained in the GDC talk how he was inspired by the game Dwarf Fortress - not the graphics, but how Dwarf Fortress can create stories. The player interacts with the game and stories emerge from that interaction. Some players will lose the game, which may be a story because some stories end in failures. This is also why there are no Steam achievements, which would break the story. The thing is that RimWorld hasn't come up with a story generating AI because it's using a concept called apophenia, which is a term that refers to the human tendency to detect patterns in randomness. What's happening is that the game "sends entirely random events the player’s way, and yet it’s easy to ascribe meaning to them," but people don't see it as random events. The characters have no facial expressions so you can't see what they feel, so you have to imagine it based on the situation. In the developer's book he wrote that "Medieval [another game] doesn't really track human courage or familial affection. But the human mind sees stories anyway, given the slightest of suggestions." But making a simple system can also result in trouble as real social relationships are complicated. For example, this article has found that "Men [in RimWorld] are about eight times as likely as women to try and start a romance," so players can become upset at the game if they have other values. So if you implement a simple social system, be careful!
  • All characters in RimWorld feel special to you. In RimWorld you have just a few characters: you start with between one and three, and end up with maybe eight to twelve. Compare this with other games where one character is killed and you don't really care about it. If a character in RimWorld dies, you have the option to build a grave and the other characters will be sad. If a person is wounded, you have to make the decision to treat the wounded or let the character die. If you treat the wounded, the character will use resources like food and medicine while the character is useless because the character can't work, so the other characters have to work harder.  
  • The graphics is not distracting the player. When I first looked at the game I thought it was made by the developers behind another management game: Prison Architect. But it's not. Both games were revealed at the same time so I'm not sure who was inspired by who? Basically the art style is a top-down 2d game and the characters are leg-less blobs (but you can still give them pants). The game is made with Unity (and Photoshop to make the art) and is using the built-in font style that comes with Unity. The UI boxes are just one color with a frame in another color. So it has no fancy realistic 3d-graphics, but the graphics is not ugly so the graphics serves the purpose: you can always see what's going on - even if you have zoomed out. Fancy visuals may sometimes distract the player from the story when many things is happening on the screen. Also making fancy graphics takes a lot of time - and time is also a limit so sometimes it's better to focus on gameplay - there are no animations in RimWorld. Moreover, many people don't have the latest computer so I suspect one reason the game is popular is because you don't need to have the latest computer to play it. Neither does it take a long time to download the game because it's just 500 MB. To make it as simple ass possible for the player to see what's going on, RimWorld is cheating: some objects that should be behind a tree are on the top of the tree:

  • Don't throw away any ideas. While developing RimWorld, Tynan Sylvester was saving all ideas he ever discovered in a document because ideas are easy to forget. If the idea doesn't fit into your current plan, write it down because the plan may change. He then moved these idea to another document which was the more short-term to-do list. 
  • It's easy to learn RimWorld but difficult to master. A saying in the game industry is that a game should be "easy to learn and difficult to master." For example, the game pubg is very easy to learn, but it's really difficult to get a "chicken dinner" (win the game). RimWorld has a short tutorial which covers the basics but nothing more. To learn the rest, the game has smaller hints that you can click through. Making a tutorial is a dangerous balancing act - you can't give the player too much information because then it becomes boring to play because it's fun to figure out some stuff on your own, so the game has a wiki as backup if you are stuck.
  • The game keeps you in the flow channel. The flow channel is an important topic in game development, and it says that to enjoy a game, the tasks have to match the difficulty. If the game is too easy, you will be bored, and if it's too difficult you will not enjoy playing the game - so the game has to keep you in a channel where you will always meet challenges that matches your experience. For example, if you play a shooter: start with good gun which will become boring after a while → add harder enemies which will become boring because it's too difficult → add better gun → add better enemies → and so on. In the beginning of RimWorld, you have to start food production and build a basic shelter. But as the game progresses, and as you learn more, it becomes more and more difficult because some characters will be wounded and can't contribute, so you have to prioritize more and more: should you harvest crops or work on researching new technologies? When you have learned the basics you will realize that you don't have enough resources on the map you start, so you have to form caravans and travel the world to find more resources. So RimWorld becomes more and more difficult to play as you become more and more skilled. Yes, there are dull moments where no disasters (raids, solar storms, battery explosions, etc) are trying to kill you, but you know that you need those pause moments to prepare so you can survive the next disaster. 
  • The weather system is affecting the game. In an earlier article I was complaining about the weather system in the game Parcitect, which didn't affect gameplay in a noticeable way. But the weather system in RimWorld is really out to get you. If there's a lightning storm, forest fires can start and burn down your buildings and you have to hurry out with your colony and extinguish the fire. If it's too hot outside, your food will go bad and you have to build a cooler to freeze the food. Sometimes a sun storm hits you, which temporarily malfunctions the cooler, and you will be really worried that your precious food will turn bad.  
  • Making a game moddable while developing it is difficult. One great way to add more content to your game without spending time nor money is to let other people add it for you by making your game work with mods. The problem is that the code will change rapidly while developing the game, so a better way is to let people add mods when the game has stabilized, or people have to update the mods all the time which is really time consuming. This is what happened with RimWorld: "many creators of bigger mods have given up trying to update their mods every time a new update comes out." 
  • You are directing the characters - you don't control them like drones. It would have been possible to increase the control of the characters. For example, if two characters don't like each other, then separate them. But that would also have been boring and made the interface even more complicated: "The goal of the game isn't for the player to be able to exactly restrict every colonist to do the exact optimal thing. It's to give a certain level of generalized control, and make the player accept some narratively interesting but sub-optimal interactions that might happen within that."
  • Addictive games have responsibilities. RimWorld is an addictive game and to help people not forget about the time in the game, you have the option to enable a clock. I originally thought it would tell the time in the game because RimWorld has a night-day cycle, but it's telling the time in your time so you don't forget an important meeting.
  • Procedural terrain increases replayability if gameplay changes. The basic idea behind the game is to build a spaceship and fly home. This could become repetitive. The goal would have felt repetitive if you had done it over and over again in the same terrain. But RimWorld has procedural terrain and different types of terrain: mountain, forest, jungle, desert, etc, so after finishing the game you ask yourself "Can I also do it in the jungle terrain?" But it's important that the terrain is different and not just procedural. I played the game Bad North which has procedural islands but the game feels the same after a while even though each island is different - but not different enough to change gameplay. In RimWorld, if you first play in a forest area and then play in the desert you need another tactic because you can't find trees easily in the desert. 
  • Gameplay is more important than realism. Why are there no toilets in the game? Would have been a great fertilizer? Why is there no water management? There are smaller lakes with water in the game, but for some reason you can cook food without ever picking up water? It first felt like a missed opportunity before I read a Reddit AMA. Water wasn't added because "colonists have a lot of work to do so the needs have to be a lot more lightweight," meaning that the colonists won't have time to eat food, wash themselves, and do some work because each day in the game is short. Some in the same thread argues they really wanted water management in the game. It's the same with ammunition - each bow has an infinite amount of arrows, so making ammunition would maybe take too much time? In the GDC talk, Tynan Sylvester explained that he simplified everything that wouldn't contribute to the story. It's not realistic to dig metal directly from metal-rocks and then use it directly to build a metal-chair, but adding parts between wouldn't have improved the game. 

What could have been improved:
  • Annoying UI. If you read through the RimWorld reviews on Steam, some complain the UI is not easy to understand. This is true: everything about the game is minimalistic and the UI is grouped in the bottom of the screen. 
    • A better way would maybe be to group the UI with icons on different parts of the screens, like Cities: Skylines or Parkitect. Text is sometimes better to use than icons, but after a while you learn what the icons mean, so it doesn't make a difference in a game. 
    • Some UI elements, such as the UI showing which zone types you have placed in the game is not visible enough - they blend too much with the background.  
    • Why are orders in the architect menu? 
    • Why are build roof in the zone menu and not structure menu?
    • Why can't you see, when selecting which tasks a character should prioritize to do, if the character can increase its skills more than other characters when working with that task. You can only see current skills - not the "passion," so you have to click back and forth between the character's bio UI and work priorities UI.
    • When building for example a chair, you can change the material of the chair from wood to steel or whatever, and it took some time to find this menu because it's just a small triangle in the top-right corner of the chair icon. It should have been included in the tutorial because it's not obvious you can click on the triangle to change material. 
    • When manufacturing, everything is basically text, so sometimes it can be hard to figure out what you are manufacturing. A better idea would have been to use text in combination with an image, so you don't have to tab out and google what it is. For example, what is an "ikwa"? The description is empty (this might be a bug because the ikwa has a description in another place in the game), so you have to tab out, google, and the first result is the RimWorld wiki, which has an image of a spear.  
  • Odd behaviors. Each character has some characteristics, such as being able to treat wounded, or grow plants. One of my characters could for some reason not carry items, such as transporting food from the growing area to the storage area. But on the other hand the character could cook food, so you could see him go to the storage area and pick up food and carry it to the cooking station. So why couldn't the same character carry food to the storage area? I could have accepted that some characters can't do high-tech research, but not being able to carry potatoes from the field to the fridge when it clearly can carry potatoes from the fridge to the cooking station?
  • Difficult to prioritize tasks. A management game is all about prioritizing tasks so it has to be as simple as possible. Currently, you can tell a character to prioritize a task, such as cooking before cleaning. If you want to prioritize a certain tree to be cut you have to select a character and then the tree. But what if you want the tree to be cut by just one of the characters without you knowing which - you just want the first available character. This was solved in the game Oxygen not included, which is similar to RimWorld but you are mining up/down below the ground and not aobe the ground. What Oxygen not included did was that you can click on an object and set a priority to that object. So if you want a tree to be cut by first available worker, you increase the priority of that tree. In the game Settlers, you can prioritize which items to be hauled before another item, which is impossible in RimWorld. It's really annoying when you see a colonist haul a single joint while leaving the precious food to go bad in the rain. I think there's some built-in prioritization because you can see them build defense structures before all other structures, but I haven't found a way to change this prioritization.    
  • Odd parameter values. This is the same problem as Parkitect has: it's difficult to determine what makes a room beauty. In RimWorld you can place floors, sculptures, furniture, flowers, etc to make a room "beauty." But even though you have placed many of these items the characters are still complaining, and if you google you see many other people are confused by the same topic. Perhaps a better idea would have been to use the same system as in Cities: Skylines where you see clearly on a color-map where you need to add more parks. Yes, RimWorld has a beauty display, but it's confusing. For example, why has one part of the drawer a beauty of 1 and the other part a beauty of 3?
  • The storage area need a search function. For each storage area you can set with a check-mark if something should be stored in it, such as food but no weapons. But sometimes it's difficult to find what you are looking for, so it would have been easier if you could search for it. It has a hierarchy, but sometimes you have no idea within which group something belongs. For example, where's the Luciferum checkbox? It's below Manufactured → Drugs. If you click on the Luciferum description it doesn't say anything about that it's "manufactured." So if the search function is too difficult to implement, then it should say in the description where the item is in the hierarchy.