Indie

Story #2: Balancing work/life for nomads

Hey all!

In my first post for Power Level Studios, The life of a nomadic game developer, I talked about some tips I had for saving money, making the lifestyle work in general and what to bring/leave.

It’s been 4 months since that story and I’ve got more to share!


The Gear

In the first post, I showed what my camera bag looked like: full of gadgets! Here’s the photo again:

1_mVTAMOnEVl4untEOZzcvuw.png

Well, I changed my mind on the important stuff to bring.

I left my camera, Nintendo Switch dock and controller home. While it’s important to have hobbies, like photography, I couldn’t find the time to actually do it. I ended up not using it; it was taking considerable space and adding weight. For the Nintendo Switch dock, I do miss it sometimes, but most of the time I don’t have access to a TV anyway. And again, it takes a lot of space.

So with all that gone, I switched to using a single carry-on bag to travel. It’s so much more convenient. Gadgets are in the bottom section, clothes in the middle section and the other lighter stuff are in the upper section.

1_cAyz-t2TbWCyJaT-ZRqVxg.jpeg

Oh, and I now carry a 1080p Asus USB-C powered monitor (on the right)! It’s only 800 grams (not counting the case, which is actually heavier…)!

1_Ely1L9cu5VkDURf6axVH5g.jpeg

On work/life balance

So how as it been so far? Have I been productive or have I spent most of my time travelling and enjoying myself?

Well, a bit of both, to extremes.

Starting in August I stayed in Siem Reap, Cambodia, for 2 months. I was staying a AngkorHUB, an awesome co-working/co-living space. There, I was incredibly productive, working from 6am to 8pm most days, including weekends. A lot of stuff got done during that time.

Now, was that sane? Not quite, but the cool thing is that the others there were just like me. And then in the evening we would always go out to eat and have a bit of social life. Obviously that’s not sustainable in the long run, but it was one great marathon!

For those who don’t know me personally, I’m the bearded dude with the Hurley shirt on the left. Photo credit: https://www.instagram.com/p/BZ3y6XFBHHH/?taken-by=angkorhub

For those who don’t know me personally, I’m the bearded dude with the Hurley shirt on the left. Photo credit: https://www.instagram.com/p/BZ3y6XFBHHH/?taken-by=angkorhub

And then after the two months, a friend of mine joined me to travel for a 2-week vacation. We went to multiple places Thailand and I used my computer like 0 times, except for some trip planning. It was refreshing and a good way to disconnect. I ended up taking an extra week off because I caught a cold near the end of vacation. Oh well!

Most incredible sunset I had ever seen. — Ao Nang, Thailand

Most incredible sunset I had ever seen. — Ao Nang, Thailand

James Bond Island

James Bond Island

Some insane rock climbing by Railay beach.

Some insane rock climbing by Railay beach.

Classic Danny sleeping in transportation (left) and Nick taking selfies (right)

Classic Danny sleeping in transportation (left) and Nick taking selfies (right)

So was that a good way to balance work/life?

I think it really depends on personality. For me, yes, it was perfect. I could never have done as much in 3 months if I didn’t have complete focus for two of these months. And when you enjoy what you’re doing, working 14 hours per day is not even that hard.

But then after the two months, I was really exhausted. So going to Thailand and focusing on enjoying life helped me resource my energy for the coming months. Not being restricted to certain dates and hours to do/visit things is great. Doing/visiting things while working is distracting I find personally.

Is that what you’ll be doing next?

Yeah, more or less. I’ll try this pattern for the next little while and see if it’s a good solution for myself. Feel free to try it yourself and give me a shout if you need some advice!

Opinion: Are procedurally generated levels all that great?

Reading other game descriptions, either from Soul Reaper’s competitors or other game developers, and especially indie developers, it seems like procedurally generated levels is the de-facto solution for content creation.

I get it personally. As an indie game developer, it’s very hard to produce good content on a tight budget. Creating an engine that will generate content that’s different every time makes your game more re-playable and potentially more interesting.

zom.png

The problem

It’s very hard to create original and interesting content that’s procedurally generated.

When we got started on Soul Reaper, we set out to do fast prototyping of different features that may or may not make it in the final game. The vault dungeon floor generator was one of the things we prototyped. Our system worked well enough: it would generate coherent rooms and place objects in logical locations. But the more we played, the more we thought it was repetitive and boring. If we wanted our game to be “infinitely re-playable” like some games advertise (and nothing against these games by the way), then I qualified our attempt as a failure. To be infinitely re-playable, it needs to be FUN!

We advertise Soul Reaper as being inspired by games such as The Legend of Zelda, Final Fantasy and Castlevania. All GREAT examples of carefully crafted levels. I don’t want to lie to our players: if we’re going to publicly say that our game is inspired by such great games, it has to deliver! And procedurally generated levels just didn’t cut it for us. Do you think Zelda, Final Fantasy and Castlevania would be as great if the levels were procedurally generated? I don’t.

Do you think Zelda, Final Fantasy and Castlevania would be as great if the levels were procedurally generated? I don’t.


So Danny, what did you guys do then?

We decided to manually craft every level in the game.

gr.jpeg

BUT, we wanted the benefits of procedurally generated levels: the feeling of new every time. At the time of this writing, we are aiming to have 80–100 floors in the game (depends on funding we get through Kickstarter later). Imagine going down the same floors over and over again… BORING! We agree.

So we added randomness.

Every set of 20 floors leads to a different theme, like lava cave, snow mountains, etc. For every set of 20 floors, we’re crafting between 100 and 200 floor plans/layouts. When the player goes down a floor, a layout if selected pseudo-randomly. So the chance of you seeing the same layout multiple times in a 2 hour session is low.

But that’s not all! Each layout has sub-sections that may or may not show up. Or be blocked by obstacles. Some of which you can deal with from the start, but for some, you need Zelda/Metroidvania-style tools to remove. A grappling hook for example.

Enemy and other object placement is also pseudo-random. When crafting the levels, we specify where (groups of) objects can show up and at what percentage. The group selection is also random. Let’s say we have two groups: #1: a set of 3 treasure chests; and #2: a fire pit. Sometimes, for the same layout, the player will see the chests, and other times the fire pit. Chances are players will never notice that it’s the same layout anyway!


So, does it work?

We think it does. Hard to tell… We have not created enough layouts yet to fully test our assumptions. One thing I can say is that the levels are definitely more interesting. Will it help with re-playability? That I can’t say yet. More on that in a future post!


Any other ideas on how to improve your solution?

Actually, yes. It may be too far-fetched and too difficult to implement, but we think that we could add some machine learning to the mix. Told you it was far-fetched! The levels were create generate valuable information on how to build a good level. If we have enough data, we think we can train a model that can generate a good enough level, which we could improve manually afterwards, dramatically cutting down the time it takes to create.

We think that we could add some machine learning to the mix


What about you?

What’s your experience with procedurally generated levels? Does it work for you? Have you found alternatives that work better? Let us know here, by email, on Instagram, Twitter or Facebook!