What do you reccomend for me? (given my personal baggage)

(I’m sorry for the long post, I know, I know…)

So, here I am, after short of 10 months of researching on and off, I’ve finally managed to book myself some time to sit and start making games for profit. Now, when I mean “rearching” I mean “reading about just about every friggin’ html5 or otherwise cross-mobile-platform game engine/framework there is out there”. Free ones, paid ones, mixed licensing polytics ones, open sourced, closed source, you name it I’ve read about and/or seen code and examples about it, as well as how it has evolved over the time, what kind of communities foster on their forums, etc.

And after all that, I’ve decided to go the cocos2d-x route for my developing endeavors.

Problem is, of course, I’ve read too much about everything else but not enough on cocos2d, I need to start coding ASAP and I’ve got a couple of dobts that simple forum searchs are not sufficing to answer.

Now, I’m gonna go crash since I’m way over my coherent-functioning-hours, and when I wake up I’ll probably start digging slowly starting from here. In the mean time, I would gladly appreciate any advice you people might want to collectively give me, keeping in mind my current weakness, strenghts and goals:

  • I want to make a game, 12 months top coding time*
  • The game shall be a turn-based-strategy game in 2D, sort-of-top-down view (2.5D, technically)
  • The game shall feature multiplayer capabilities**
  • The game shall feature AI opponets
  • I have a very solid grasp of C#, a bit more than a beginner’s JS, a very poor Java, pretty much no C++ , and no Object-C at all
  • My must-have deployment targets are browsers and iOS, second comes Android, then anything else available
  • I’m mostly targetting the local market, which means mostly old devices, so no-plugin, low resource consuming and high performing solutions are a must***
  • 0$ budget is all I can afford ATM sadly, so no licences and only free-hosting solutions for me
  • Revenue shall be made via advertisements and IAP which’ll remove ads and unlock extra game features

