Case Study: SplashFox Games – ShiVa Engine

Case Study: SplashFox Games

Hello Vyacheslav! Most users know you as vklymenko on the forum and/or have played one of your numerous 2D games you created with ShiVa. Your apps showcase an attention to detail that is fairly uncommon in the hobbyist scene, you obviously have been doing game development long before ShiVa3D. When did you start and how did you end up with StoneTrip’s engine?

Good day! First of all I wanted to say thank you to StoneTrip for the chance to be here, it is a big pleasure for me.

I had a crazy chance to get my first PC when I was only 8 years old, and I made my first game when I was 10. I started with early versions of Delphi and switched to Dark Basic later on, but I cannot say that I really was a programmer back then.

I do not want to make black and white advertisement for competitive middleware tools, but I really had a hard time with some other game engines. Among the most annoying problems were “memory leaks”: I was working with “this” engine for years, mostly PC games, when I switched to mobile platforms exclusively and problems kept creeping up on me. I spent crazy amounts of time trying to fix those leaks, but the games crashed constantly while the official site went silent – I did not know what to do and clients were expecting results. So I started to look into other game engines, and one day, I found ShiVa3D. At first, the interface was a little confusing to me, having avoided visual editors for most of my life. I was used to working with text editors and folders with scripts. But just a week later and… hey! I got the hang of it. The editor is done in a very professional way, so organized and easy to use. On the second week, I started porting my previous games, and by the end of the month, I had ported all my freelance games, got milestone payments, released the games and was happy as hell. No any single issue, no annoying memory leaks – everything just worked as it should. Development is pretty easy, especially for small 2D games. Currently I am porting some flash games, like 1 per week – yes, development with ShiVa can be that fast! Principal programming on Combo Poker for instance was finished in less than a day.
ShiVa has truly changed my life. A 3D GameDev tool is not some product like an email client that you just need to have, but don’t really care which one exactly. Without ShiVa, I could never have created so many freelance projects and built my own passive income.

Another thing I am impressed with is the community. I believe most people on the forum are really great at what they do and are working on “big” things. That is probably why they are so friendly. Some time ago, I was running in circles to integrate Game Center into my mobile game for a client, so I was in a big hurry to get things done in less than a day. I thought I would not be able to get it working in time because it required ObjC, xCode and knowledge of the iPhone SDK. I posted a request on the board, then a guy – Dave – wrote a working sample for me! This is just one of many examples. As a Thank You, I am trying to give back to the community and help other game developers, posting all my key solutions and implementations.

You are one of the most active 2D ShiVa game developers we know, although ShiVa is primarily a cross-platform 3D engine and was not exactly designed with easy 2D tools in mind. What made you choose ShiVa nevertheless, which features stand out to you?
On the contrary, I think it’s great for 2D! I made a real time 2D strategy game, 2D side-scrollers, card games, some games with multiplayer support, some physics based apps. Apart from the games we released, if you take into account all the prototypes i have lying around on my hard drive, we have made close to 100 2D games with ShiVa.
I will not point out again how many platforms ShiVa supports – we all know that. When I am ready to publish a game, I am just exporting it with the Unified Authoring Tool for my intended targets and it takes less then a day for me to release for iOS, Android and Amazon. Most of my time is spent uploading screenshots and fill all the forms on the accounts, not actually coding the ports.
The ShiVa engine itself does not add much to your game file size, most of the small games I have been making are between 12 and 15 Mb. As most stores impose a restriction on app sizes, that’s a good thing too.

What were some of the biggest obstacles you had to overcome when designing 2D games with ShiVa? Any tips for aspiring game designers?
The only problem with 2D games is collision detection. Of course it is possible to use 3D objects and create 2.5D or “fake 2D” scenes – like a lot of people are doing – but I am using HUDs 90% of the time. It would be really handy to have such an auto-collision detection feature for HUDs, as well as automatic texture atlas creation.
As far as tips for aspiring game developers go, here are some general rules that helped me along the way:

  • Work fast, do not start 10 games without finishing any of them. If you feel that one game is going nowhere, kill its development, but find the reasons why it did not work. You can only make something great if you like the process of creating it.
  • Use social network sharing on Facebook and Twitter. They are not hard to implement and help to promote your game a lot.
  • No app is safe, and cracks are everywhere – do not count only on paid downloads. More and more developers are going “freemium”. In-app purchases + ads are a viable business model.
  • Banners will make you money for sure. Integrate RevMob and Chartboost. You can easily earn $100-200 per day with ads alone, and while revenue will slow down after a while, you will get a constant $10-20 per day – that is $300-600 per month. Per game.
  • Thanks to ShiVa, you can release on a lot of platforms, do not miss out on that.
  • Keep releasing updates for your games, even if the update is minor, to increase download numbers.
  • Include a “more games” button in your game. Promote your own games!

