10 Years of Allacrost - Ignorance (June 2004 - July 2004)

Submitted by Roots on Tue, 11/04/2014 - 10:01

    I was filled with confidence when I wrote the first lines of code for Allacrost. Although I had no experience in game development, I had been writing code in over a dozen different languages for four years through my college coursework, as did our other primary developer. Additionally, I thought that the game we were building was rather modest in terms of its complexity. We were making a 2D single-player RPG, not a MMORPG with 3D graphics. It would be a few months before I began to realize how enormous the amount of work was to make the dream of Allacrost into a reality.

    I had already familiarized myself with the technology and libraries used by Battle for Wesnoth [1] before work on Allacrost begin. Initially, the plan was to start from the Wesnoth codebase and make the necessary modifications to transform the turn-based strategy game into a RPG. As I began studying the Wesnoth code however, I found myself both frustrated and disappointed. The code was unorganized, difficult to understand, and there was virtually no documentation. After spending a couple days trying to make sense of it, I decided to abandon that path and began writing the code from scratch. Let me clarify that I did not regard the Wesnoth code as bad, just difficult for an outsider to comprehend at that time. I’m sure it has improved over the years, and Wesnoth has undeniably been a more successful project than Allacrost over the years.

    This experience had a profound impact on both myself personally and the Allacrost project as a whole. I vowed with conviction that I never wanted anyone to look at the Allacrost code and feel as disappointed and confused as I had been with the Wesnoth code. And we’ve been very successful in that regard. I’ve lost count of the number of messages and e-mails I’ve received over the years from people who were impressed with the quality, design, and documentation of the code. The work that we’ve put in to keep the Allacrost code well understood and organized is something that I’m very proud of this team for doing.

    After writing a few hundred lines of code [2], I began to realize just how ignorant I was about software development. I had no understanding of build systems, how to handle a large number of source files, logging and debugging, and many more critical pieces of knowledge. All of this I had to learn as I went along, as did many other programmers on the team as most of us were young students with little to no professional experience. Still, we seemed to be doing okay for ourselves. We were able to draw maps and sprites, play audio files, and navigate simple menus with a few days work. Things appeared to be coming together. I was deceived by how easy it all seemed to do, and others likely were as well.

    Before work on the code had even begun, I had set out some goals [3] for the team to achieve over the course of the summer. I admitted that they were aggressive, but in reality they were simply impossible. The primary goal was to release the first playable module of the game on August 25th, 2004. And here we are in 2014, and that module still has not been released. Frankly speaking, highlighting that fact is rather embarrassing. Setting these types of goals at this time was a huge mistake, as there was no way to set any sort of realistic expectations with the massive collective ignorance of the team. Our goals should have been much more simplistic and aligned with gaining the necessary experience to produce a screenshot or simple demo. That summer passed with us not achieving much of anything noteworthy, although by the end of August we were definitely closer to moving ourselves and the project in the correct direction.

    [1] Battle for Wesnoth - http://www.wesnoth.org
    [2] Allacrost Forums - First Lines of Code
    [3] Allacrost Forums - Initial Project Goals

Coming up next:

  • Designing a game engine from scratch (and why its a bad idea)
  • Selecting code libraries
  • Technical feature creep

Forum Discussion Thread

10 Years of Allacrost - Style (June 2004 - July 2004)

