Our feasibility study for the Legacy Foundation Project, as required by our professor.
The Legacy Foundation Project ("Foundation framework") consists of
four major parts. The team will be divided into groups that will focus
on each of these parts, with some overlap where appropriate and where
needed. The four parts are:
The game engine we're developing takes an "eye of
the storm" approach. It handles the game loop, user event redirection,
object creation, and object storage. The objects themselves then define
how the game plays. Defining these objects is the purpose of the Demo
Environment section of the Project. Programming will be done using
Python and an extension language for Python, called Pyrex. Primary
developers are Joel and Piers (see below).
The media engine takes graphics requests (sprite
drawing, model animation, etc.) and audio requests (sound and music
playback) from the game engine, and presents them to the player on the
screen and through the speakers. We are settling for a "2.5D" graphics
system, meaning that only some of the objects onscreen will be full 3D
objects, which simplifies the task somewhat. Graphics will be provided
through OpenGL, audio through OpenAL. A video component may also be
included; more on that if and when a solid option is found. Primary
developers are Darren, John, and Nik.
The Demonstration Environment is
the label given to the collection of game objects and resources that
define the actual "game" that the player sees on the screen, in
particular for the game demo we will be producing to test the
Foundation framework. The Demo Environment includes all data modules
(written in Python), in-game graphics (made in Blender, The Gimp, and
Photoshop), in-game music (made in Melody Assistant), in-game sound
effects, and scenarios with their associated maps and scripts. It is
probable that everyone will be involved in creating the Demo
Environment at various points throughout the project, although Piers,
Joel, and Nik will be primarily responsible for it.
Joel Arbuckle
contact
Joel is the overall project manager, and will
be focusing most of his programming and planning efforts on the game
logic system and the graphical interfaces (design, implementation, and
graphics). Joel will also manage the interfacing of the components of
the Foundation framework.
Darren Basler
contact
Darren is the leader of the Media Engine portion of the project. He
will be responsible for overall planning of the implementation of the
graphical portions of the Media Engine, and the actual implementation
itself, as well.
Piers Excell-Rehm
contact
Piers' primary responsibility will be the data flow within the game
environment. He is also one of the two main designers of the semi-game
that will be used as a demo of the Foundation framework (the other
being Joel).
Nik Molnar
contact
Nik is responsible for the special effects system within the Media
Engine, specifically graphical particle effects such as rain, splashing
water, waves, etc. He may also work on specific portions of game logic,
such as the character conversation management system.
John Moore
contact
John is responsible for the audio portion of the Media Engine, as well
as being the second graphics functionality programmer. John has also
expressed interest in producing some of the needed sound effects for
the demo.
Our team decided early on that we would try to use free or
relatively cheap software, and that we would avoid at all costs any
tool that required us to pay royalties. For this reason, we have
thoroughly scoured the open source development community for the tools
that we need to make a great game framework, and later, a great game.
Here are the programs, programming languages, and libraries that we
have either decided to use or are fairly certain we will use:
- Blender, a free, open-source 3D modeling, texturing, and animation program.
- The GIMP, an acronym for "Gnu Image Manipulation Program." The GIMP is a free, open-source equivalent to Photoshop.
- Python,an object-oriented programming language with a great deal of flexibility. Its motto, "Batteries Included," is true: it provides, as part of the language, most of the tools that an object-oriented programmer, procedural programmer, or functional programmer would consider useful on a day-to-day basis.
- Dev-C++, another open-source alternative for an otherwise expensive tool, is the C/C++ IDE that our Media Engine programmers will be using.
- Pyrex is an extension language for Python; this means that it provides a Python-style language for writing modules that bridge the gap between C/C++ and Python. Due to its partially-statically-typed nature (Python being dynamically typed), Pyrex also provides faster arithmetic.
- OpenGL, the industry standard for cross-platform high-end graphics, both 3D and 2D. When confronted with the decision of choosing OpenGL/OpenAL/SDL vs. DirectX, one mainly has to ask: do you want to have access to technologies that were created last month, and do you want people to use your program on Windows, Mac, Linux, and almost any other Operating System imaginable? If you answered "Not Really" and "Absolutely!", respectively, then OpenGL is what you use.
- OpenAL is an open source audio library, specifically designed for producing sound in 3D environments. It is becoming commonplace to use OpenAL in games, and because of its price tag (per product per platform, as opposed to ,000...) it was a pretty obvious choice.
- SDL, which stands for Simple DirectMedia Layer, is designed primarily to be a simplified, freely used, and cross-platform version of DirectX. We'll be using it primarily for window creation and mouse/keyboard input.
- Melody Assistant is the one and only non-free program on our list of tools, and costs only for the entire, complete, royalty-free package. Melody Assistant is music composition software, capable of producing complex orchestrated pieces of music, using electronic instruments that are generally recorded from live instruments. The resulting music has a sound that can, with care and practice, come quite close to realism.
- Crimson Editor is a glorified text editor (which sadly only works on Windows) which meets the needs of our Python programmers without having the clutter of a full IDE.
- Ogg Vorbis, the patent- and license-free alternative for the MP3 music format that is rapidly gaining popularity. It has seen significant use in the recently released MMORPG, Guild Wars, among others.
- Ogg Theora, the patent- and license-free alternative for the MPEG video format. It's a relatively new alternative, and as such is not yet widely supported. We are still in the process of determining if and how we will be able to use it.
Mac Tools
- Smultron, a suped-up text editor. Used for writing code. Smultron is the Mac counterpart to Crimson Editor.
- Pyrex Builder, a custom Legacy Foundation Project tool for building Pyrex modules.
PROJECT UPDATES
-
February 21, 2006
Template Finished
We have finished the template for the site all content has been transfered.
-
January 16, 2006
Navigation Menu Created
We've added a navigation menu to the site.
-
December 12, 2005
Feasibility Study Uploaded
We've added our feasibility study to the top of the page.
-
November 9, 2005
Project Team Modification
Young Moon has left the project
-
November 2, 2005
Subcomponent Placeholders Up
Game & Media Engine sites are on the way...
-
October 26, 2005
First Website Image
We're getting there
-
October 24, 2005
Project Website Created
Updates continual
Site last updated on February 21, 2006 @ 8:08pm