Phyne Games is an independent video game studio from Mexico City. The studio was born from the desire we have to make games that express our culture - Mexican - but also be fun.
Mictlan was created in a Starbucks, Yahir and I started brainstorming and by the end of the day we had a clear objective: to finish our first game. And a few months later, we made it.
What went right?
Development tools and target platform
At the beginning of the development, we had three things clear: create a wall defense game, with the Día de Muertos theme for a mobile device. Then we picked Windows Phone 7, it was a new platform with few games and the most important thing; we had the tools to make a game without any need to pay anything.
XNA 4.0 SDK and Visual Studio Express are free. We used the Professional edition of Visual Studio because for students it is free along with the 99 dollars fee that Microsoft charges to publish apps and games on the Marketplace.
I had previous experience with XNA in XBox 360 and Windows, some of my university projects were developed with XNA and I felt prepared to use the same technology on WP7. If we had chosen iPhone, I would have had to spend development time learning another technology.
XNA uses C# as a programming language, I had a JAVA background so C# was a natural step. Despite the high level order of C#, we never had serious performance issues on the mobile device.
As with iPhone, having a standard hardware specification on WP7, saved us a lot of time that had been devoted to adapt the game to many different devices. Despite the promise, when Mictlan reached the Marketplace we noticed that French players were having problems running the game (our average grade in France is 1 out of 5 stars) and the comments said that the game screen was blank. After investigating, we found out that other developers are having the same problems … weird.
XNA and C# were a great combination for Mictlan, besides being almost the only alternative (Silverlight is another one). At the end of the development, we made a couple of prototypes using Unity 3D and we loved the engine, we are considering using it for our iPhone / Android / Web games. The bad news is that there are no signals of Unity 3D for WP7.
Art style and theme
When people first sees Mictlan their reaction is: “It looks amazing”. When we designed the game we had very clear that the visual style should be very Mexican but without being too local and not appealing to the foreign public. There are a lot of Mexican elements in the game that we think are very subtle, I mean, there is not a Mariachi Sombrero everywhere.
The art in the game tries to share with the players the joy of death from another perspective, one that is more active, fun and with humor. Our main character, Luno, is a mix of a common Mexican kid with the contemporary universal kid.
During the adventure, the player will notice the Mexican landmarks with a "Muerte" treatmen. Some people will recognize them, and others will see them as beautiful buildings from Mictlan.
Yahir and I had a lot of problems with our schedules in order to work together, generally, the important talks happened at a Starbucks or during lunch time. A great tool that helped us to never lose touch was Yammer, is a free site where you can communicate with a team via the traditional ways of a social network, direct messages, posts, etc. We also used Yammer to upload the assets. GTalk and Skype were other great tools but the official channel to communicate and share anything was Yammer.
We used a GitHub paid account as a project repository, for less than 10 dollars per month we had our project safe on the cloud. I was the only one who used the repository, Yahir and Enrique uploaded the assets to Yammer, then I added them to the project and then pushed to GitHub. The important thing is to be sure that you have a back up of your project.
Team ready to dismiss broken stuff
During development, we ran into things that didn't work or looked bad in the game, when this happened, we were open to dismiss or change the stuff that may affect the game in a negative way.
This attitude is important in a development team. When we worked in other game projects at school, some people thought that every comment was offensive and some of them just left the team. It is very important to have brilliant artists, programmers, designers, musicians, etc. But is also very important to have a team that is willing to make everything to finish an amazing game.
Game Jams and Dev Houses
We had some stages where our productivity decreased. Because of school or work, our progress was small. We attended a Game Jam and some Super Happy Dev Houses that helped us with a boost.
These events helps a lot with networking (we met Enrique Ibarra, sound designer, at the Global Game Jam) but also to get some feedback from people that knows about games, programming and whose perspective is very valuable. There were major advances on Mictlan during those events.
The general recommendation to everyone is that you must attend to those events, there is a lot to learn and share. I know that a basement is a great place to code, but interacting with bright people helps a lot.
What went wrong?
Not having a handheld device for testing
The very first thing we learned from Mictlan development is: you should not make a game for a platform that you don´t have in early development stages. Obviously there are some exceptions, for example if you are making a Unity game for iPhone and only have Androids, it is ok to test. The thing is that you have three months of development and you only test on a simulator in the computer. When we received a WP7 device to test, we found many things that were too small for the screen and that the gameplay was affected by the user´s finger. So we made several changes to solve the problems.
Having a Phone did not solve all our problems, because I was the only who could test the game every day, Yahir could only test it a couple of times per week. Now, this will be a priority, having enough devices for the development team or multiple builds so everyone is able to see the game.
Nobody was in charge of marketing
Very important! This point is probably the one that hurts us more now that Mictlan is in the Marketplace. When we launched the game, we were very confident that we did not needed marketing because it was not a saturated catalogue out there. Big mistake, and even if it seems obvious, I really want to emphasize that is a must to have someone in charge of sharing the news to websites, magazzines, twitter, facebook, etc.
As an example, when Mictlan had two months on the marketplace only 350 people downloaded the game, when I took some time to share about the game, we received 2,500 downloads in just a week.
Long development time with no deadlines
When we started Mictlan, we thought that in about three months the game would be finished. It was our first big project and we had no idea how to project the duration of the development time. The worst part is that we carried our bad planning until the end of the project because after every big advance, we thought that we needed just a couple of months more to finish.
Now, we are going to implement some agile development techniques. I worked at a company for nine months using SCRUM and it would have helped us a lot with Mictlan. Here, I can recommend two books for every game developer out there Agile Game Development with SCRUM with an amazing explanation of SCRUM for game development and Practices of an Agile Developer with tons of invaluable advices for developers and how to do more with less.
Our QA process was scarce and came at the end of the development (three months before completion). Friends, family and colleagues helped us to spot bugs and improvement opportunities. For example, the previous GUI was confusing, so we added effects and new elements on the hud to make the game easier to understand.
Also, we need to automate the way we get feedback from players because the comments on the Marketplace are not enough to track bugs, maybe sending reports to a web service. I´ve been checking Get Satisfaction (https://getsatisfaction.com/), Draw Something uses it and this can be a great alternative for us.
Enemy Spawner / Balancing
The Enemy Spawner never convinced me, in fact the first version was too random, with few ways to change its behavior. The next iteration is a different story: there is more flexibility to balance the game, those parameters comes from an XML file that can be modified by almost anyone.
We want to implement a way to balance the game without the need to generate a new build. At least for testing, the game should be able to connect to a web service and retrieve the XML files, then via mail or something else, the tester can send the feedback and we just need to change the values on the file and restart the game.
Mictlan is our first game and we are very happy with the response from the players, there is a lot of positive feedback that makes us smile but also the negative feedback makes us realize that we have a lot of work to do in order to deliver the perfect game.
Now, we are a solid team, in fact we have invited some guys to come abroad. We are very excited with what is coming, we want to experiment with new things. With what we have learned, is an amazing moment to take the next step and create something more ambitious.
Personally, I want to invite my fellow Mexican game developers to share their experiences so we won't make the same mistakes again. There is a lot of talent in Mexico, now is a great time to collaborate.
La versión en español de este Postmortem está en: blogs.phynegames.com