Hello everyone, I've another update for you.
This time we will be focusing on our level design of our platforming portion and I'll guide you in our thought process, covering why we did things the way we did. We've discussed this before in previous postings but there are has been significant changes that warrant a revisit of the topic.
To start off. . .
Never Go Home will utilizing a hybrid system, where levels are initially handcrafted and supplemented with procedurally generated sections to allow the player further exploration should they choose so.
Let me lay it out like this. Platforming levels can be:
2. Handcrafted and Procedurally Generated
Platforming levels will NOT be:
1. Randomly Generated. What this means, is there will be a rhyme and reason as to how the levels are constructed. There will be a base structure to the levels in which the player can for the part identify how to navigate and catch their bearing.
Essentially you would be able to map the main area of a level and it would be the same.
I mentioned PCG and RG because they serve as two separate points. It won't be as extensive as other games on the market, but our levels' generated portion will have a few rules and dependencies on how they are formed and constructed.
IE. If you are on planet, inside a small Outpost, then there is a high probability the generated portion won't be all that big if not all. However if you're at a military base, then you can expect several large underground sections. That's where our minds are going.
This leads us to another thing. . .
Platforming levels will generally be constructed to "make sense." Now when it comes to that phrase in art, one could argue it's subjective, however add have outlined above there should be some reasoning as to how things are structured. This means if you are galavanting around on a space station, more than likely will you encounter a design that has a central shaft for a large main lift, several small shafts for a smaller lifts and a number of ladder shafts to reach all sorts of nooks and crannies. The same could be said for a planet-side base, with a main freight lift, and ladders.
Which if you start to get into the details of things, you go further with differentiating the layout due in part to different design philosophies.
A military installation will be structured differently than your average civilian installation, which is structured differently than your corporate installation, which is structured differently than your pirate installation. . .
You see my point here?
The real world follows these design sensibilities and building a world within a game is no different. Of course we are beholden to the idea that things should be FUN, HOWEVER. . . That should not stop us from using real world metrics.
It never should.
So how exactly do we set up our levels and have them do a thing? Well, our levels are broken into two pieces: cells and rooms. Cells, which can exist up 10x10x10 meters are the main pieces of our level, and often will be the area that the player traverse the most.
A Cell can be 1 of 3 sizes, and 1 of (currently) 33 types (based on door, LR, R, X, T shape, etc) with more granular control in the works.
A Room, uses the max dimensions of the Cells as a base for its multiplier. For example a Room could be a 2x3x0.5, which means it would be 20x60x5 meters or two cells by three cells. Because the limit of the room sizes could be absolutely insane, we have several set sizes for the rooms to maintain consistency and ensure as few problems in the future.
With a Rooms and Cells we can drag and drop them into a level, and they will snap to an adjacent piece. A similar system what you may see in voxel building games, a designer can quickly work to snap a few pieces together, and then go into their details panel and set the type, size, variant, etc. Some may see it superfluous when you could just use the snapping of the grid, but this is a system that extends to our level generator, and could have future uses. Plus, getting around the limitations of the conscription script is a high mark.
Never Go Home Level Design 1 - Indie DB
Never Go Home Level Design 2 - Indie DB
To wrap things up, let's circle back to lifts.
Lifts are an interesting thing, because they not only exist physically in the space, but move too.
Their job, is to get you from one floor to another, not serve as a clever loading screen. This also means, lifts will not magically appear when you call them after some arbitrary time.
No, when you call them, they will move moderately up or down the shaft to the floor you are on, and await for further instruction.
So if you foresee yourself getting into some heat, perhaps its best you time your exit a little better!
There is plenty more to discuss (Ie. How are level sections generated, etc) bit I believe that is enough for now. If there are any questions, critiques, feedback, etc don't hesitate to drop a line!
Be sure to subscribe to our newsletter and follow on Twitter.