Submitted by Roots on Mon, 10/27/2014 - 07:02

    One of the most important decisions we had to make dealt with our artistic style. We needed to figure out both the technical details, such as the size of our tiles and sprites, and what the general appearance of the artwork in the game would be. We needed to establish our musical style and influences as well, which was a bit more nebulous to define than our art style. During this phase, we employed concept artists who read the story and interpret these words into stunning visuals, some of which are still in use today.

    Naturally, we turned to the artwork found in our two primary sources of inspiration to get an insight into how large our tiles and sprites should be. There were a few different options that we put on the table and discussed [1]. We ultimately settled on 32x32 pixel tiles, 32x64 pixel sprites, and a default game resolution of 1024x768. It proved to difficult to decide on this without being able to see it, so I quickly wrote some test code that allowed us to see what the game would look like with various size tiles and resolution. While there are algorithms out there to scale pixel art [2], we strongly preferred the game to run at a resolution that would preserve the dimensions and quality of the art.

    We need a style to match the serious and somewhat dark nature of the Allacrost narrative. It was easy for us to agree to seek a style that was realistic and slightly gritty. This meant avoiding cartoonish looking characters and soft, bright colors. In addition to the pixel art you’d find in a game like Allacrost, I suggested that we include more traditional artwork (we toss around the phrase “digital paintings” to describe this). Originally my idea was to have one or two “scene paintings” for every chapter of the game, but this feature was shot down by the rest of the early team for being too much of an interruption from the flow of the game. Still, there are plenty examples of this type of artwork found in the game today, from character portraits to location graphics and even battle backgrounds.

    To determine our sprite style, we searched around for games similar to ours and started a discussion. The goal was to agree on which of these styles would best fit Allacrost, and then use that source as our inspiration. The earliest sprite made was, naturally, for the game’s main protagonist. It was well done, but as you can see below it didn’t really fit the sort of style we were looking for. In a few months we would revisit this design and go a different direction entirely.

    I thought that getting high quality, original music into Allacrost was going to be the most difficult type of content for us to create. I was somewhat anxious about finding composers, as I thought there weren’t going to be very many out there interested in a project like Allacrost. Especially considering that they wouldn’t be financially compensated for their work. However, reality was entirely contrary to my expectations. Throughout the lifetime of this project, we have had to turn down several composers who wanted to join simply because we had too many. And the music that every composer on this team has produced for Allacrost has been phenomenal, and blew away my expectations for the quality of our soundtrack.

    The technical standard for our music was easier to define than our artwork. We knew we wanted to use Ogg files as MP3 files require you to pay a hefty licensing fee [3], and we didn’t want to invite any sort of trouble. Because Allacrost targeted PCs where storage space was plentiful, we chose a compression level that left songs of a somewhat high quality and file size. Some of our composers wanted to use an even higher quality (twice what had been agreed upon), but eventually agreed upon the standard as there was little to be gained from these higher qualities and they greatly increased the file size. Our music already consumed more disk space than the rest of the game’s content combined.

    Our early composed pretty much defined the musical style of Allacrost themselves. Rain and Loodwig were the core of our composition and remained so for many years, and the two together are the fathers of Allacrost’s music and musical style. They read through forum posts and after understanding what type of game we were creating and what our primary sources of inspiration were (both musically and otherwise), set to work. The first piece of music composed for the game was titled “Hopeless Desert” by StarPilot and it sounded phenomenal...but yet somehow very familiar. Eventually, I figured out that it sounded extremely similar to the piece “Sandy Badlands” from Final Fantasy VII. The composer didn’t even realize it himself, but had that tune in his head as he was creating the work (and to be fair, the music really fits in well with what he was tasked to create). After some discussion, we regretfully decided to pull it from the game due to this striking similarity [4].

[1] Artwork Technical Discussion

[2] Pixel Art Scaling Algorithms (Wikipedia)

[3] MP3 Licensing

[4] Issues with Hopeless Desert

Coming up next:

  • Writing source code for a game from scratch
  • Recognizing and dealing with ignorance
  • Setting the project’s first goals, and how we got them all wrong

Forum Discussion Thread

10 Years of Allacrost - Vision (June 2004 - July 2004)

