[What happens when an indie team's ambition spirals out of control but the game doesn't connect with an audience at the end of the project? In this candid postmortem of Spanish-developed PlayStation 3 downloadable platform title Zack Zero, two developers who started with a small idea that grew and grew share their experiences.]
We started working on Zack Zero in early 2007. At first it was just a two-man team (Carlos Abril and Alberto Moreno, a.k.a. "Grihan"), although in late 2007 Carlos' brother, Nacho Abril, joined the project.
Our initial plan was to make a game with the structure of Carlos' first commercial game, produced over 20 years ago in the 8-bit era (called Phantis in Spain and Game Over II in other countries).
The idea was to make a platform game with 3D graphics but a 2D game structure. Something simple that would take a couple of years to develop for PC and thus have an initial team, structure, engines, tools, procedures, and an introduction for developing our second game for consoles, a world that was foreign and unknown to us.
However, we ended up making our first game for PlayStation 3, which took three more years to develop than what we had initially planned.
1. Use of Our Own Tools and Technology
It's not quite clear to us what would have happened if we had founded Crocodile two or three years later than we actually did. Maybe with the affordable tools and game engines available between 2009 and 2010, we wouldn't have had to build our own engine and tools, spending all the development time to create only the game.
But at the time we started the company, there were no cheap and accessible game engines for small studios, so we started designing our own. Nonetheless, building our own technology did give us the chance to access a grant.
Crocodile Entertainment's first year was practically dedicated to building all the tools and technology needed for the project. While we were looking into game prototypes, we were also creating the necessary tools to make the art and design tasks easier and independent from programmers.
The first preliminary versions of the engine exported too much information from the 3D software, but slowly we were able to improve our tools making almost everything editable in real time: moving and scaling objects in game levels, delaying and establishing offset parameters for animated objects, particle systems, shaders and materials, etc. Also, all enemy mapping and enemy generators could be placed in-game, controlling the enemy flow, and with the help of Lua scripting, a complete level could be set in real time.
2. A Good Distributed Pipeline
Not having offices has always been a problem while developing the game, although it did make us improve our pipeline, looking constantly for better ways to manage communication and task organization.
Only three programmers have worked on Zack Zero, all of whom were partners in the company: Carlos and Nacho Abril, studio co-founders, and Diego Garcés, who helped us with the enemy AI.
The biggest communication and organization challenge was amongst the art team. During the main production year, the team had two concept artists, one animator and two 3D artists, while some assets were outsourced. Without a dedicated producer and with no offices to resolve any doubts that could arise, it made us work harder in the description and design of the graphic assets we had to create, since we tried to meet only once a month. Since some team members lived far away, we didn't want to waste precious time traveling and attending too many meetings; that's why we defined each month's tasks in detail in each meeting.
This was possible largely due to the work of the concept artists, since they had to help us visualize all the environments, characters, props, etc. For every game asset, however small it could be, we had to work with concept artists to find the appeal we wanted.
The goal was to give 3D artists and animators enough information about what to do and how to do it before returning home; this way we would avoid daily task revision and tedious telephone, instant messenger, or Skype explanations. This was more difficult with animation tasks, especially with character animations that have direct impact on gameplay. In these cases trial and error play a major role, as do good communications between the programmer and the animator -- something Alberto had to personally supervise every day.
When we started the project, the software we used for task management was MS Project, using email to communicate tasks to the people scattered in different places. That did not work. Communication is crucial.
Later, we made a macro of the list of tasks, organized by user and priority, to upload to the wiki, with colors and comments to improve visibility. Wrong. We got neither feedback nor comments. We did have regular staff meetings with the task lists and work layout, but on a day-to-day basis it was impossible because of the overlap.
Later, we began using Google Docs. Things improved communication-wise, but soon visibility was lost and the document became impossible to read, despite being organized into different sections.
We then turned to Basecamp, but eventually switched to Teamwork (we changed because Basecamp worked terribly on iPad, and at the end of the day it is good to review the check list, make comments, prioritize and do all those things sitting comfortably in a chair). It really is much more productive, more participatory and does not require a dedicated producer.
Each person could put in their own tasks, everyone saw everything and could make comments, view them and reply, so people could see the changes and feel more involved. When you finish a task or make a change, it appears in the general list of changes sorted by date, so arriving early in the morning you could see what people had done, comment, see the result and see if anyone needed anything. And the people from Teamwork were very friendly and quickly included some features we suggested in the product: for example, that in the task list, the little icon to include a comment for each task is shown in green if there any new comments that you had not read. This is very useful for reviewing the list in the morning or late in the day.