Skip to main content

Making games with cocos creator

I've gotten on to my second game using cocos creator and the experience has been pretty good so far. The UI is intutive, and the best part is that the engine is modular. you can literally strip away the pieces that you don't want and build a lean build that is perfect for the mobile web.

The first game i created was an endless runner with a car in it to put mildly :)
One major issue we have been facing was figuring out the particle system. There is a 2D particle system that can render as a flat plane in the 3D world. Fortunately it rotates in 3D and can be positioned in 3D. We had to tinker around but were able to get it to look the way we wanted it to.

The second game is a rolling cube game, with some puzzle elements in it. I've been toying around with the idea of creating these "scenarios" for each section of the game and the user goes through them in a random order and it creates a good feel of randomness. This will eventually be used for creating a scenario based FPS game for the web (my next target). Have to see how this pans out.

The second game required me to create animations in blender and import it to the game engine.
I ran into some roadblocks, not because of the engine or the exporter but the way these things seem to work. A big note to self though is that

Check for Missing bones: 
"If there are key frames inserted for deleted bones in an NLA animation, blender doesn't delete them when you export the animation. It is marked as error and skipped" This got me pretty bad and i lost a lot of time debugging it.

Ensure draw calls are minimal:
This is a no-brainer to anybody who has done any level of unity dev and looked into optimizing their solution. I was using assets from keeny they are amazing but they have multiple materials in one single object. i had to setup a common texture for all the env blocks to ensure that the draw calls reduced.

Test Often:
I was pretty focused on getting the game done, so didn't really put too much effort into testing the performance on the phone till very late. I would recommend that you start doing it right away to ensure you dont' run into roadblocks close to the end of the project.

Setup Templates:
In just the two games i made i was able to see that i can create template node structures for the menus in game. Will reduce the time spent re-doing the same things again unless your game is very different from the previous one, the menus will probably be very similar, try to re-use .. it saves a bunch of time. 

Comments

Popular posts from this blog

Epic Games Store on Steam Deck

EGS ( Epic Games Store ) like it or hate it, has been giving away free games and if you like free games you would have picked up atleast a couple of them. So given that some of those games are Deck Verified / Playable, its fair to assume you would like to install the EGS on the Deck.  Installing EGS on Steam Deck Switch to Desktop Mode on your Steam Deck Download the EGS installer for windows from the Epic Store website: https://store.epicgames.com/en-US/download (using your web browser of choice)      Open Steam in the desktop mode and add the installer as a non-steam game                                In the browse window, switch from .desktop files to All files. Select EpicInstaller-xxx.msi and add it to steam library. Find EpicInstaller in your steam library and open its' properties by hitting the "Gear" icon on the right side of game details page. Set the proton compatibility to latest one. Now hit the play button and go through the install screens of EGS.  Once t

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

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 exposed