Submitted by Roots on Mon, 10/13/2014 - 05:13

    With our initial team formed, it was clear that our first objective was to define our vision. What did we want this game to become? What would make it special and stand out from others like it? The team had formed around a loose set of design ideas that I had already proposed, but we needed a more focused vision for what this game was to be.

    Before we could begin that discussion, however, we needed to decide through what means we were going to communicate with one another. We initially tried a mailing list, but found it inefficient for our purposes. Ultimately, our forums became our primary communication medium. We also setup an IRC channel [1] for the occasional real-time meeting when necessary.

    One of the first mistakes the team made was to hide several sections of our forums so that only members of the team could see and post to them. There were a few reasons for this secrecy:

  • To develop our ideas and designs without outside interference
  • To be able to share content and works in progress that we weren’t ready to reveal yet
  • To avoid potentially spoiling the story for our players

    It made sense to us at the time, but much later we would realize that developing a project like Allacrost behind closed doors was a big mistake. I’ll elaborate about this error in a future entry. The contents of those old private areas were made public several years ago after we realized our mistake. You can expect that I will source several of these old threads throughout this series.

    With our communications decided, we were ready to begin the early design process and to expand upon the initial set of ideas that I had proposed. Many of those first ideas I had already dreamt up years ago, in 1995. I was 13 years old and had recently played through two of my favorite games of all time: Final Fantasy VI [2] and Chrono Trigger [3]. As a result of experiencing these masterpieces, I became interested in pursuing a career in game development (which I later decided that I did not wish to do professionally). I dreamed of building my own RPG, with those two games as the primary source of my inspiration. I transcribed my design ideas for an RPG down in a journal, which is still in my possession to this day. The central theme to Allacrost’s story and some of its core features come directly from that journal.

    Without debate, the team accepted my proposal that these two games should serve as our primary inspiration for design. I actively encouraged everyone to begin putting forth their own ideas for what Allacrost should be. I wanted the team to feel like they were owners of this project and not just contributors. I never wanted Allacrost to just be my game that others helped me to realize, but to be a truly collaborative group effort.

    Naturally, we couldn’t accept every idea that was proposed as some came into conflict with one another, while others just didn’t seem that worthy of inclusion. After a period where everyone had dumped their ideas on the forums, we agreed to meet at a specific time at our IRC channel [1] to discuss everything that had been proposed. We chose to have this discussion in real time because the forums proved to be somewhat difficult with the large time lag between responses and interconnected nature. What happened was a rather epic three hour debate. It was at times frustrating when there were strong disagreements, but investing the time into having this talk really moved us forward in terms of defining what Allacrost was to become. It also remains one of my most enjoyable memories of this project, as it feels liberating when there is so little defined and you can move the game in any direction that you desire. We weren’t able to resolve all our differences and implementation details during the chat, so several threads were created on our forums to discuss the finer points of those ideas which were accepted [4], [5], [6].

    Most of these ideas are now implemented. Others were later abandoned or forgotten about for various reasons. For example, we had initially approved a combination attack style similar to Chrono Trigger, where two or more characters work together to execute a maneuver. I only recalled this planned feature during the course of my studying of our history for writing this post. Some of the ideas that were cut were of my own and I was very excited and enthusiastic about them. However, I was the only one who felt this way, and it wouldn’t be fair to force my desired features into the game if everyone else disapproved of them. My features including having a third-person observer interjecting narration of the events in the story as they occurred, and having full-screen artistic stills during the game as well. I wanted the game to feel like an interactive storybook to the player, but the concept was ill received.

    In hindsight, we may have spent too much time and energy on this brainstorming.
A better approach for us may have been to focus on the core gameplay and features, then save the discussion of the implementation details for when we were near ready to begin implementing them. We decided too much too soon, and many of the people who formed those early design decisions didn’t stick around the project for more than a few months.

