Skip to main content

LoL-Wars Mobile

I've been working on lol-wars for the mobile for a couple of days now. The gameplay is pretty much the same as the original html5 version, but the experience is what i've been working on.

The major problem with the html5 version was the use of firebase for handling the communication between the players and also to keep track of who is online. Frankly the code was all messed up and all over the place. I did however learnt how to use angular material and get familiar with the riot's developer api.

For the mobile version i've tried doing it with unity, quickly realising that i was spending way too much time without much progress. I was trying to figure out the gameplay flow while trying to figure how it's done and eventually the project got sidelined.

I still loved the idea but wasn't able to motivate myself to get it done in unity, so i thought to myself that getting the game done was more important to me than doing it in a particular tech. I needed this game to be available on mobiles. So i picked cocos again and this time i did the same mistake of trying to pick up new tech .. i.e the server side programming. I wanted to use netty so i get a good understanding of how its' done etc, but was too frustrated trying to set the machine up. I discovered a library for socket.io which is fantastic because some of the basic stuff required for a turn-based game are already provided, The best part?. cocos2dx has support for it..

After fiddling around for a couple of days i got comfortable with the Socket.io client in cocos, but the server was another beast. I finally reverted to nodejs. I initially wanted to try it out but backed out because of perf concerns but not any more.. the server can always change.. but i needed something working. So i went ahead and implemented the server in nodejs using the socket.io library.

I was quickly able to get the protocol decided for the game to work. I also quickly did a couple of state animations using cocosbuilder and got the screens ready for gameplay. Over the weekend i was able to find enough time to finally get the server and client up and running.

The problem now was to figure out how to host this server online so i can access it anywhere. I looked at a couple of options...
1) RedHat redshift
2) Windows Azure
3) AWS

I've spent about half a day trying to host the damn app on RedHat redshift service, but with no success. I mean i was able to get it running but was unable to connect to the server with cocos2d-x client. I didn't have the time / patience to figure out why. I tried looking for quick solutions but nope nothing helped. The server was up, the browser was able to connect to it but not the cocos2d-x client which kinda makes it worthless.

The windows Azure asked me for my credit card info and when i was checking it, i was confident that i would be able to get the RedShift thing work for me. But finally i had to give and pick the AWS Free Tiere option.

The best part of this decision was that i finished the setup and testing of the whole thing in about 20-30 mins time. Which is incredible considering how much time i spent trying to figure what was going on with rhcloud.com

Any way just happy that i was able to get this running. Next stop getting more polish in, and trying to see if we can make this look and feel better.

Comments

Popular posts from this blog

Flash animations in GoDot Engine

If you have not heard about GoDot game engine,.. you should check it out right away.. godotengine.org Last time, i wrote a blog post about my experience making a simple physics game to GoDot Engine. Though there are a bunch of free options announced during the GDC this year, i thought ill' contribute to the engine. The one piece that is most important for game dev is the pipeline for the engine. One of the most common tools used for 2D animations is Flash. I have been using a library called Super Animation for almost all the games we've made for android at TMG. It's  a  free tool which lets you convert swf files to .sam files. This file can then be loaded in Cocos2Dx using the Open source loader library  https://github.com/raymondlu/super-animation-samples I thought it would be a good idea to port this cpp library to GoDot so that i understand how to write custom modules for the engine. This is the video of the module in action. I have expos...

Vehicle Physics (Godot 2D)

I've always been fascinated with the vehicle physics used in games. I played so many racing games / the hill climb games and every single time i would wonder wow that must be really hard to do. Thanks to the new generation of game development tools, developing physics based games has become almost a second nature to most people. I didn't want to be left out so i gave it a shot.. I tried setting up vehicle physics in GoDot Engine for a 2D vehicle. Here is what the vehicle scene looks like.. 2D vehicle setup in GoDot As you can see the body collision shape is not right but the rest of the stuff just works. The idea is simple think of what parts move along with the body vs what doesn't. I was kinda stuck setting up the pinJoint2D in GoDot, it actually clearly takes two nodes under the properties. This makes sure that the wheels are hinged to the DampingSpring2D. The Damping Spring2D takes two physics bodies(Body and the PinJoint2D) and makes it work like shock ab...

Gif Animation in Gimp

Ever wondered how to make a gif animation using gimp?? Hmm ofcourse you did.. well even if you did not.. it would be good to know how simple gif animations can be made in this Free image editing software. Here is a sample of what can be achieved. Yes it looks crude.. but i made it in less than 20mins.. so i guess its valid :) any way.. coming to how we do it.. open gimp, create a new image, press ctrl+l this will bring up the layers dialog. In this layers dialog you are provided options to create delete, move the layers. So keep adding layers, each with the next image in the animation sequence. Want to check how your animation looks?? go to filters->animation->playback this will launch a dialog box which has playback, rewind and step buttons on it. Click on playback button and you will see how your animation looks. Satisfied?? just save the animation with an extension ".gif" ..you have to note that while saving you will be asked if you want the different layers to be mr...