Friday, 29 November 2013

Forecast : Awesome times approaching :)

A lot has been happening recently, a lot except of blog updates :P

The last time I wrote an entry here was in the summer, after I finished developing the android port of my game XPro Rally. The game has fared pretty well. In fact, today is the day when the cumulative downloads will cross half a million downloads ( cumulative because there are two versions, one is specifically promoted through Asian countries ).

I remember that when the game debuted on the Google Play store and wasn’t really successful on launch, I had received offers to sell the game for amounts that later seemed so meager when the game started to get about 8k - 10k downloads a day. Apart from that XPro Rally has given me the chance to develop some business and co-developer contacts, make some deals, sign agreements for great partnerships with stock exchange listed companies ( :O !) , which now ensure to a great extent that my future games will have better launches ( and revenues :P ). In fact the last couple of months have been really good as far as business growth is concerned, the commercial possibilities are now Huge ( yes, huge with a capital 'H'! ) and I am very, very-extremely-super optimistic for the future :D

So, coming to the lot of things that have been happening recently :

GOT AN OFFICE!!
Yes, our university has granted me a working space of my own. It’s a nice room in our technology incubation building and is very close to our academic area. Our university has a reputation for encouraging tech business activities and has an entrepreneurship cell. A level-up like this certainly boosts morale. I also now have one more workstation, the LED monitor of which I use to extend my laptops' screen and I suddenly find myself back to being a workaholic ^_^




NEW RACING GAME! - “huh? Racing? again??”
Soon after finishing the XPro Rally android port, I started working on my zombie shooter again, which I had been planning for months back then. I finally got around to working on it and the initial progress was quicker than I had anticipated. There is a screenshot below that shows how much and what kind of quality I managed to achieve in… the first week maybe.




For a mobile game, it doesn’t look bad in my opinion, though, I know that it is no Dead Trigger.

It was then that I got an offer to work on a racing game ( yes, a racing game again ). I had been making only racing games for the last 1 year already. The offer came from my good friend at racing3dgames.com who had previously sponsored the online version of XPro Rally and involved collaboration with more designers. I had always worked alone and looked forward to being on a small team.

With Gemma Suen ( http://gemmasuen.blogspot.com/), I started working on this new game. It is a city /street racing game. Gemma’s environmental modeling and textures have been better than I could ever even think of creating on my own. Here are some screenshots :










As you see, only one car is ready yet, more will be coming soon!

I have made some android builds and they are running at about 20FPS on my Xperia ZL. Of course, right now there is a lot of dynamic lighting which is causing a lot of performance issues. Without any lightmapping the poly count goes up to 12 million largely because the whole track is one big mesh. After lightmapping the road railing and the road surface, it comes down to ~350k. After further reduction of “important” dynamic lighting and more lightmapping, I managed to get it under 150k, but the draw calls are still above 500 for the most parts of the track. Also, some conversion of models need to be done, trees perhaps can be made 2D-ish as each of them are 1.5k polys each :/
I don’t think that mobile performance will be an issue in the end, of course still a lot work will need to be done from here. For the online version though, 150k polys should not cause any lag.

LIGHTING IS FUN!

Apart from the programming aspects of the game, I am doing lighting and learning quite a LOT about lightmapping and creating textures for night-time environments, and sort of getting good at it! In fact I contributed to another project being developed in Spain where my role was to convert a day time scene into a night-time one and make suitable buildings to better populate the environment. I was really happy with the kinds of results I could get. Some screenshots here :





Sponsored by racing3dgame.com, the game can played here : http://www.racing3dgames.com/games/airport-taxi-parking?playgame=1

NEW ACTION GAME!
So, racing is not the only thing happening around, after all : "Diversity is the key to progress, growth and evolution." ( you don't need to write down that "quote", I just made it up right now )  there is an action game also under development. This game was partially developed somewhere else, and I will extend and improve its content. Again, my interest in night-time lighting can be seen here :









There are more level themes under consideration, so the final game will not just have the forest level. The gameplay is about the player fighting waves of infected zombie cubes. Yes, they are cubes, because zombie human epidemics are so mainstream, you know? Maybe make them look like Rubik cubes and call the game Zubik cubes? Dead Rubiks? Rubikopolypse?? I haven’t run out of ideas here, pitch in your idea of a name in the comments if you want ;)

Cheers! :D

Wednesday, 31 July 2013

My Very First Android Development Experience

INTRODUCTION
This is a rather non-technical developer diary of my development experience with Android. Non-technical because the game doesn’t have much complex stuff in the first place. My first Android game is essentially an upgraded version of my online racing game “XPro Rally”.

DEVELOPMENT OF THE ANDROID VERSION

Unity technologies recently made the Android Basic license free of charge. I already had the Android license for Unity3.x, but updated to Unity4 for this game. Developing the Android ‘port’ took me about 100 hours, across 3 weeks. Being my vacation time, I was pretty laid back about it. 

1) UI/Presentation : You can head over to Shockwave3D.com and play the earliest version of XPro Rally. Probably the first thing you would observe is that the menu and the UI of the game, are pretty ugly. Of course, that was the best I could do back then. I was infact quite proud of the menu and felt that it was nice. 
The very first menu UI, very plain and boring :/

