A Quiver of Crows - [Steam]

Hey Everybody!

My team and I have been using cocos2d-x for almost 2 years now and we just launched the Steam Greenlight campaign of our second cocos2d-x game: A Quiver of Crows

We’re currently using cocos2d-x version 3.2 and we eventually plan on updating to the latest version. Since this is a twin-stick shooter we added controller support on Windows/Mac/Linux. If you’re interested in the code for that, check out the patch we uploaded here: http://cocos2d-x.org/issues/4689
Also, if you’re interested in learning about our overall development environment, check out the article we wrote a few weeks back: http://cocos2d-x.org/news/392

Thanks for reading! And please let me know if you have questions or feedback about the game!
-Chad
P.S. For those of you unfamiliar with Steam, it is one of the most popular digital game portals in the US and Europe (if not the most popular). Steam Greenlight is their program for helping indie developers get approved for Steam. If our game gets enough votes, then we’d be allowed to sell our game on Steam.

5 Likes

Awesome game, got my vote for Greenlight :smile:

I like the art style very much, really great work.

I created a new issue on github since we stop using redmine sometime ago. we’ll definitely add controller support for all platform at some point.

Also please let us know if you have any suggestions to make cocos2d-x better :sunny:

1 Like

Thanks for the support nite!
=]

Cocos2d-x is awesome. Looking forward to official controller support for desktop platforms.

We got greenlit!!
Thanks to whoever voted for us!!

Oh man I dig that art style.

1 Like

Thanks Toby =]

hey All,

It’s been a while since I updated this… We’re now in our 15th month of development and we’re still chipping away at the game. Our Steam coming soon page is finally up - which feels great! If you’re interested in the analytics and analysis of our Greenlight campaign, check out this post I wrote a few weeks after we were greelit.
Also, we’ve recently started doing developer let’s play videos:

We’re probably 70% done with the framework/system coding and about 25% done with graphics/level creation. Working with cocos2d-x has been great so far, BUT it seems that desktop support is not a priority for the cocos2d-x team. Luckily, it’s open source :smile: and so we’ve been adding the features we need slowly, but surely to our own v3.4 branch of cocos2d-x. We’ve spent more time on controller support (see github issue here) and now support multiple controller types. There are a few desktop related bugs too, which we are ironing out as we encounter them.

Anyway, that’s it for now. Please reply if you have any questions for me or maybe some handy desktop development tips or anything for that matter!
:dog: :wolf: :mouse: :baby_chick: :fish: :dolphin: :snail: :pig: :hamster: :frog: :whale2: :tiger: :koala: :bear: :octopus:

1 Like

The game is looking good. I like the Dev Videos.

A few things.

  1. Why are you using a custom version of cocos2d-x? What features did we lack for you?

  2. You might want to consider moving to v3.8 when it comes out. This is a stability/bug fix/polish features release. We should be about very soon.

  3. Can you share with everyone how you are using Cocos2d-x and Steam? Most folks here seem to be developing mobile games so using Cocos2d-x on Steam might be an interesting read for a lot of us.

Best of luck. Please let me know if I can help you with anything community/development related.

Thanks slackmoehrle!

To your notes and questions:

Why are you using a custom version of cocos2d-x? What features did we lack for you?

The main reason I created a branch was after I realized that desktop support wasn’t a priority for cocos2d-x. A cocos2d-x team member made that pretty clear in this github issue - which remains unplanned. After creating our branch, we’ve slowly been adding more features and fixes, most of which have yet to be implemented in the latest version of cocos2d-x. You can see the commit log to our branch here to get an idea of the type of stuff we’ve been adding. To summarize, its included desktop related bugs, culling when in 3D mode, camera adjustment, and controller support.

You might want to consider moving to v3.8 when it comes out. This is a stability/bug fix/polish features release. We should be about very soon.

As we approach beta, I’m trying to lock down our code base, so I’m not sure I’ll get the chance to merge the latest from v3.8. Things have actually been pretty stable.

Can you share with everyone how you are using Cocos2d-x and Steam? Most folks here seem to be developing mobile games so using Cocos2d-x on Steam might be an interesting read for a lot of us.

Here’s a post I wrote a few months back. It covers all of the different frameworks and tools that we use to develop our game. Nothing has changed in our dev environment since then.