Can you share any tips on how to approach a 2D game? Is the workflow significantly different from making a 3D game?

I believe there is no big difference between using HUDs or 3D quad objects. It depends on the game you want to make. Use 3D quad objects if you want to make the next Angry Birds, but if you prefer puzzle, classic arcade or strategy games, use HUDs. Animations are a bit tricky either way. Use scripted actions. You can combine “sleep” commands with UV offset/scale to produce frames playing with milliseconds of delay between them. Switching textures for animations is essentially the same for HUDs, you just don’t need to create materials before using them.
I keep my artwork at high resolutions during development until the whole game is ready, and then just downsize it to different resolutions, depending on the target device. All my resources are named accordingly, like “_2048” or “_512” (e.g. “MainMenu_2048”). A variable in code handles which art pack to load, so all my games are universal and run on all iOS or Android mobile devices without any adjustments. You will find this trick in all of my HUD initializations: “hud.setComponentBackgroundImage ( h, “MainMenuAtlas_”..this.sDevice())

Mobile devices are becoming more and more powerful, the hardware is advancing rapidly. In a world of 3D movies and television where everybody talks about VR, how long do you think there will be a place for 2D games?

Good question. It is possible that the majority of future games will be VR based, but i doubt that this will happen within the next 5 years. Currently, mobile devices are still fairly weak when it comes to 3D games, and in terms of sales, 2D games clearly win on mobiles. It is pretty hard to make a good 3D game in general, now take into account the small screen and the low performance – in fact, if you are planning your first game, don’t make it 3D. It will do so-so on the mobile marketplace and you will probably not get anything out of this but disappointment. Only go 3D if you know what you are doing and have a lot of experience.

To be honest, i have lost count of how many games you have created and successfully published to the App Stores of the world – how many are there exactly, and what can we look forward to in the next coming months?
I have lost count too. But since you asked me – I would say about 100 games and prototypes. A while ago I was working for local network companies, I have signed NDAs with all of them so can not comment on everything that is in the works, but I had a chance to work for such big companies like Philip Morris.

Probably one of most successful games I made is Necronomicon (Necronomicon Redux is latest HD version) – a cards game based on H. P. Lovecraft’s works, which saw thousands of paid downloads per day. Another interesting game was Zombilution, a top-down 2D action shooter. When I switched the game from paid to free, I got 100,000 downloads in a day or two, mostly from China. Crazy Animals is probably the most polished game I have done in terms of gameplay and UI. In the picture you can see the room where the game was tested – we take testing very seriously! I can safely say that Crazy Animals is one of most fun and addictive games on the AppStore I have ever played.

As for upcoming projects, we have County Fair, a tycoon game like “Build-a-lot”, we also work on 2 side-scroller adventure games. And then there is my personal favourite, “Versus Vitality” – a 2D RTS inspired by StarCraft, WarCraft and Dune2000. You know how hard it is to make such a game… I am trying to make the best strategy game for mobile devices with great graphics and gameplay. I am mostly handling the coding, but our SplashFoxGames team spent a lot of effort on everything else. Nevertheless, it soon became clear that we could not achieve our ambitious goals without external help and financing. We are currently trying to move Versus Vitality to, inspired by the recent indie game crowd funding success stories.

Thank you very much for the interview! We wish you all the best with your latest games as well as your future endeavors!

About Splashfox Games
The Ukraine-based game developer Splash Fox Games consists of game logic programmer Vyacheslav Klymenko, co-programmer Anatoliy Motornyi, game designer Konstantin Malinovskyi (owner of Witeg Art Studio), Ben Satterwhite (owner of SharkWeed) and Lawrence Steele from Satsuma Audio.

  • slackBanner