*I know, I know, starting off with a rather big project as your first commercial game is a rather bad idea, but first 2 to 4 months are going to be used mostly for prototyping other~~much- smaller games and getting to know the engine, it’s taken into account in my planning
**I have a solid theoretic understanding of networking protocols and a bit of a begginer’s understanding of Node.js, and I’m thinking that, if possible, I’ll just use pomelo (pomelo.netease.com) for server side (but I’m VERY open for suggestions on server-side technologies
***This is true to the point that up until recently my favourite framework was limeJS, simply for it’s DOM-rendering capabilities

And that’s pretty much it, if you’ve got any suggesstions, tips, reccomendations, personal experiences you want to share or anything at all that might make my life easier then BY ALL MEANS write here! :smiley:

Thanks!

PS: Also, an additional doubt I have is regarding the chosing of tools. I was just going to grab good’ol notepad++ and start coding away, but I wonder if you guys have a preferred tool for cocos2d-x developing (for any of the possible languages, for what I’ve read so far I think I’m gonna go with JavaScript, but that ain’t written in stone). Also, I’ve seen this page (http://www.cocos2d-x.org/hub) but I don’t know which tools should I go after that’d be of benefit of me… Should I use CocosBuilder (althought it looks to be only for mac and I’m running windows?)? The only-in-chinese-for-now Coco Studio? The alpha-in-kickstarter Cocosino? Is Tiled a good and compatible editor? I’m at a loss here ’^^

PS2: something that is not entirely clear to me is this: if I make a game with cocos2d-html5, can it be ported (using javascript bindings?) as native application to the platforms supported by cocos2d-x? Or am I reading it all wrong?

Well, this is me answering myself, 7 months from the future:

First of all, you idiot, learn to post concise questions! No wonder no one answered your post!

About the engine:

  • Cocos2D-HTML5 is the JavaScript port of Cocos2D-X (which is made in C++), and HTML5 games made with it can be compiled (using JavaScript Bindings, aka JSB) into native iOS and Android applications (I’ve seen guides explaining the proccess, but I still have to try to do it myself), and supposedly to other platforms (like BlackBerry) as well. BUT: the installation for compiling and testing Android seems to be quite a pain in the ass, and there’s no way to compile and test for iOS unless you have a Mac D:
  • The WebGL renderer seems to be extremely slow, but the canvas renderer seems to work well, even on mobile devices (audio support is kind of weird still, but improvements are made as they become possible).

For learning:

  • For learning JavaScript: codecademy.com
  • For learning Cocos2D-HTML5: (currently) the articles in the wiki/docs with the API documentation are the best source. The “test cases” in the “cocos2d-html5/samples” folder are another great source, and don’t be afraid to look at the definitions of the classes themselves.

For working:

  • For editing code: it turns out, Brackets.io has been greatly improved since last time I tried it! And currently, if you add some plugins it does everything I missed from other editors. For anyone stumbling upon this post, I’m using these plugins: Beautify, Brackets Language Switcher, CSSLint, Indent Guides, Interactive Linter, Match Highlighter, PHPLint for Brackets, Select Lines, Simple JS Code Hints and WD Minimap.
  • For creating maps: just use Tiled
  • For creating GUIs and other stuff: there’s CocoStudio, but you can do without it
  • Using Git is not that difficult, specially if you use SourceTree as a GUI, and it does save yourself from time to time
  • Don’t be afraid to use the latest version of the engine cloned from gitghub, some cool stuff and bug fixes are usually waiting there for you

For multiplayer:

  • For turn based games, XmlHttpRequest and a cheap (or free) PHP server is all you really need
  • websockets support should be ready too, so node.js is a viable option as well (but I haven’t propperly researched it yet)

For ads and IAP:

  • I still need to read up and try things, but placing a google ads banner in your self-hosted page, or submitting your game to gamejolt are good ideas and easy to implement

Misc tips:

  • JavaScript is actually a pretty comftible languange ONCE YOU GET USED TO IT. Plus, the “classic inheritance” implemented by Cocos2D-HTML5 makes it very easy to adapt for people who are used to OOP
  • Learn to use Chrome’s and Firefox’s developer tools
  • Always test from a webserver! Specially for Chrome (Firefox seems to have no trouble getting local files most of the time, but in case of strange errors, you better check)
  • You should start by prototyping all kinds of ideas and build a small reusable codebase, organized in classes so you can speed up the proccess for future projects

And that’s pretty much what I wish someone had told me 7 months ago. Carry on!

Thanks for answering your own questions 7 months later @ZippoLag I appreciated your responses.
I too started a JavaScript game using Cocos2d-x a few months back and had the same questions you did.

I’m now looking into multiplayer. Do you have any new news regarding that front? Particularly real-time multiplayer games.

Thanks!

I’m glad it helped someone :smile:

No, I’ve never done online multiplayer so far, there are many options depending on which platform you want to target, but I’m not sure about things available from the Cocos API directly.

Well seems like nice post to get timline info od developer… :smiley:

@efares I am also working on realtime multiplayer game using sockets on c++.
But for Javascript your best bet is websocket and SocketIO and Cocos API supports both with their implementation.

@padmnabh Ya I read too that Cocos API supports websocket and SocketIO and I intend to use those with node.js. I just don’t want to “re-invent the wheel” and try to find a good framework to work with.

I think I’m gonna go with Pomelo unless you know of any better one? I know there’s Maple.js but I think Pomelo is better supported.

@efares No i don’t particularly know any Js framework but yes “reinventing the wheel” is not a good option as I am using CocoaAsyncSocket for my core sockets in c++ so Pomelo looks right to me also by initial view.

Ya but is there a lot of community support for Pomelo?
Like if you get stuck somewhere is there an active community to help you with it?

Well as I said with initial look so i definitely doesn’t know much about Pamelo so not sure about those things.
What I am saying is yes those tools could be helpful at times.