How we develop video games?
The experience of our team on large scale projects (not necessarily about video games) have taught us the importance of project management, risk management, the use of development methodologies, issue tracking systems, documentation and to have order in the process.
We develop video games with large influence on software development; primarily we use Agile (scrum) as development methodology with redmine (issue tracking system) for managing our projects.
Designing a video game is the most important phase in its development because it is the moment where game mechanics, market analysis, user profiles, pricing model, game story and milestones are defined.
At Amsgames, when designing a game from scratch, we begin with the creation of a GDD (Game Design Document), followed by the creation of a paper prototype (if applicable) and the quote or estimate for the development of the game.
Golden Black's kickstarter presentation from 2014.
Rocket Surfers's prototype, sprint development example from 2013.
Project management with an established development timeline are key for a project’s completion.
At Amsgames, when developing a game, we setup sprints based on the project’s scope to iterate and have the game tuned and tested during the process. We focus first on achieving a playable prototype with the base game mechanics and then we proceed on adding the rest of the features.
Testing & QA
Most of the testing we do uses the Adhoc testing methodology, testing is done after the completion of a sprint or the completion of the project’s development. Depending on the project’s scope, we may use Test cases methodology to test the basic mechanics and expected user behavior.
Technology we use
Our development team is specialized in the use of Unity 3D (game engine) and is more than capable of utilizing other engines according the client's needs. We use Maya and Blender to create our 3D assets, Photoshop and Illustrator-like software for our 2D assets. Our audio compositions are created using Logic Pro and Audacity; and any web based game API is developed to be RESTFul with PHP (Laravel).
In term of communication and management, we use Redmine as our issue tracking system, Git based repositories (like GitHub or Bitbucket), Google Docs for documentation, and Slack, Hangouts or Skype for meetings and team communication.