Thomas van den Berg, the creator of Kingdom, told us about their first project, the early development of Cloud Gardens, and using PixPaint to make 3D pixel art.
My name is Thomas van den Berg. I actually graduated with an MSc in Artificial Intelligence, but I was building games long before that. I grew up in the late DOS/early Windows era, and games were a bit simpler back then, which meant you could actually mess around with them by just looking in the files and changing stuff in INI files. I had always been fascinated by the virtual worlds that games immersed you in, and being able to go in and make them your own was such a powerful experience.
A few things happened around the same time when I was about 13 years old. First, my dad gave me some books on programming (Visual Basic, in Word Macros). I had no idea what I was doing, I just blindly copied the code samples from the book, but it’s a powerful feeling having the computer execute them. Second, I started experimenting with level editors for games that I loved. First Red Alert, then later Warcraft III, the level editor of which was an amazing game-making tool, as evidenced by DOTA, Autochess, etc.
Finally, a friend introduced me to Flash. I used it to build little interactive videos and things that were almost games. I still had no clue about programming, I was just asking the friend to write and fix scripts for me. This was the golden age of Newgrounds, the raw creativity on display there was such an inspiration to me.
Looking back and seeing the things that I enjoyed as a teen makes me wonder why I didn’t get into a game design/development degree. I think I just didn’t know it was a viable career back then. However, the AI degree taught me programming, and a lot of the broader field of AI relates to gamedev as well (things like computer vision and linear algebra). All throughout my university career, I kept working on little games and visual experiments in my spare time.
In 2007 I finally had my Newgrounds breakthrough, haha. I built a little flower-growing simulation called “Seed” that quite a lot of people played.
The driving force behind this game was really the intersection between code and visuals. Creating algorithms that draw graphics on the screen is something that I’ve loved ever since. Flowers are relatively easy to draw algorithmically too because of their symmetrical/fractal nature. It was amazing to see that I could create an experience that so many people enjoyed, and I really loved interacting with the players and making the game better through their feedback.
Becoming a Game Developer
It was through Kingdom that I started making games professionally. I built the Kingdom Flash game as a hobby project throughout my last university years. Sitting down in my free time and drawing a little pixel art forest was a welcome break from writing research papers. The gameplay was almost an afterthought. I needed an excuse for the player to walk around in the little pixelated world. However, the free Flash game got quite a lot of traction. That led to Marco Bancale approaching me and proposing to make a mobile game out of it.
Our initial plan was that he’d just port the Flash game to iOS, but during development, I discovered that I was actually having so much fun turning the game into something bigger for PC as well. This was when I started working in Unity and the seed was planted for Kingdom: New Lands. At some point, we were approached by a publisher who offered to fund our development costs, and that was the point I realized I could make games full-time for a living.
I feel really lucky that things happened so naturally. It feels like I never had to make the difficult decision of whether to give up another job and start trying to make it as an indie game developer.
Cloud Gardens is a spin-off of an earlier prototype I was working on. The idea was a kind of MMO where people build vertical habitats out of trash and grow gardens of plants on them. I realized it was not a game I could build by myself, but I wanted to salvage the plant simulation that was in there. So I decided to build a game purely about the plant sim, removing the player characters. The main challenge was to find a game design that uses the plant sim as the central mechanic, not just an aesthetic feature.
During production, I got a lot better at the particular pixel art 3D style that the game uses. Blender isn’t built specifically for that kind of art, so I had to invent a lot of workflows and “rules” for the art style. The textures are painted in Photoshop. When I was confident and consistent enough with the art, I started working together with a 3D artist (Tom Kitchen) who did the main art production for the game. Then I worked together with Elijah Cauley for level design and Amos Roddy for music and sound. This core team of 4 people worked on the game for about a year and a half.
I worked together with a small PR company (Future Friends), which helped me reach out and communicate with the press, put together the Steam page, sign up for events and awards, etc. I’ve been lucky to be able to create games with a strong visual character that appeal to people without needing a hard sell. Mostly I just really enjoyed working on games, and always make decisions that I personally like versus looking for commercial appeal. Working with a small team, it has been feasible to follow a kind of uncompromising vision and create niche games. The total audience for Cloud Gardens is relatively small but it has been successful from a business standpoint.
Birch Tree Forest
That little teaser is a continuation of the 3D pixel art style that I started out with for Cloud Gardens. I’m still trying to figure out how to build environments in that style and how to make them feel harmonious. I noticed that taking things away was a great way to do that. I really stripped down the lighting and rendering, trying to get ‘closer to the pixel’ so to say. Most of the stuff is standard Unity, except the shaders. The water consists of a few effects, most importantly a camera that renders the scene from below to generate the reflections. The water looks alright but I’m going to try to remove some of the effects while simultaneously making it look better. Being able to use less and achieve more makes me feel like I’m growing as an artist.
The trees are made in Blender. I started out using a grease pencil to draw some branches, then converted them to curves and beveled them. Finally, it’s just a matter of cleaning up the geometry and applying a texture. Then the trees are just scattered using Unity’s Terrain tools.
The bridge is just meshes with a few irregular colliders placed under it to make the car wobble. Initially, I built my own vehicle simulation. Then I checked out Edy’s Vehicle Physics to help me solve a problem. I found out that I was well on my way to replicating how EVP works, except worse, so I just switched to using EVP entirely.
The idea for PixPaint originated during my work on Cloud Gardens, especially when starting to work with Tom Kitchen on the 3D art. There are a few ‘rules’ that I like to stick to for “clean” 3D pixel art. Most importantly:
- pixels should align with geometry
- pixels should be the same size across the model
Blender doesn’t always make it easy to stick to those. You can get quite far using UVSquares, some other tricks, and a lot of manual fiddling. Often, I opted to relax the rules a little bit in order to make Tom’s life easier as well. However, during that process, I realized that, fundamentally, it shouldn’t be so hard to create the “clean” 3D pixel art I was looking for. That’s when PixPaint was born. The main features are UV unwrapping operators that adhere to the rules above. The name PixPaint is a bit misleading. In the last couple of years, I’ve also started using direct texture painting inside of Blender, which works very nicely with the UV unwrapping tools in the add-on, but the add-on doesn’t actually do anything related to painting. I’m still looking for a better name for the add-on, in case anyone has suggestions. The add-on is already available here. It’s really early and it makes Blender crash sometimes, but I’d love feedback and suggestions.
I’m currently wrapping up Pizza Possum and launching a very experimental game titled Memory Land Extreme. After that, it sounds appealing to return to my comfort zone. Just building a beautiful environment to explore, then adding some gameplay on top. I might like to try to turn that ‘birch forest’ teaser into something of an RTS-lite (like Kingdom). It’s great to decide on a weekly basis what’s fun to work on. I’m sure that will change once a project enters production, but for now, I’m happy just following that creative motivation.
Tips for Beginners
Have fun. Gamedev is such a fun hobby and job. If there’s any chance that you can let creative motivation lead you, you should. I also find that learning is enhanced so much when you’re having fun. If you’re trying to build something that appeals to you, you will end up absorbing so much information in your quest to make that thing a reality.