This project is a OpenGL game. It is powered by Qt and written in C++ and Lua.
Information regarding this project is found in three places:
- Top-level files, such as README, LICENSE, and INSTALL
- Unfuddle tickets, milestones, and notebook pages
- Comments in source code
Tickets, milestones, and brainstorming can all be found on the Bluespot Unfuddle, found at:
http://bluespot.unfuddle.com
If you're unable to log in, you may need an invite. Ask dafrito@gmail.com or any other project administrator for one.
The source code is also hosted on Unfuddle, in a git repository. You can get
your own copy via git clone
.
git clone git@bluespot.unfuddle.com:bluespot/game.git
autoreconf -i ./configure make make check make install
The project depends on the autotools, so you'll need to have automake, autoconf, and libtool available. You'll also need several other dependencies:
- Lua
- Qt
- OpenGL
- Lua-cxx
- Freetype2
- FTGL
Lots of ways to contribute to any project, and this one is no different. Here's a few things we'd love to have.
Documentation and game ideas live primarily in Unfuddle notebooks. Feel free to add to or edit these if you have your own suggestions. Even links to relevant gaming articles or statistics are welcome.
Your idea may be specific or mature enough to be worked on directly. If that's the case, you should create a Unfuddle ticket for it. A ticket will let us keep track of progress implementing your idea or feature.
Unfuddle makes it easy to edit ticket information, so don't worry about making mistakes. A good ticket addresses only one issue, so it's better to create several tickets rather than one that addresses several topics. A ticket may or may not have a solution when it's created - bug reports are a good example of this type of ticket.
The project will eventually need art. Even if you're not an artist, referring us to things that look good visually will help speed development. If you are an artist, then your contributions of any sort are welcome.
Contributing to this project requires familiarity with a programming language, namely C++ or Lua, and possibly with a specific library, such as Qt or OpenGL. I've written a little bit about what use, or intend to use, here.
If you want to play with things like AI or scripted events, then you'll likely be working in Lua. Lua is a small language, similar to Ruby or Python. It is perhaps most notable for its use in World of Warcraft addons. If you don't know any programming language, then Lua would be a good one to learn first. Things like AI or scripted events will likely be written in Lua.
If you want to work closer to the metal, you'll need to learn C++. C++ is a low-level language, much bigger than Lua. It is very commonly used, especially for games. While it is much bigger and more complicated than Lua, you certainly don't need to know everything to get started. The game engine will be written in C++.
If you want to work on the graphical side of things, then you'll need to also know OpenGL. OpenGL is a 3D graphics framework, similar to Microsoft's DirectX. While OpenGL provides a lot of power, it follows many conventions which make it much easier to learn. Many OpenGL snippets exist online that demonstrate various graphical techniques.
If you'd like to add a bunch of new features, you may need to learn Qt. Qt is a UI toolkit that provides a broad collection of widgets and tools. While the game won't use that much Qt, things like editors or debuggers will likely be written in Qt, for simplicity. Qt has very nice documentation, including tutorials and examples, that can be found online.
This is a MIT-licensed project, so it's open-source. However, the Unfuddle is invite-only. This privacy is solely for our convenience, and it may go away in the future.
The LICENSE file contains the full license. AUTHORS contains anyone who's been involved in the project. At this point, the AUTHORS file is included purely for vanity's sake.
vim: set ft=markdown tw=80 :