It took me about half a year to realize that the UI wasn’t good at all. In the next version, called XPro Rally : Refueled, I redesigned the UI, and this time the results were much better, and a bit professional, I thought.
The Refueled UI was inspired from a version of Colin McRae Rally and MotoGP 2. See below

The UI for XPro Rally : Refueled

But with the android version, I wanted something different. So I designed the UI from the ground up. This time it looked muddy and messy, just like a rally track would look like. Dirt flying around with a lot of splatter around the screen. By the time I finished, the new menu UI alone had 620 lines of code. It is still a work in progress with a lot of room for new features.

Menu style of the Android version, the CarolineUI ;)

When I was about to start coding the UI, I had to make a folder where I could store the UI programs. For some reason, I didn’t name it “UI 3.0”, instead I paused for a while to think what the name should be. “UI 3.0” sounded too generic. I thought for about 20 seconds and then realized the name of the song I was listening to, it was ‘Caroline’ by Wolfmother. It’s one of my favorite songs ever, and I had put it on an infinite loop. It was probably playing for the 50th time that day when I thought that the folder could be called “CarolineUI”, it sounded nice, somewhat like a code name. I’m into code names…they always sound very awesome J


2) Performance : The main issue with the Android port at first was the performance of the game. I got the Sony Xperia ZL this June, which is a sort of flagship smartphone by Sony right now. With quadcore 1.5GHz processor, Adreno 320 graphics, and 2 GB of RAM, the frame rate averaged at 15. I did some reading, and found out that the main reason for it was probably the Unity terrain. Here is an informative discussion : http://answers.unity3d.com/questions/138903/splatmap-performance-question.html

I looked into my project and found that most of my terrain were using 3 splatmaps. I had to repaint the terrains with just 4 textures to get better results. Further, I increased the pixel error to 61, pixel error is a sort of LOD for the Unity terrain engine. I removed the 3D trees from the environment. Each tree has as many as 2000 polygons, which often resulted in a total of as many as 120k triangles being rendered at every frame. 
With the 2D trees and terrain optimisation, the number came down to a maximum of 40k and 230 draw calls, which averaged at 170 draw calls per frame.


3) Car Controls : Being a racing game, the car controls play an important role in the overall gameplay experience. I had received some positive comments about the controls of the online version of the game, so I decided to stick with them for the most part. I didn’t want the game to have very realistic rally specific controls like a simulation, so I made sure that the controls had an arcade-ish touch. This way they would be suitable for a larger number of players… it might disappoint some rally purists who  play Colin McRae or Richard Burns rally etc.

The program behind the car controls was originally written by Andrew Gotow here : http://www.gotow.net/andrew/blog/?page_id=78

I have continuously worked on it and taken it from being a 65 line program to 370. Its not even remotely close to what I would want, but it gets the job done. Changing the program from a keyboard input to touch 
input was a pretty easy job too.

Touch-pad controls

For some reason, the motion based control system didn’t work out really well with the game, so I decided to stick to a virtual pad controller. It still has a major issue… it doesn’t detect multi-touch. This is obviously one of the main changes that I am planning with the next update.


PROMOTION

XPro Rally had a quiet launch on both Google Play and Amazon. I tried to upload it to SlideME and Samsung Apps, but it didn’t comply with some of their policies. I didn’t have a promotion or marketing budget. I posted about it on facebook and a few friends gave me some feedback about it. I came across a page with a list of popular android forums where I posted announcements of the games’ release. The posts were viewed by thousands of forums members ( and lurkers J ), which boosted my game to about 350 installs a day.

It was one Friday, after about 10 days of the game’s release that I decided to upload tablet screenshots of the game to Google Play. I don’t know if it was the ‘weekend effect’ or the tablet screenshots, but my downloads kept on increasing 3 to 4 times for the next couple of days, and within 4 days the total installs of the game were 17000, 5300 of them coming on Tuesday alone!

Anyways… the popularity of the game has been increasing exponentially; it was featured in the trending apps section on Google Play Russia at 122 position. The rankings in the racing game category have been jumping up by dozens and hundreds in a single day. Right now, it has a 2 digit rank in 3 countries, and the list is hopefully going to get bigger. The game enjoys good popularity in Russia, South Korea, Hungary and Taiwan to name a few.

USER RECEPTION