[1] Allacrost IRC channel (#allacrost at irc.freenode.net)

[2] Final Fantasy VI (Wikipedia)

[3] Chrono Trigger (Wikipedia)

[4] Approved Game Features (Thread #1)

[5] Approved Game Features (Thread #2)

[6] Approved Game Features (Thread #3)

Coming up next:

  • Investigating artistic requirements
  • Early concept art and designs
  • Successes and surprises with music composition

Forum Discussion Thread

A 10 Year Review of Allacrost

Submitted by Roots on Sun, 10/05/2014 - 21:31

As I mentioned in the last news update, we reached our 10th birthday here recently. I thought that it would be a good time to share the story of Allacrost, since very few people have known about our efforts for its entire existence and so much has changed from the beginning to today. It’s pretty amazing to have this kind of history with a project such as ours. Hopefully you’ll find this information both educational and entertaining.

There’s so much to this story and no way to share it all in a single news post. I’m going to break the tale up into digestible segments and publish a new post roughly every week until we are caught up to the present. So I hope that you’ll continue to check back with us and relive the past. If you’d like to ask questions or make other comments regarding this post or any other in the series, I’ve made a thread on our forums for you to share your thoughts. It is linked at the bottom of this post.

Birthing Process (June 2004)

    Allacrost was born in June 2004, but this story begins a few months before that date. I was in my final semester of college and had begun using Linux exclusively for all of my computing needs. As I began looking around for games to play on Linux, I quickly discovered Battle for Wesnoth [1], a turn-based strategy game that was free to play and open source. I was inspired. Studying this game and the people behind it made me realize that I already had at my disposal all the tools and abilities that I needed to create a game of my own. The only thing that I was missing was time. I began pondering game development, which had long been an aspiration of mine during my childhood. But I soon pushed these thoughts aside as my studies were far more important to focus on.

    In May, I graduated with my degree in computer engineering. I was committed to continue on to grad school, but classes didn’t start until August and I had nothing to do for that entire summer. I was bored out of my mind. From this boredom, I began writing a short story one day; Something that was completely out of the ordinary for me to do. I had no plan for what or who it was going to be about, and let my imagination make it all up as I went along.

    When I had finished, I read it through and thought that it wasn’t half bad. So, I decided to share my story online and get feedback on it. I posted it to the AnimeSuki forums, a community that I was an active member of at the time, and I received overwhelming positive feedback on it. I decided to write a little bit more, and the story quickly grew on me. You can still find the original thread that gave birth to Allacrost on the AnimeSuki forums [2], though that first draft of the story is no longer available.

    The success of this story caused me to recall my curiosity about game development from earlier in the year. I started brainstorming and sharing some game design ideas on the same forums in another thread [3]. One forum member sent me a private message stating that he was interested in working together with me on the game that I had been describing. A friend and classmate of mine from college also expressed his interest after I shared my story and aspirations with him. We somehow managed to find an artist and a composer willing to lend a hand as well, and the team was born.

    Roots - Team Lead, Developer, Writer
    gorzuate - Developer
    Balthazar - Manager, Developer, Editor
    Biohazard - Artist
    StarPilot - Composer

    I chose a domain name URL and hosting provider, set up a (very primitive) website, and installed the phpBB forums. The forums came online on the 16th of June, 2004 and this is the day that we recognize as the birthdate for the Allacrost project. I’ve always told people that this project was the result of a series of fortunate accidents. I was never very serious about making a video game, as it was all just a group of ideas that were floating around in my head. Everything I needed to turn a dream into a reality just seemed to fall together in my lap all at once. Before I knew it, I had a story, a website, and an excited team to turn ideas into something tangible.

    [1] Battle for Wesnoth - http://www.wesnoth.org
    [2] AnimeSuki Forums - Short Story Thread
    [3] AnimeSuki Forums - Early Allacrost Design Ideas Thread

Coming up next:

  • The origins of the main theme and core features
  • Turning ideas into realities
  • Early concept art and designs

Forum Discussion Thread

Valyria Tear Episode 1 Release (and Allacrost news too)

Submitted by Roots on Sun, 09/28/2014 - 05:28

Earlier this month, our sister project Valyria Tear hit a huge milestone with their Episode 1 release. If you're a fan of classic RPGs in the same style as Allacrost, play the game and show them your support. VT and Allacrost share a lot of the same artwork, code, and design elements so we benefit from each others progress. Some Allacrost team members (myself included) have made direct contributions to the VT project as well.

So, where does that leave Allacrost? Sadly, the project has been in yet another standstill for the past 18 months or so. Our goal remains the same: to release the first chapter of the game similar to what VT has recently accomplished. About 85% of the work that remains is in artwork, map design, and scripting. We otherwise pretty much have everything available to us that we need to make a fantastic release. It's just a matter of finding the right sources of help to complete what we can't do on our own (namely, the artwork) and finding the time to put it all together. I've recently come back to work on Allacrost after a long hiatus, and I hope to build up some momentum and encourage others to join me.

It's difficult to believe, but it's now been a little over ten years since Allacrost first got started. Of course, a significant portion of that decade have consisted of long periods where no work was being done, so we're not really as old as we look. There are very few independent game projects, open source or otherwise, that can boast of having such a long history. Thanks for continuing to support and encourage us over the years that have passed and we hope we can count on your support in the years to follow.

January 2013 Development Video

Submitted by Roots on Mon, 01/07/2013 - 07:24

We have something special to share to get the new year started right. Below you'll find a link to our very first development video. This video demonstrates the current state of the game and includes commentary that discusses our designs. This is a great way to check out the project without requiring you to build the game yourself. We hope that you enjoy it, and will leave us any feedback you have by either commenting on the video itself or leaving your remarks on our forums. We will release more videos like this in the future as a way to keep the community updated on our progress.


Our next immediate order of business is to publish a new development release, so that you can experience the game for yourself as it is presented in this video. We hope to get that release out by the end of this month, if not sooner. We also now have an updated roadmap so you can get a picture of what it is that we need to finish and what we are currently working on.

With our online services cleaned up and restored, project files reorganized, and numerous features that have been backported from Valyria Tear, I'm happy to report that the revival of this project is now complete. Thus, we are now ready to begin working with a full development team again, and we'll spend the next couple of weeks hunting down artists, programmers, and others to help us work on our next release. If you are interested in helping out, please read the following page on our wiki to find out how you can get started. We especially need artists and game designers (who make maps and manage game content) to join our team. Our release is, for the most part, feature-complete and is only missing the appropriate content to bring it all together.


Project Revival Updates and More

Submitted by Roots on Sat, 12/08/2012 - 01:47

We're starting to pick up steam again. I hope that by the end of the month, we'll be ready to bring back a full development team. Here's what we've been able to do in the past few weeks.

The forums have re-opened for registration. We're still dealing with some spam issues, but otherwise everything is working great.
The new wiki is up and available at http://www.allacrost.org/wiki. I'm about half way through migrating all the content from the old wiki.
The working copy of the code in the subversion repository has been broken for a while (on Linux at least). That has now been fixed.
The code import process from Valyria Tear has begun. New features and bug fixes are streaming into the code at a rapid pace.

And here are some additional tasks that I hope to have complete before next month.

Update and enhance our bug tracker software
Add a testing interface that makes it very simple to test maps and battles. This will make it much easier for our game designers to do their work.
Do a re-organization of our wiki, and update content relevant to new contributors to the project. I want to make it as easy as possible for someone to come along and help out where they can.

As I mentioned before, I don't believe I will have time to update our website by myself, but I gladly welcome anyone who would like to upgrade our Drupal backend and improve our layout. I've had to disable commenting on news posts for now due to issues with spam.

Over on the Valyria Tear project, the first release is estimated to be available in a couple weeks time. Once it is out, I will make an announcement about it here.

Project Revival Progress Update; User Registrations Temporarily Disabled

Submitted by Roots on Tue, 11/20/2012 - 06:36

Our site has completed it's migration to a new server. You may have noticed some parts of the site not working correctly or being completely unavailable, but I believe that everything is now operational again. Unfortunately, this migration has caught the attention of hordes of spammers who are registering fake accounts on the website and forums. I've had to disable registration for the forum and website for now as I try to clean up the mess and install measures to prevent spam in the future. If you already have a site and/or forum account, it should still work, however. Hopefully this problem will be resolved by the end of the month.

In the coming weeks, I'm going to be upgrading the website software (which uses a Drupal backend) and installing a new wiki. Our old wiki, hosted on Sourceforge, had some problems a while back and has remained accessible, but not editable by anyone. After I migrate all the content over to the new wiki hosted on our site, I plan to spend a lot of time updating it. Particularly the code documentation I am going to try to bring up-to-date to help make this project's rebirth easier (while also helping out Valyria Tear in the process).

I'd also like to give our website a major makeover and make it easier to navigate and more content aware (for example, having the latest screenshots on the front page). Unfortunately I do not think I'll have the time or ability to redesign our site, since web development is not something I have much experience in. With that in mind, if you'd like to help out with improving our site, or any of our online services (forum, wiki, etc.), I would gladly welcome the help. I (Roots) am doing all of this work by myself right now and it's taking me quite some time to fix and upgrade everything.

Right now, my goal is to have all of the critical online components fully functional by mid December. If everything goes according to plan, by the end of next month I intend to formally restart this project and seek assistance from both past members of this team as well as any new help we can find. I'll make a post here when that effort is ready to get underway.

Upgrade in Progress. Downtime Expected.

Submitted by Roots on Tue, 11/13/2012 - 20:42

I am in the process of upgrading several important parts of our website, including the main site, forums, wiki, and so on. I expect there will be some periodic downtime and perhaps odd/quirky behavior as I work to fix things up around here. I expect that these construction headaches should be over by the end of the week at the earliest and the end of the month at the latest. If you're having trouble accessing any part of the site and want to report an issue, either post on the forums or see if anyone's around on our IRC channel: #allacrost on irc.freenode.net. Thanks!

Valyria Tear

Submitted by Roots on Thu, 11/08/2012 - 00:28

The blog post that I mentioned that I would make previously can be found in the right margin, or you can read it by simply clicking here. It discusses the why and how the project has reached this state and my personal ideas for how to prevent it from reaching this low in the future.

But what I want to talk about today is a new RPG project in the works called Valyria Tear. It was created by Yohann Ferreira (Bertram) with assitance from his wife. As you can see from the video below, it looks very similar to Hero of Allacrost. That's because Bertram was a new member of our team just before the project went silent, and he felt it was a waste for such a promising project as Allacrost to lay as it did, so he forked the project into Valyria Tear. He has my full support and it makes me extremely happy that our work has now given spawn to two games instead of just one.

Valyria Tear Gameplay Video

You can read more about the Valyria Tear (VT) development on the official blog here: http://valyriatear.blogspot.com/. Bertram has done a great job at adding a number of improvements to the Allacrost code he started from, and he did this work mostly by himself. The video highlights many of those improvements as several are graphical in nature. His work will be backported into Allacrost, so VT and Allacrost can mutually benefit from one another. There will be a lot of similarities between the games both in their design and their content, but they should diverge further apart over time to feel like more unique games in their own right. Thanks to Bertram and VT, it would seem that Allacrost development hasn't been completely dead after all. Rather, it took on a new form.

I learned about VT as I was thinking about how to get Allacrost off the ground again. There's a lot of dust to clean off, and many aspects of this project lay in disorganization. There are usability issues on our forums, a half-written wiki, a stale and seldom used bugtracker, and more problems. After thinking about the situation, I've decided to lend my talents to the VT project for the time being. Working on VT is akin to working on Allacrost, and there is a lot of momentum going over there right now. While I work on VT, I'm going to spend part of my time cleaning up our project here. That includes fixing the problems with our online services, organizing our content and data and getting a handle on what we need to do, and generally making preparations for an active team again. I don't think diving right back in to development on Allacrost would be the best decision right now with the disorganized mess we've got.

I don't know how long I'll be working on VT for or when I'll officially open Allacrost back up for business yet. It depends on when the time will "feel right" to me. I do want to help VT see through it's first release, which should be coming up soon I believe. I'd also like to encourage that anyone who is eager to work on Allacrost come join me on the VT team for the time being. Helping VT is helping Allacrost at this point in time. Of course if you want to volunteer to help me re-populate our wiki or write documentation, I'd be more than happy to accept any assistance there. When I come back to working on Allacrost full time, I'll of course announce it on our site here and start asking for people to join or rejoin the effort.

I hope you're excited about the possiblities with Valyria Tear working alongside Allacrost as it's sister project. I sure am. I feel like we're going to be finally tapping into the true potential of open source game development in the coming weeks and months. We hope that you continue to support both Hero of Allacrost and now Valyria Tear as well.