Skip to content

dafrito/alpha

Repository files navigation

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

Getting Started

Unfuddle

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.

Git

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

Compiling

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

Contributing

Lots of ways to contribute to any project, and this one is no different. Here's a few things we'd love to have.

Ideas

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.

Tickets

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.

Art

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.

Code

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.

License and Privacy

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 :

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages