The path of a game developer is full of surprises and challenges. You can walk it by yourself, but I was fortunate enough to start my journey with a team, within my own company. This is the story of our first game, and how a group of seven CS students made it into the gamedev world starting from nothing.
Jumping Into Gamedev
Gamedev seemed like dark magic to me.
I was entering the second year of my Computer Science course when I was invited to join a group of students willing to found a game developer company. Back then I knew the basics of programming (in C) and gamedev still looked like dark magic.
I always loved games, so I accepted the invitation. In 2004 we founded Decadium Studios, composed of seven students, all programmers, no artists. Some of us (not me) knew a little bit about game development. We brought our personal computers to a room in the university technological incubator and started our journey.
First Things First, Right?
Our idea for a first project was a 3D game, a futuristic MMO highly influenced by Ultima Online, something insanely out of our reach at the time. During our first meeting, we discussed what would be required to bring our idea to life.
One member of the team knew about game engines, so we decided we needed one and that we had to make it from scratch.
I don't really know if we could have found a free game engine back in 2004 - especially a 3D one - but it never occurred to us. I clearly remember that one of the tasks after the meeting was:
We must code a linked list; it will be useful for our engine!
For some reason, we decided to put the 3D project on hold and work on a 2D turn-based browser game. It was a war game, played in the Japanese feudal age, that we eventually called Ryudragon. Again it was a huge task, but our naivety kept such things as technical limitations and a business plan away from hindering the idea. It sounded possible (and cool), so we went for it!
A Team Is a Vortex of Shareable Knowledge
During the next eight to ten months we worked on Ryudragon. Even though we were each extremely inexperienced, one person in the team knew about databases, another knew about PHP, another about game design, and so on. Mixing it all together produced a fully playable game, which was fun!
Since we had no artists, three programmers with some drawing and designing skills worked on the visuals. My three tasks during the whole project were very simple, since I knew nothing about PHP or databases: a newsletter system, the in-game news board, and the extremely boring task of converting raw HTML into dynamic PHP code.
I was not very proud of my results - they were not even related to the gameplay - but I learned a lot from the team. We worked in small groups (programming, database, art, and so on), but we had frequent all-hands meetings.
This structure let me learn from others in a natural way; it was great! Even though my skills were not enough to implement the game combat system back then, I still got inspiration, tips, and knowledge from those who were working on it.
The Release and Rise of Our First Game
By the end of 2004, Ryudragon was released. We posted about it on every forum and chatroom we could find and the response was great. In a few months, we had around a thousand players - not bad for a small team of young developers. The game became popular and we partnered with another gamedev company.
The partnership helped us improve and promote the game. We got coverage from the city and the state press. The Last Samurai movie launched in 2003, which boosted Ryudragon's adoption since, like the game, it featured samurais and Japanese culture.
At some point we managed to join UOL games, one of the largest internet portals in Brazil. That was far beyond our wildest dreams!
Ryudragon became well known and reached thousands of players every era (a two month game period), with an average of 500 simultaneous online players. Decadium was strong enough to pay for an art team, so we re-worked all the game art. The profit we got from the game helped us keep the company running for the next few years.
Compare Your Evolution With Yourself, Not Others
I was a member of the programming team, but I knew nothing about PHP. So I read a lot about it. I visited forums, read code snippets on the PHP manual and borrowed books. It all helped, but my learning process was boosted by my workmates.
Every day I learned something new, by reading the game code or by watching someone coding.
When you work as a team, somebody will frequently ask for feedback or help, and this all adds up to help you learn. I improved my coding skills over time and discovered several topics related to gamedev. In game design, for instance, it all made sense when I discovered that a game should be easy to learn and hard to master, with difficulty spread as an ascending curve.
In a team, it's also inevitable to compare skills and performance. As Ryudragon evolved, so did I, but so did everybody else. I became better at PHP and databases and slowly worked on more complex tasks, but I couldn't ignore what the others were doing.
One of the things I did right was to avoid comparing my skills against others in the team.
It would be unfair and painful to compare. Our lead programmer had way more experience, so I only compared my current work with my previous work. That helped me see my evolution and kept me motivated to learn even more. I saw skilled workmates as examples; I was trying to become as good as them.
In time, that happened! The game development process was no longer dark magic to me. I implemented new features for the game, helped maintain the servers and the community forums, and more. By the end of Ryudragon's lifespan, I was its lead programmer.
Being Naive and Inexperienced Is Great
When I joined Decadium I knew nothing about gamedev. Some members of the team knew a little bit about creating a game, but we were all naive and inexperienced. For us the definition of a game was something extremely complex and in 3D, a typical AAA. Concerning development I didn't know about casual and smaller games, which would have been within our reach.
It’s kind of fun to do the impossible.
Our naivety helped us. Using passion as our fuel, we developed a great game. There is no doubt we felt miserable during the development process, because real life was showing us that some tasks cannot be accomplished with a small team, especially without artists. Did it hurt? Yes, but it taught us and shaped our minds.
What I Learned
Starting my game development path with a team was amazing. We all had something to share and a lot to learn. Even though I've read many forums and joined several gamedev communities, the ability to exchange ideas with someone close to your desk is priceless.
I jumped into gamedev with no previous experience. All I knew was the basics of programming, but it was not related to games or graphical applications. I had to learn about games, their organization, how they are made, and what roles are involved in the process.
If you want to make games, you can do it! Don't think the lack of skills or knowledge is a problem, it's just a stage in your path. Find your pace and keep learning, making game after game.
Naivety is not a problem; it can set you free to reach higher ground.