27 septembre 2019
Solo dev creates breathtaking 2D puzzler Koral with the help of the UE4 Marketplace
Infused with splashes of educational info about the state of our oceans, Koral was designed to be an accessible game that’s suitable for everyone, including non-gamers. To execute this goal, Coronado designed gameplay so that players wouldn't have to use anything more than a single joystick. We caught up with the solo dev to see how he was able to accomplish all of this. In our discussion, Coronado details how his diving experiences helped him capture a realistic, yet surreal depiction of the ocean that’s never been done before. He also talks about how he couldn’t complete the game alone and shares how he leveraged the Unreal Engine Marketplace to fill in the gaps. Finally, Coronado elaborates on his drive to be a one-person studio and shares tips for aspiring solo devs. Thanks for your time! When you were developing Koral, what were you hoping to achieve?
Carlos Coronado: Thanks for the interview! When developing Koral, I was hoping to primarily achieve a videogame that was fun to play and was a relaxing experience that perhaps could teach interesting facts about our oceans to players. But Koral is not an educational videogame. It has an educational component, but it is a secondary aspect of the game.
Were there any games that influenced Koral's development?
Coronado: The most important reference is, of course, ABZÛ, but it was also influenced by the gameplay and controls of Flow and Flower. It was also influenced by many dives I’ve done around the world and documentaries like Chasing Coral.
How much research did you do on the ocean for the game?
Coronado: I had to do a little bit of research, but honestly, it wasn’t much because I’ve been diving for five years and that gave me enough experience and knowledge to make an internal picture of what I wanted to say with Koral. But even more important than the research was the empathy that I developed for the oceans while diving. There are some things I saw and experienced while diving that really moved me. For example, seeing the effects of dynamite fishing in Komodo or the effect of coral bleaching in the Philippines is not something one can easily forget. Hopefully Koral players won’t either.
How did your experience and love of diving affect the game’s development?
Coronado: It was mandatory and sometimes the main focus! Koral is a love letter to the oceans and a big part of that is to make the player feel what divers feel when they scuba dive. A huge part of this feeling is the light. It is so surreal underwater! The water density creates really interesting silhouettes really close to you and everything becomes mystical, calm, and precious. I haven’t seen an underwater videogame emit light exactly as you would see it if you were really diving underwater. Even ABZÛ, arguably the best underwater game that exists, doesn’t quite nail this feeling of immersion. Part of this is because the “fog” is so dense underwater that people wouldn’t be able to see anything, and gameplay wouldn’t be fun. Koral uses 2D gameplay in part because of this; I can put a dense fog and the correct lighting effects, and the gameplay of the game doesn’t suffer!
With neon-soaked 2D graphics that feature layered silhouetted 3D backgrounds with minimal textures, how did you come up with the unique, beautiful art style of the game?
Coronado: Through trial and error. All my previous games, which include INFERNIUM, MIND Path to Thalamus, and Annie Amber, all of which use UE4, are first-person games with baked lighting and I knew I didn’t want to repeat that with Koral. Dynamic lighting was also out of the question because I wanted the game to run at 60 FPS on the Switch and making dynamic lighting meant sacrificing detail on the corals I felt were important to the experience. I knew I wanted to use a lot of silhouettes, too, because it’s something I love that not many games use. I started experimenting with silhouettes, emissive materials, and similar effects. And when I got something good, I started developing Koral.
Combined with the minimalistic textures, Koral features breathtaking lighting, fog, and particle effects. How did you implement these amazing visuals?
Coronado: The key point is to keep it simple: there is no real lighting in Koral. All the visuals in Koral are achieved through fog, screen space godrays, depth of field, emissive materials with bloom, and a vignette effect. The main light and shade is created by the fog and the rest of the effects add detail and complexity to the various 2D layers. The second most important effect is a simple gaussian depth of field. It blurs what is close to the camera and also what is really far away, pushing the player’s attention to the gameplay plane. All of these effects are expensive to achieve with 60 FPS from a docked Switch running at 1080p, but there’s nothing else you can compare it to! There was no real-time lighting and no further calculations!
In addition to the game's superb graphics, Koral features soothing, dynamic music and sound effects. How did you nail the game's audio design?
Coronado: Well, all the sound and music of Koral was bought on the UE4 Marketplace. These are the packs I used:
Sometimes people underestimate the quality of packs available on the Marketplace, especially when it comes to music and sound effects. They literally saved me so much work and money. Lots of players think the music was custom made for the game!
Koral features a unique gameplay premise with players taking control of a water current and using nothing more than a joystick to solve environmental puzzles. How did you come up with the gameplay concept?
Kait Paschall, who works at Epic Games in the localization department, greatly helped me to refine the gameplay idea. I wanted to make a game that was super accessible to everyone and it made a lot of sense to use just one joystick for all player interactions. It was super challenging for me to create interesting gameplay with just a single joystick, but it was also a great way to grow as a gameplay designer. Having to control two joysticks, like in FPS or third-person games, is tough for people who have never played a game, and I wanted Koral to reach a bigger audience, for instance, like my mum! She has never touched a videogame and she grabs the joystick as if it was a clothing pin, but she has completed Koral! That was more or less the main idea behind the gameplay concept.
With gameplay that is accessible to all, coupled with informational tidbits about the ocean scattered throughout the game, can you elaborate on how important it was for Koral to be educational?
Coronado: It was important, but it was not the main focus. Koral is not a game that wants to lecture you about the current state of the ocean. I wanted players to enjoy and connect more with the ocean while playing Koral, and as a secondary effort, present some cool facts about it. Some of those facts are sad, too, but well, like it or not, it’s the reality of the oceans right now.
Many people are saying that Koral is a very relaxing game to play. Did you intend the game to be somewhat therapeutic?
Coronado: I always tell people they should try diving because it is like going to the therapist, but cheaper! If Koral can make players feel the same way, then it makes me very happy.
What made Unreal Engine 4 a good fit for Koral?
Coronado: I didn’t even think about using other game engines. Unreal Engine 4 has been such a fantastic tool for all my previous games! Blueprints are a fantastic way to prototype gameplay fast and I was already familiar with all the workflows inside Unreal Engine 4. For example, all of the fish and animals in Koral are bought from the UE4 Marketplace (three packs in total). Instead of importing those packs straight to Koral, I always create a blank project and import them there, and then just migrate what I need to Koral to keep things as tidy as possible. Doing a migration of the sorts is so easy in UE4. And that’s just one small example! Do you have any favorite UE4 tools or features?
Coronado: I think the exponential height fog is the most important tool to achieve a nice mood and good lighting, even if your scene isn’t foggy. On the other hand, I am the biggest fan of the vertex paint tool. It’s such an underrated, but useful tool to hide repetition or to make amazing localized effects on materials!
The UE4 in-editor optimization are amazing, too. A big part of the development of Koral was done on a sailship with limited power. To avoid running out of battery too quickly, I used UE4 with certain features that made the engine run smoother in exchange for visual fidelity. Having the ability to turn off “real-time” rendering in the engine is huge and all the visual quality settings inside the editor helped a lot, too!
If you want to know more about how Koral was created in a sailship you can watch a 20 min documentary I put together here.
What drives you to be a one-person studio? Can you talk about the challenges and benefits of being a solo developer?
Coronado: It was a natural path for me. I like working alone with my cat at my studio. This doesn’t mean you have to put all the work on your shoulders - I sometimes hire freelance artist to make really specific assets I can’t make or buy from the UE4 Marketplace to save hours of work. You can’t be good at everything and that is the main challenge when you are a solo game developer. For example, I am extremely bad at making characters or animations. That is why you will see a complete lack of characters or animations in my games… for now....
Considering Koral received an Unreal Dev Grant, what did that mean to you?
Coronado: It meant a lot! I could invest a lot of that money to marketing and visibility, and that made Koral visible for a wider audience. I will always be grateful to Epic Games for awarding me a Dev Grant.
Do you have any tips for aspiring solo developers?
Coronado: Don’t try to make AAA games. Choose a simple idea and make it perfect. Big ideas are your worst enemy! Also, don’t be scared to buy Marketplace assets! Just try to avoid making your game look like Frankenstein!
Thanks for your time. Where can people learn more about Koral?
Coronado: Players and developers can learn more about Koral by following me on Twitter @CarlosGameDev.