3D Generalist Solarsheep spoke about using the YAHAHA platform for 3D art creation and demonstrated how to use the company's tools to recreate an intro scene from Indiana Jones and the Raiders of the Lost Ark.
Introduction
Hi there, I’m Masa, otherwise known as Solarsheep on Discord and the YAHAHA platform. Firstly, this is amazing. I’ve been an avid reader of 80 Level articles for many years, so having the opportunity to write an article is an honor I never expected and for that, I’m very grateful. I was requested to create this article whilst I was working on the YAHAHA “Lights, Camera, Create!” challenge. At the time I was already working on another level for the challenge, so to be able to make a timelapse video and really demonstrate my workflow, I was going to create a smaller level just for this article. I’m really glad I combined the two tasks because this level turned out really well to show off what you can do in YAHAHA. It’s not perfect, but I’m happy with it.
Okay, with that out of the way, I’m a freelance 3D Generalist, a term I only recently realized covered most of what I enjoy doing. I spent six years in college and University studying game development, though mainly on the art side. Loads of game prototypes, multiple projects a year, and a lot of fun. Looking back, it was way easier and much simpler than I thought it was at the time. I left education with a Master's Degree in Game Development, which is fine and dandy until you actually start developing games without a safety net. I worked at Simbin UK on the game Gran Turismo Racing 3 for a while, soon realizing that I wasn’t entirely prepared for the games industry at the time. I also realized that racing sims weren’t my cup of tea, still not sure why I thought it was a good fit, but I was young, eager, and straight out of University without a clue about the real world.
Soon after, I moved to Sweden to live with my partner, working on prototypes in Unreal Engine 4 with a few friends from University and then moving on to freelance work. Moving between projects has been a better fit, but some months can be hard when work is scarce. That, of course, brings me to March 2022. I saw an article here on 80 Level describing the YAHAHA platform, what it was striving to be and how to get involved. I’m not sure why, perhaps good marketing, but I jumped in feet first. Joined one of the friendliest discord channels ever and chatted to the developers. It was nearly a month later when April 1st came around and YAHAHA was released, a day late, but it exceeded my expectations for such an early build.
A few days later I’d created my Cyberpunk Apartment level, which I’m very humbled to say the community and devs enjoyed. Some of you reading this article may have already seen screenshots of my work on 80 Level already. A little while later, the first bug bounty hunting event took place, which to my astonishment I won. A second bug bounty hunt took place a week later, alongside the Easter Egg challenge. During the competition period, I, unfortunately, lost both of my grandfathers. Only finding out about one of them fifteen minutes before the previous one's funeral. It was an exceedingly hard month, but I did what I could to honor them, and kept going with my work and the YAHAHA competitions. I came out of it with 1st place in the bug bounty hunt and 2nd place in the Easter Egg challenge. I feel like I made them proud and I’m thankful to the YAHAHA devs for providing me with the opportunity to do so.
Fast forward to today, the 25th of May 2022, as of writing, and I’m relaxing after last night finishing my latest "space" in YAHAHA, for the "Lights, Camera, Create!" event. I had initially tried recreating scenes from the Matrix, the jump program scene looked interesting, but after building it in an afternoon and realizing it was actually a very simple looking scene with not much to actually do or look at, I instead looked for something else to create which would have more interactive elements. That’s also when I was asked to join Kim (KimMakesGames) to co-host the first episode of YAHAHA Easy Talk. I ended up recreating the Area 51 hangar scene from the film Independence Day. Though only the architectural blockout, as I wanted to demonstrate how to create complex structures with simple shapes, working granularly from the largest features first to the smallest details last. Easy Talk was a success and a lot of fun.
After that, I hit a bit of a creative roadblock until the Triggers update. On the morning of the update’s release, Kim, I, and a few others were all sitting in breakfast club where we explored the possibilities of the new update. That day, whilst talking with Kim, I figured out what I wanted to create. The opening sequence for the film Indiana Jones and the Raiders of the Lost Ark. The booby-trapped temple was perfect to show off the new trigger components and fit all the competition criteria. This is how I created it.
I also recorded a timelapse of the whole process:
Planning
I started out by collecting reference material and gathering it in PureRef, which gave me a collage of images I could easily reference later. I also watched and rewatched this scene over and over again. Hearing Alfred Molina’s screams of horror repeatedly start to sound silly after a while. I sketched each area on paper so I could get a feel for each chamber, committing the spaces to memory and understanding their construction. It also gave me a storyboard, of sorts, to work from and a top-down layout of the temple. Luckily, maker Adam Savage of Mythbusters fame actually recreated the pressure plate blow dart trap on Mythbusters, so I even knew the timing for the darts and roughly the size of the chamber. As for gameplay design, the scene lends itself to being played, so I already knew what gameplay elements would be required to add. I wanted to have the player explore the temple, dodge the traps, collect the idol and then have to escape the temple before they were trapped inside.
Blockout
So, the thing I mentioned earlier with the Area 51 Hangar, about granularity, that’s what I put into practice here. I started with the general layout, building up the general structure and shape of the level, refraining from adding detail and just making sure it was all in the right place, to the correct scale. I made sure to run through the level multiple times to make sure the scene felt right. The size of the player character, how far they can jump, the player camera and a myriad of other things have to be considered when blocking out the space. The pit trap was of particular significance when it came to accuracy versus playability. If I made the pit accurate, then the player character would be unable to jump across the distance. So I chose to shorten the jump so players could only just reach the other side. One side is also narrower than the other, so there’s some wiggle room for the player skill gap.
One of the main points of blockout is to create the level’s broad strokes. To create a foundation upon which the rest of the level can be built. Often, a blockout will be passed along to someone else in a larger studio, so the blockout needs to fundamentally communicate how the end result should function and look. In this case, I’m both a generalist and working on this level by myself, so even though I know what I want the final result to be, this blockout gives me a crystal clear vision of the end product. Without it, I could easily tunnel vision and focus on the wrong aspects or end up with differing scales, styles etc. I also take this chance to make sure the lighting is 90% done, especially in the case of YAHAHA, which only uses the Directional Sun lighting. If you don’t already, you should start blocking out your levels first.
Gameplay Mechanics
With the blockout done, I could work on gameplay mechanics. Notice how I haven’t started making the level look pretty first. The easiest mistake to make is adding all your fancy art assets before creating and most importantly testing gameplay. Adding the art assets first means you’ll definitely have to move or change assets later, wasting time and causing frustration when you have to redo that fancy and great-looking entryway or centerpiece because the player can’t fit through.
Saving myself later trouble, I start adding interactable components. I start with the simple things first, the light trap is the easiest, being a trigger volume lined up to match the light shaft coming through a gap in the ceiling. When triggered, it activates the spears on both sides of the hallway. In this case, I created one set of spears, parenting them to a group object and moving that group object with a mover component. That way, I don’t need to create mover components for every spear, I only have to do it once and I can freely add or remove spears later. I next duplicated the spear group, rotated it, and moved the group to the other side of the hall. Movers work by moving objects in their relative or local X, Y, and Z coordinates, instead of the world coordinates. This saves some time as just rotating the object is all that is needed for the mover to go in the correct direction. The pit trap was even easier, as all that was needed was a retroaction component added to a flat surface and set to “dead” so that when you fall to the bottom of the pit, the player character is killed and you respawn. The sliding door trap was a mover component, although set to move at 0.1 units so it would be very slow. There is just enough time to escape under the door when the pedestal is triggered. The rolling boulder was another mover component, with multiple relative locations to move to in sequence as it “chases” the player down the tunnel. Both of these are triggered by the pedestal in the final chamber. When the player enters a small area around the pedestal, the golden idol (or crab) moves quickly under the floor and a small leather bag moves up to replace it. The leather bag is parented to the pedestal center, so even though the bag moved up to replace the idol, the bag moves down with the pedestal center when it depresses.
Furthermore, the pedestal also triggers the door trap to cause it to start descending, as well as raising another trigger volume under the boulder. This raised trigger volume is a small area the player cannot avoid as they pass through the tunnel towards the exit. This triggers the boulder to start moving and triggers the boulder to start rotating too.
The most complex trap was definitely the pressure plates and their associated darts. Currently, objects do not retain trigger targets when duplicated, so each of the thirty-five pressure plates had to be manually targeted to their respective set of darts. Initially, one plate would trigger one dart to move. However, this became tedious and time-consuming, especially since I had to keep updating each one manually. So instead, I had seven sets of three darts, alternating down the chamber. Each pressure plate would trigger its row, firing three darts at the player after a one-second delay. Darts were grouped, the same way I did them with the spears.
So that’s gameplay mechanics out of the way, after testing them multiple times and making sure timings were adequate, I moved on to set dressing. Really make sure to test your game mechanics okay?
Set Dressing
There are probably other names for this, but this is what I call it. At this stage, I can start adding in the broad but slightly finer strokes of the visuals. Large rocks, the basic architecture, such as walls, floors and columns. The biggest features first, without getting stuck in one small area. Honestly, at this point, it sometimes looks terrible. Parts of the scene may look flat, the scale doesn’t look right and of course, there are a limited amount of assets to use that match the specific style I was going for. Don’t get me wrong though, the amount of assets available on YAHAHA is staggering and right now they’re free for creators. But you often have to get a bit more creative with how you use them. A floor can become a wall, that sort of thing. One issue I had here was how noisy the level looked after I replaced the walls and floors. There were very few places to rest the eye, low detail areas were few. It’s common to use a 30/70 rule of thumb, where 30 percent is detailed and 70 is low detail. You can of course do the reverse, but you often need to strike that rough balance or an environment can become overwhelming. I made use of the assets I had found to even out and balance the environment, before moving on to adding smaller objects to provide scale. Granularity. Big, to medium-sized assets further refined the size for the player, until I got to smaller rocks and ferns. Plants are a good way to show scale, especially if they’re extremely familiar. Trees are usually good for this purpose too. At this point, I added the statues made from a lion statue and a few rocks shaped roughly into arms. Then the chairs, I think they’re supposed to be chairs anyway, are made from multiple scaled-down blocks and cylinders.
A few more ferns and a lot of dirt meshes to break up the floors and that was it. Now came testing the game level multiple times, making sure nothing got in the way and that each part worked correctly. Apparently, I deleted the sliding door trap whilst cleaning up the blockout, so I added that back in and finished off the entrance to the temple with a small spawn area. Throw in a few trees for background interest and that’s it.
Publishing
This is the easiest part, I saved my level. Exited the editor and after filling in a description and uploading a few screenshots, I pressed publish and that was all there was to it. I don’t think it could be any simpler. I could immediately try it out on my phone (which I did to make sure it didn’t have any bugs for mobile devices) and tried it out on a PC too. Quick and easy.
Conclusion
I could have gone into much more detail on many aspects I covered here, but this is getting rather wordy and you have my thanks if you’ve gotten this far without skipping to the end. YAHAHA is more than just a social platform to me. It’s become an opportunity for me to be creative and reach out to like-minded people. Soon, it will be somewhere I can do that and potentially make a living doing what I love, with an awesome community and developers who actually care what creators think and understand what we need to make great content. I only see the potential of the YAHAHA UGC platform growing as we go forward into 2022 and beyond, so if you’re not part of the community already, I recommend you come say hi and see what we’re all creating. If you just want to see what I’m up to, you can find me on Twitter. I try to post regularly, but you know how that can be. Thanks again to YAHAHA for the great platform and for requesting this article from me. A big thanks to 80 Level for having me too! Thanks for reading!