New Staff Guide
From Hero of Allacrost
This document is an orientation for new members to the Allacrost team. Those that have recently joined the team, or those interested in joining the team should read this document in its entirety. The following topics are covered here.
- An introduction to the team and the project
- A list of all of the online resources that our team uses
- Instructions on how to create your accounts for these online services
- A short discussion about our major team policies.
- Links to further information relevant to certain groups of people (programmers, artists, musicians, etc.)
Note that there may be some links in this document to restricted access information, such as team-only forums or wiki pages which can only be accessed after your accounts have been given special permissions. After you complete your account registrations and an existing member of the team sets your permissions, that information will become available to you.
Welcome to the Allacrost team. Our group has existed ever since the Allacrost project began in June 2004. Throughout the years, our team has ranged from very small (5 members) to very large (30 members). Keeping this team organized has proven to be a difficult task. Our only communication medium with one another is the internet. We all live in very different areas of the world. All of us are hobbyists that work on Allacrost in our precious spare time. We've learned a lot about how to keep this team organized throughout the years, and what you will read in this document covers much of what we have learned.
There are two member "ranks" on the Allacrost team. The lower rank we call Contributors and the upper rank we call Staff. Staff are the real leaders and movers of the Allacrost project. They put in a lot of hard work and play a big role in shaping the game's overall design. Contributors are those who lend a hand to the project from time to time, but are not deeply involved with the team nor the design discussions we have. All new members who join the team join as Contributors. Those that demonstrate a serious effort toward the project, show great results in their work, and participate in team discussions will eventually be promoted to staff by the existing staff members.
In addition to the member ranks, some staff members have additional leadership titles. Each major department (programming, art, music) has a department leader that manages that department. We additionally have general managers on the team that are responsible for keeping the team organized, among many other things. Finally we have the senior leadership, which currently includes Roots and gorzuate. These two serve as the highest ranking leaders on our team.
Our project has several online services which our team uses on a daily basis to help us track our progress, communicate with one another, or store our work. The table below lists all of these resources and provides a brief description of how each is used. Don't worry about getting permissions or creating accounts to these services just yet. We'll talk about that in a later section.
Having an Allacrost e-mail address is optional and the choice is entirely up to you. You can gain an Allacrost e-mail address through two means. The first is to have an Allacrost e-mail account, which will provide you with a small (~10MB) quota that you can access with your local mail client (Microsoft Outlook, Mozilla Thunderbird, etc.) as well as providing a webmail client that you can access from any browser. The second option is to request an Allacrost forwarding account to be created. All that this does is re-direct mail that is sent to firstname.lastname@example.org to any e-mail address you specify.
Our website serves as our primary portal to the public. We share information about the project, major news updates, media releases (including screenshots), and announce new product releases here. The website allows people to post comments on news stories.
Team Blog: http://www.allacrost.org/blog
Our website contains a blog which any staff member is free to post to. Contributors are not given the ability to post on the blog. The blog is primarily for us to publicly speak about Allacrost development, but blog posts are not limited to this scope.
Our primary medium of communication on this team is through the forums. We probably hold over 90% of our discussions and decisions on the forums, so its critical for you to stay apprised of forum topics relevant to your work. Our forums include a private sector that is only visible to team members (both contributors and staff).
FTP (file server)
Our team shares a lot of work in progress and other files with each other, and the primary means through which we do so is through our FTP. To share a new sprite design, for example, an artist typically uploads their image to their personal FTP account, and then provides a link to that image inside a forum post.
We use our wiki for a wide variety of purposes, including documentation, standards for code/art/music, and other miscellaneous project information. Like the forums, the wiki contains some restricted areas that only our team members can access.
IRC: #allacrost, #allacrost-dev @ irc.freenode.net
Our team has two IRC channels available for real-time chat. The first, #allacrost, is available for anyone to join. The second, #allacrost-dev, is password-protected and available only to team members. We primarily chat in the public channel and only use the latter channel for team meetings.
Task Tracker: http://bugs.allacrost.org
Our task manager serves primarily as our bug tracker but is used for other purposes as well. The tracker isn't limited to code tasks, but includes selections for filing tasks/bugs against any of our online services and our media content (art, music). For example, one can create a task in the tracker to request a new feature to be added to the forums.
Allacrost is a project hosted on Sourceforge, a repository of open source software projects. All of our release files are hosted on sourceforge as well as our subversion repository.
Subversion (SVN) repository: http://allacrost.svn.sourceforge.net/viewvc/allacrost/
The SVN repository is where all of the code development takes place and all programmers use this service regularly. Our SVN repository also hosts the game's media files (images, audio). The SVN repository is usually not used for media in the same way it is used for code, primarily because it can be difficult for non-programmers to use and fully understand. Most artists and composers choose to simply use the FTP to hold multiple versions of their work.
The first thing to do after you've joined the Allacrost team is to create accounts to access all of our online services that you will be using. Some services you are required to use, while others are optional. If possible, please try to use the same or similar alias for all of your accounts so its easy for others to know who you are when they see your name across different services.
All new team members are required to create accounts with these services. You are not considered a member of the team until you have registered with these services.
- Sourceforge (required only if you are a programmer, otherwise this account is optional)
The forums and wiki accounts can be created by going to their respective URLs and selecting to register/create an account there. Once you have done so and your account is activated, send an e-mail or forum PM to a team leader and they will grant you access privileges to view restricted areas for these two services.
To register a sourceforge account, go to http://sourceforge.net and create one there. This account is managed by sourceforge, not the Allacrost team. The only thing the team does is associate your sourceforge account with the Allacrost project, which will give you permissions to use SVN, etc. You will need to inform a team leader of your sourceforge account name and ask them to add you as a member to the Allacrost sourceforge project.
The following accounts are not required, but we strongly recommend you use them and employ them in your everyday work. Using these services will give you a stronger presence with the rest of the team.
- Task Tracker
You can not register an FTP account by yourself, as only team leaders can create them. If you would like a FTP account so you have a place to store and share your Allacrost files, e-mail a team leader and ask for one. You can create your own account on the task tracker by visiting its homepage, but only a team leader can update your permissions from reporter (one that can only report tasks) to developer (one that can be assigned tasks and modify information about the task).
You are not required to register an account name to use the IRC service, but it is recommended that you do. You can't access the private #allacrost-dev channel with an unregistered IRC name. IRC accounts are not managed by our team, but rather by the good folks who run the service over at Freenode. To register a IRC alias/nickname on Freenode, follow these instructions from their FAQ: http://freenode.net/faq.shtml#nicksetup
The following services are entirely optional and are provided as a convenience. You only need to create an account with these services if you choose to take advantage of them.
You can register an account on the website from our site's main page. This will allow you to post comments on news stories under that name. Also once you are promoted to staff, you use this account to make blog entries. E-mail (either an e-mail account or forwarding address) is a service that you have to request from a team leader. Send an e-mail or forum PM stating you want either an e-mail account or forwarding address.
Our team follows a few policies that help us work together better and ultimately make working here a more enjoyable experience.
Share what you are doing often. Very often!
We are a very open group who value communication and feedback very highly. Whether you are working on a new code design, sprite, or piece of the soundtrack, do not wait for the finished product before you share it with the group. Some people have done this in the past, only to have their final draft criticized by the team as inappropriate or lacking in some way. We instead encourage each other to share our work throughout its development, including in the concept stage. Collaboration means we help each other improve our work. For example if you create a sprite and share it, another artist may build upon it or greatly modify it to present an improved version. This kind of act shouldn't be taken personally. Collaboration is meant to provide the best possible play experience in the game.
Actively request for and give feedback.
If someone requests you to make a palm tree, don't spend a huge number of hours working on it by yourself and then give it out and expect everyone to approve. In this team we constantly draft up artwork, music, and even code before its anywhere near a completed state. This is so that everyone can approve of your work, find problems with it that you may not have noticed, and suggest improvements to make it the best it can possibly be. It is *very* important that you practice this, because it should save you both time and frustration.
Speak your mind freely.
Don't be afraid if you have a different opinion from everyone else. It's a good thing. No one will punish you if you think something should be done in another way. This game belongs to *all* of us, not just to a single person on the staff (not even Roots). When we have groups with different opinions, we discuss our options and go with a majority vote on the issue.
Taking a break is okay, just don't completely disappear.
Sometimes, life happens. You have to move, you get a second job, or something else greatly reduces your availability to contribute to Allacrost. If that happens, don't worry about it, but please be sure to let us know of your situation. But don't just completely disappear on us (unless you have to), because after not hearing from people for a while, we begin to question whether or not they'll come back (thankfully, they usually do). Unless you have extenuating circumstances, you are still mandated to post your bi-weekly status report, to show us that you still have a heart-beat.
Don't be afraid if you want to switch to something new.
If you were initially assigned with a task that you have become disinterested or tired with, let us know. There is a ton of work to do for Allacrost and its nearly guaranteed that we can find you something else to work on that you are interested in. Even if its as something as radical as an artist wishing to switch over to programming, we can discuss the situation and work things out.
Most of all, make sure that you're having fun.
You are not being paid to work on this project. Therefore, if you are not enjoying the work you are doing then there's not much reason for you to be working on it at all! All of us here came together because we saw potential in this game, and were willing to dedication our time and effort to realizing that potential. Please remember this, and if you find that you're not enjoying yourself, don't be afraid to talk about it with someone or the staff and we can figure something out.
Important Forum Threads
> Introduce yourself to the staff here: http://www.allacrost.org/forum/viewtopic.php?t=1071 This should be the first thread you post in in the staff forums. Smile
> E-mail and Forums: http://www.allacrost.org/forum/viewtopic.php?t=77 Discusses how to use webmail, setup your allacrost account in your e-mail client, and forum usage.
> Downtime: http://www.allacrost.org/forum/viewtopic.php?t=589 If you're going to be away or unavailable for a period of time, post here and let us know.
> Team Goals: http://www.allacrost.org/forum/viewtopic.php?t=586 Up-to-date information about what our short-term and long-term team goals are and how to get there.
Information for Programmers
This is the first thing you should read as an Allacrost programmer. It covers all the fundamental parts of the Allacrost engine and is your first step into writing code for the game.
This is *the* code standard for Allacrost. It may look enormous, but it really isn't that bad and the standard is pretty easy to remember. The standard was created after long discussions among programmers to create a way for our code to communicate in an efficient, easy-to-remember manner. It also is designed so that programmers are not forced to use coding styles that they are uncomfortable with (like indentation sizes, bracket placement, etc.).
We don't just write code; we document it too. Documentation typically comes in two forums. The first is technical documentation generated by doxygen comments in our code, and the latest version of that can be found at and the second is hand-written usage documentation by programmers (mostly for the core Allacrost engine). The thread linked to above contains the latest links and updates to Allacrost documentation.
We maintain strict rules about using our SVN, because we don't want people commiting all types of arbitrary files and making our code repository into a mess. Read this thread for discussions on the rules (the code standard contains a concise list of all of the SVN usage rules).
When you update or add code to the Allacrost SVN, you must post in this thread to let other developer's know what changes you made. There is a template in the first post of this thread that you should use when you make your entries.
There are several other stickied threads in the Staff - Code/Programming forum that you may wish to read as well.
Information for Pixel Artists
Confused about what you should be working on? As programmers finish up different areas in the engine, they need artwork to test things out. This is an ever growing list of assigned and unassigned work that you can help on!
Despite the fact that our artwork will be coming from many artists during the length of this project, it is the goal that they all fit well together. These are the standards to which our pixel artists abide by so that the art fits well together.
These techniques allow all artists to share methods and shortcuts.
There are several other stickied threads in the Staff - Artwork/Graphics forum that you may wish to read as well.
Information for Musicians
As more of the game is developed, new sounds will be needed. From the simple "selection noise" to the complex orchestral battle piece, the tasks can all be found here. If you ever find yourself looking for something to work on, start here.
These are the standards by which all musicians must follow for their work to be contributed to Hero of Allacrost. It goes over key terms and the basic creation of a music file.
The standards by which a musician must follow when creating sounds. Goes over key terms and the basic creation of a sound file.
There are several other stickied threads in the Staff - Music/Sound forum that you may wish to read as well.