We've had some great positive feedback in recent weeks about the game itself and our recent June release. Amusingly, one of the comments we've heard repeated is "Wow, you guys have been working on this since 2004? That's some intense dedication!". We've heard this from both people that are exposed to Allacrost for the first time, and from people who recently rediscovered Allacrost after playing one of our older demo releases years ago. With these comments in mind, I thought I'd address two general questions that people have about us and this project.
What's taking you so long to complete this?
There are dozens of different answers to this question. The most common response we give is a reminder that everyone works on this project in their spare time. We all have lives outside of this project and sometimes life gets in the way. And not everyone sticks with this project forever either. Some people work during the summer in between semesters of school, others find themselves getting married or becoming parents and no longer having the free time necessary to dedicate themselves here. We perpetually need new people to join our team to replace those that are left, and this really takes a toll on our development pace. We don't have a large, active team like some other open source projects do. I wish we did though.
Another reason I think this is taking longer than expected was that the choice of our development model was initially poor. In the past, our development used to be much more "closed". We only did official releases instead of our unstable/development ones, meaning that there was often several months between releases. The majority of our forum topics were private and internal only to those already on the team. To get on the team, you had to submit a formal application and pass a rather thorough acceptance review. And so on. While this type of model may work for some, it was definitely not working in our favor and it took us much too long to realize this and change our ways for the better.
The scope of this project is also a big factor. In the beginning, the vision I had for Allacrost when we were starting out was much more simple. I saw basically a game with the same mechanics as Final Fantasy VI, but with a much improved battle system and other significant differences. But over time, we've let new features creep their way into our plans and the scope of this game has gotten pretty massive as a result. Some examples include using OpenGL for our graphics back-end, switching from a tile-movement system to a free-movement one, eliminating random encounters off of maps and replacing it with enemy sprites that roam around, etc. Our artwork requirements were initially outrageous as well, and I had to have some sense kicked into me by others before I accepted it. Even today our artwork needs are painfully high. Sometimes I almost wish our artwork was lower quality than it is, because all of the new artwork we make has to match this high standard and it takes a lot more time and a lot of skill to produce art like that. I've been playing some older console RPGs lately and realizing that many of them are incredibly limited and basic compared to Allacrost in terms of both features and content quality.
Finally, I think its worth mentioning that Allacrost is really three software projects in one: the engine, the game itself, and the game editor. Allacrost runs on a custom-built game engine, and the development of this is what we focused our first 3-4 years on. Writing a game engine, even a 2D one, is a lot of work. Especially for a group of people who have no game development experience, which most of those who joined the team did not initially have. If I could go back and do one thing different, it would be to use an existing game engine instead of building one on our own. But writing this engine definitely gave myself and other programmers a wealth of experience so it wasn't entirely without merit. But I feel like we'd be years ahead of where we are now had we made that decision early on. So remember, the last seven years haven't been a constant effort to develop a single product. They've been years with periodic stalls in development while simultaneously working on three product lines.
What keeps you going?
I obviously can't answer for everyone here, but I'll try. For a lot of us, I think its a passion for the type of game that we are shaping Allacrost to be. The SNES-era of RPGs holds a place dear in my heart, and its like that for many others on the team as well. For others Allacrost is an outlet to develop and share their talents. Some people join this team simply to gain experience in game development as part of their step towards getting a job in the gaming industry. (I've actually been approached by game development companies before and have been requested to come in for an interview, but I've always turned these offers down). On a more personal note, Allacrost is a way for me to exercise and practice an eclectic mix of interests. Through my time here, I've learned how to be a better programmer, writer, artist, manager, and communicator. It has been and continues to be a great learning experience for me, and believe it or not remains the highlight of my resume and what I am most often questioned about at job interviews.
Of course not everyone has the same zeal for this work. Of the original five or six members who formed the initial team, only two remain. Currently only three people active on the team have been with us earlier than 2010. Most people don't even last a year with us. Some don't even last a single week. This isn't because working on this team gives them a horrible experience, or we are all slave drivers or anything like that. Some people simply find that this isn't something that they are interested in, something that they have enough skill to do, or they just can't find the time to continue with it. Even I get burned out sometimes, which was the case for over a year up until a few months ago.
And finally, something that keeps me going is the realization of how many thousands of hours I have put into this project so far. To leave it unfinished would be extremely unfortunate and I don't want all that time and effort that I and dozens of others have put in over the years to go to waste. I feel like it would dishonor all those people whom I've asked to come and help out with this project, and who gave a serious effort to move this game forward. I've said before that this project will never die so long as I still live and so far I haven't broken that promise.