The reception of the users has also been positive with an average rating of a little over  4 out of 5 starts, based on about a hundred reviews. Some people have experienced game crashes, leading to an increasing number of 1-star ratings. I am yet to resolve this issue, but I guess the main reason would by the specification of the phone itself. I have updated the minimum hardware requirements of the game to 1GHz processor and 768 MB RAM from the previous 800MHz/512MBRAM. Since about 65 percent of the users have a medium-high end phone like Galaxy Tab 2, Galaxy S2/3/4, hardware requirements are not much of an issue.

MONETISATION MODEL

Developers might specially be interested in this section J

XPro Rally is a completely free game. I decided against making it a paid app because of several reasons : piracy; 30% revenue cut that Google keeps and the fact that the game doesn’t have enough content for a paid game.

The game is completely ad supported, without the ads intruding during the gameplay. The ad networks used are : StartApp which uses ‘search based monetisation’; AppBrain, which shows up a list of free apps when the user presses the “more apps” button in the menu; and finally AdBuddiz which shows a full screen ad everytime the user finishes a race.


I would not disclose the revenue details publicly, but I am very happy with the performance across all 3 networks.

CONCLUSION

Overall, it has been a good experience porting my game to Android. It has helped me learn a lot by revisiting an old project. I realised I could have done certain things in a better manner. There were a lot of things that indicated lazy development with 'shortcuts' just for making things work, that are not easy to change to expand later, which made me think that I was a little stupid a year back! I guess that despite how much you cherish your old games, this feeling of stupidity and maybe even embarrassment when you see your old projects 'inside-out' is a sign that you have made progress.

The fair amount of success with XPro Rally has given me a nice launch and a boost of enthusiasm. I have more projects in development which will be out in the months to come.

Cheers

Thursday, 7 March 2013

XPro rally updates and Zombie game


So, I have been working on the zombie game for a while now and so far I have a few assets ready which are looking really good. As far as the gameplay is concerned, I have changed it a lot since the first draft. I have decided not to go with a campaign mode, instead a survival mode some what like the zombie mode in Call Of Duty series. If this game manages to become popular enough, then I will work on a  campaign mode sometime later.

First I want to finish one map and get some feedback and suggestions from interested players and other developers so that I can see what changes should be made and whether the development is going in the right direction. The first map is a farm-like location. Farms, abandoned hospitals and even public places have a creepy atmosphere with good lighting and ambient sounds, so that is where the game can be set.

Also, the final update of XPro Rally is now online. A new canyon track and a new SUV car have been added, plus old tracks have been changed a lot and look more complete now, the old rally sedan car also sports a new look, and the UI has been built again from the ground up. I felt that after the new features and changes, the name of the game should be changed too, so now it's called XPro Rally : Refueled. I believe that this new version is a pretty good update, however the download size has gone up to about 17 MB. This version is also sponsored by Racing3dGames.com, they have some very good 3D racing games on their website and its pretty good to see that XPro Rally is available there.

After making assets for my mobile cricket game, I have put that project on hold until I make this farm level. Lot of great things to look forward to!

Saturday, 29 December 2012

XPro Rally update and new games coming soon!!...

XPro Rally will soon be updated. The update will add two new tracks and one new car along with gameplay and visual improvements. The update is expected to be out in January.

The game reached 100k plays milestone a few weeks back, I would like to thanks the players for their support and reviews that keeps the development going. I also extend my vote of thanks to GamesFreak.net where the game is now available. The game can be found here :

I have also been working on two new games currently. The first is a mini cricket game on the Android platform, which will be ready in January 2013, while the other is an online zombie shooting FPS, which is under conceptualization and yet to be under development. 

Since this is my first attempt on Android platform, this is more of a demo to get familiar with Android Development and the players can expect a finished cricket game some time later. The zombie shooter will be an attempt to make visually realistic survival shoot-em-up game.

Cheers!

Thursday, 16 August 2012

XPro Rally - After a month

So XPro Rally has been online for almost a month now, so far it has got over 35k hits!

Some people are having problems, such as the race not starting when the "Start Rally" button is pressed, so I just uploaded a new file, it improves the graphics to some extent and also should solve the problem of the race not starting.

Thanks to everyone for the feedback so far!

Tuesday, 10 July 2012

New rally game coming!!

I am really happy to say that my untitled rally game is going to be released online on 10th or 11th July 2012. Right now it is in beta phase and the testing is going on.
The game will be hosted on Wooglie.com

Right now it features two tracks, one a forest track and other a snow track set in Sweden. it has two cars, one of which is a white hatchback and the other is a rally sedan.

See some screen shots here : http://tinyurl.com/7mo3qxf


However, the above images are old, and many parts of the track have been changed by now.

After this I also plan on releasing a Android version, with more cars and tracks although when the development will start is unscheduled. After this I have my targets on the Game development contest being conducted by Square Enix.