lunes, 29 de diciembre de 2014

Entering: Cocos2d-x

So last time, I was complaining a lot about the state of the market, now am actually going to do some development.

I have been trying to learn a tool that allows me to flex my C++ muscles and do some 2D games, I thought about going to Unreal Engine 4,  but UE4 is still on my backlog (perhaps I will get to it once we are done with Pause Play Stop) or even before at this year's GGJ (Costa Rica has a site!!).

Right now, I started looking into Cocos2dx (had looked at it before, but never really got around to actually starting something). I am going to be documenting my progress here so at least I have something to come back to once I FORGET EVERYTHING I DID.


So let's get to it! Getting the thing, right now I am working on Mac OS X Yosemite, so it's already bundled with the latest version of Xcode, if you are reading this and you are working with windows, you can also follow some of the instructions, but you will have to windowsdify them.

Downloading Cocos2Dx and it's prerequisites
This part am not 100% sure,  but it always works to take it into account.
First download and install Python
Then download and unzip Cocos2d-x

I am currently using version 3.3 (latest at this moment) and it seems like it's running properly.

Setting up the new project
Now, we want to setup a multi platform project, so first, navigate this:

Root Cocos2dxFolder --> Tools --> Cocos2d-Console --> bin 

When you are there, you can use the following command  (remember the ./ at the beginning so the system knows it's a command!):

./cocos new --package com.something.darkness --language cpp --directory ~/wherever nameOfTheGame

Where
-com.something.darkness : name of the package for your game
-cpp : we will be using C++ as the language for the game, you can select other languages too!
- ~/wherever: the directory where you want to setup your game
-nameOfTheGame: well... the name of the game

And there you have it! you should have a new folder that contains the code for all your projects (iOS,wp,windows,OsX,android). You can actually open each project and open the Xcode project file to start working!


Next time I will start sinking into the C++ of this new game I am going to work on :)
(BE sure to check this out! http://wizardfu.com/book/cocos2d-x/project-setup/, am trying to use it as a base for my project)

domingo, 2 de noviembre de 2014

About the mobile development market

There's a lot of talk about how the mobile market is gaining a huge market share, a lot of jorunalists talk about this because of pure sale's numbers (http://www.forbes.com/sites/markrogowsky/2014/10/05/iphone-6-launch-continues-hot-streak/ )


True, mobile market is growing, and it will keep growing because mobiles... are nice, you carry a lot of processing power anywhere you go.

But from a development point of view, this is not the future we are looking for. There's a catch with mobiles.The culture around applications doesn't improve, it's either free-to-play or ad-based revenue. This means that you either have a lot of marketing power (that's how you get to beat the top apps ) or a game that has an established fan base somewhere else.

So what does the mobile market need to become a real place where developers thrive? We need help from the platform holders. People who buy a $400  console, expect to pay from $5 to $50 per a piece of software (in this case a game). People who buy a $600 mobile phone, expect to pay nothing or $1 dollar for every piece of software they have available.



Getting the platform holder to actually push games that cost more than a dollar will be very important in the following years, because it creates culture, if people believe that it's normal to pay $10 for a game that will get them a lot of hours of fun and joy, then they will pay it. BUT, this means that the platform needs some curation to make sure that whatever goes in it, is actually worth those $10, and curation costs money (or you can do what Steam does :D).

Another way to deal with this, is less conventional, is coming up with a mobile alternative to the play store, a sort of "mobile" Steam where you could actually put your games, and have control over the economy of the platform, that way, if a lot of high quality products have normal, accessible prices and can be found in that platform, players will come to it, they always do.

Now, I have big hopes for the mobile market, don't get me wrong. But right now, it's a toxic, copyright infringement over populated new world. And we are staying away for a while.  Sure, there are success stories, but the amount of failures and problem just don't justify taking such a leap of fate. Here's to mobile gaming, so that it one become the promised land.


martes, 14 de octubre de 2014

Daily... really??

When I was getting my Scrum Master certification, one of the coaches, Juan Banda, told us a reality about the daily standings...

They are not to talk about work unless its necessary.

Now, I know a lot of you Scrum puritans are screaming at me right now, stay with me for a couple of minutes.


The daily standings are supposed to be used to say, what you did, what are you doing, what are you going to do, and problems if you have any.

Problem with this approach is that it mechanizes the way the team interacts, people start just repeating themselves, especially when working in a game, some days there will be only one task repeated all week (I modelled a lamp, I added some screenshots, I changed the same line of code again).

Instead, this 15 minutes that we have the whole team sharing, should be all about the team sharing, let people talk about whatever they want, if it is about their personal life, let them, let them know this team is the place to be. Usually what happens, is that people are very eager to share what they are working on with their friends, especially if their friends are working with them on this.

So next time you are holding a daily and someone starts complaining about the weather, you should let everyone do so. Exciting things have started with the weather!

*Ben Franklin's Kite may have not been hit by lighting :)

viernes, 3 de octubre de 2014

Estimating, estimating team!

Estimations, estimations. When dealing with business folks, one of the most important things they often ask is, how long do you think it's gonna take you. But anything you say (excepting for things you have done over and over again and thus are not new!) will be a complete guess.

But its something you need to learn how to do, and the best way to do so, is not using formulas, is not creating a spreadsheet, is talking with your team.

For us independent developers, this is a must, we can't expect that a producer will have our schedules set up for us so we just fill the blanks, we must be able to self manage, we must be able to know our own abilities and limitations so we can, AS A TEAM, have realistic ideas of when we can get things done.