:smile:

Hi All,

Just wanted to drop a quick update. The game is coming along well - check out our latest developer let’s play:

Thanks!
:hatched_chick:

Pretty cool, I’m glad to see a developer putting out a cocos2d-x based game on Steam. I’m considering putting one of my games out on Steam in a few months, thank goodness I don’t need controller support.

Good luck with sales, looks like a fun game!

Why is that?

I’m not sure if you’re asking why my game doesn’t need controller support, or why it’s good that my game doesn’t need controller support, so I’ll just answer both:

  1. The game is just a tile-based puzzler, so using a controller would be awkward. Touch on mobile and mouse+kb on PC is the most natural way to control it.

  2. It’s good that I don’t need it, because as far as I know cocos2d-x still doesn’t have multi-platform controller support. Since I’m using cocos2d-js, it’s also not trivial to just grab some other controller library/api and integrate it into my game.

I meant this, but thanks for answering both questions!

That’s what I had in mind, as I read your “thank goodness” post :smile:
It sounded like you had a hard time integrating controller support in a different project.

Thanks @qwpeoriu

For anybody that’s interested, I updated my cocos2d-x branch (linked above) with SDL-based controller support, which so far seems more efficient and supports the Steam controller.

Howdy!

Just want to post another quick update:

Latest developer let’s play:

Here are some more details: Progress Update #26

We’ve got the game running in Steam on Windows/Mac/Linux and most things are coming along smoothly. The main cocos2d-x feature we’re going to have to add next ourselves will be toggling between windowed to fullscreen. Also, some of the audio rendering is lacking on Windows, but I’m not sure we’ll have enough time to improve that by launch time.

We’ve been having some performance issues on Windows as well, but we’ve made some improvements there by switching to SDL for the controllers and applying finer Sleep resolution as described here: Cocos2d-x Windows performance issues examined
There are still some performance issues (such as unexplained occasional lag on Windows with some Nvidia cards), but on most environments we’re running at a stable 60fps now.

That’s it for this update! Thanks for reading!
:frog:

1 Like

Hi All,

We’re only a couple of months away from completing our game (we’ve been working on this for over 2 years now)!
Here’s our latest developer let’s play:


And here’s our latest progress update post:

For anybody wondering, the most recent desktop-support changes we’ve added to our cocos2d-x branch include:

  • getWritablePath fix for OSX - thanks @slackmoehrle for helping with an official pull request
  • controller hot-plug support
  • GLFW 3.2 for window resizing and fullscreen support
  • other fixes and optimizations

Thanks for reading and following our project!
:frog:

This looks great! My game just got greenlit (http://steamcommunity.com/sharedfiles/filedetails/?id=608100059), and I’m excited to be moving to Steam. My target release date is August 16th.

I was wondering, I’ve always worked in Xcode and have very little experience with Visual Studio. I can run the exe that is generated in the Release.win32 folder, whether I’m in VS or not, and now I’m trying to learn how to create a deployable package and how to link to Steam.

I’m using cocos2d-x version 3.10. Do you know of any good documentation that covers creating deployment packages in VS from the cocos2d-x files? I’m reading through the Steam SDK to learn more about that.

Also, do you know of any gotchas as far as cocos2d-x and steam go? I’m not using a controller, and so far, my mouse and keyboard support seem fine.

thanks!

Nice! and thank you =)
Congrats on your greenlight!

In my opinion, cocos2d-x v3.x is not ready for shipping on desktop mostly because of the following missing features:

  • switching from fullscreen to windowed
  • volume controls don’t work
  • some missing optimizations

Depending on your game though, maybe you can get away with not having these. If you need them though, feel free to grab the changes you need from my branch (linked above) - see the commit history for the changes.

As for deploying to Steam, I pretty much just followed the Steam docs for linking to the Steam API and just uploaded my Release build files and along with the necessary libraries my games uses.

Hi All,

I wrote a post about the Cocos2d-x development environment we use and the modifications we made to create A Quiver of Crows for Windows, Mac, & Linux. Hopefully this can be useful to others who are making a desktop game.

Developing a 2D Game for Windows, Mac, & Linux with Cocos2d-x

The game’s development is finally complete and we’re now preparing for an October 19th launch on Steam!
Wish us good luck!

1 Like