I am starting a new game and had some ideas about guiding the artist I am working with. As an example the Adventure Time Ski Safari seems to go on forever and we are taking a similar approach in our game. However I was wondering how to guide my artist. Do we need to draw out the entire level in its entirety? Other options I could think of is building chunks then bring them together and repeat them. Do we simply randomise components then loop it?
I guess this initial approach is something I am confused about to go about it. I have a good grasp of other concepts in Unity. But to get the infinite runner and keeping it looking unique by not repeating too much would be an outcome desired.
Separate your level into a number of different sections that can randomly be used to generate endless random level parts. It’s really going to be up to the artist to take careful consideration when designing each part so that when used over and over you can’t really notice. The rest is all on how you are coding the placement of the pieces. You need to make sure no pieces ever get repeated one after another.
The easiest way to make something go on forever and ever in a loop is to first just make an image that looks good, then cut it in half and swap the two halfs. You now know that the image starts just where it ends, but it looks bad in the middle. Now you just fix the middle, which is easy to do since you have it in front of you, and now the entire thing loops. If you want it to loop in all directions, just do the same thing twice.
There’s actually a massive amount of code behind Adventure Time Ski safari. It also doesn’t use Unity’s physics or 2D systems. The physics are hand-rolled line/box/sphere colliders with custom animated sprite and terrain drawing systems. The terrain and caves are mostly just repeating textures on a mesh that’s generated along curves at runtime.
I use to work at Defiant, was the lead gameplay designer and programmer on that title - poked around and hacked into a lot of that code while I was there. While games like that look small and simple they’re deceptively large mountains to climb. Even after working on games for years when I started building Ski Safari Adventure Time from the original Ski Safari code base I was amazed just how many custom systems were built to drive something that seemed so simple.
Thanks unitylover I was going through the forum and came across another post where this was a reply as well I appreciate your input. My initial thought was that this is a solution. Thanks again…
Hi Cameron! Thanks for your input. I had a feeling there was a bit going on in there. My kids love that game so well done! Seems like the code draws the curves then puts the textures along giving it a feel of endless and constantly changing at the same time. I am not sure we need something such as this. However perhaps long term. Once you do it you can put new levels in almost instantly because of the engine is there and textures are only thing unique. I wanted to have rainbows sort of squishy like the green jelly in Adventure time. Not sure thats possible either without custom physics.
Would your gut suggest that we could get a decent level out of some well done pieces and randomising them?