Qualcomm® Developer Network August Developer of the Month is Ludovico Cellentani.
Ludovico is a game developer who believes in fun as a way of life. Not only is he a Senior Software Engineer at King, he is also the proud Co-founder of Just Funny Games, an independent games studio. Based in Stockholm, a city not known for its clear skies, Ludovico is still the kind of person who always seems to find the sunny side of life. He loves looking to other game developers for inspiration, and always has a fun new idea for a project.
We sat down with Ludovico to get his advice for dealing with creative challenges, his thoughts on developing for mobile VR, and what his favorite development tools are.
Tell us about your company.
Just Funny Games is an independent game studio that provides consultancy and professional development services for video games and entertainment apps, for both mobile and desktop platforms.
How did the company get started?
I got started with Just Funny Games during the dawn of the iPhone and Android era in 2009, when the mobile market was just starting to offer the opportunity for a developer to be author and the publisher of their own products. At the time I decided to leave my job as branch Studio Director of a mobile gaming company based in Irvine California, and start out with my own company.
Today, eight years later, we’re still living each day like the first one at Just Funny Games. Our mission is to create moments of engagement and fun, while always working with the latest gaming technologies.
Where do you and your team get inspiration?
In particular, I find inspiration looking at the work of other great developers like John Carmack, Johan Andersson, Natalya Tatarchuk, and Inigo Quilez. I also like attending events like Game Developers Conference, where I get to experience new games and meet people in person.
What is one of the most challenging things in game development?
Don't become attached to your own stuff!
Game developers are creative in many different ways. Whether you’re a coder or an artist, you’re a creative person. It's natural for people that create things to develop a strong attachment to our own solutions, ideas, or achievements - but that attachment can become our worst enemy because it prevents us from moving forward. Being able to let go of those attachments can open the door to possibilities of endless growth and evolution as a creative person.
How do you approach a new gaming project?
Everything starts from assessing the project context: the destination platform, the scope, and the time you have to complete the project. This all drives my decision about which technology or game engine I will use to develop the project.
The next step is the assessment of the production pipeline, and this is really exciting for me. It’s the moment when you analyze the processes the team uses, and you plan how you can optimize those processes, noting if you need to build specific tools to improve things.
After that there is the technical assessment, which is the evaluation of the technical challenges you will face and the possible solution you will have to implement – this is an important part because the correct execution of this step can have a huge impact on the overall project.
And then there is the production. As any experienced producer or senior developer knows, in production the easy part is the first 90% and the hardest part is the remaining 10%. The nicest thing about video game development is that no matter how many projects you’ve done, each new project offers a brand new canvas to work on. And this is quite unique - it means you would have a hard time ever getting bored!
Tell us which Qualcomm and other development tools you use.
My best (development) friend is the Snapdragon™ Profiler, as well as its predecessor, the Adreno™ GPU Profiler. I use these tools to help maximize a game’s overall frame rate, lower the power consumption, and optimize rendering.
How did these tools help in a recent project?
I recently did some work on a Unity-based project where I relied heavily on Snapdragon Profiler to inspect the source code and make changes. The project was an image-based modelling and rendering mobile app that allows the user to reconstruct 3D environments in real-time, based on images captured by the camera. My process consisted of running the app in the profiler, inspecting the shaders, identifying possible optimizations, applying changes on the Unity shaders, then recompiling and examining the result.
The Snapdragon Profiler has been really effective in this case – the initial goal was to have the app run on a high-end mobile device, but thanks to the profiler, I was able to not just get the app on mobile, but also keep a constant 50FPS. That’s amazing!
What are some of the challenges of working in mobile VR and how do you work around them?
Mobile VR provides a unique challenge because it pushes a device’s GPU to the limits and often keeps the CPU and GPU spinning at maximum cycles, triggering an intense power consumption and producing heat. Heating is one of the worse enemies for mobile devices because often it can trigger a downgrade of the CPU and GPU performances. As you can imagine, this has the potential to make the VR experience very uncomfortable for users.
In a recent project, I was responsible for porting a mobile VR racing game and the Snapdragon Profiler helped me to spot where I could optimize the drawing and better distribute the load between GPU and CPU. This resulted in a much better user experience.
What do you think is the next big thing in gaming? What technologies do you think will help make that possible?
The immersive gaming experience will definitely be a big thing not too far from now! Already, mobile VR has had a much higher adoption rate compared to desktop VR. You can even see how most desktop solutions are starting to think about how they can become “more mobile,” leaving behind all the wires and heavy stuff. New mobile GPU capabilities will be extremely important in making these kinds of AR/VR games possible.