Skip to content

macsforme/dominicus

Repository files navigation

Dominicus by Joshua Bodine
https://github.com/macsforme/dominicus


//////////////////////////////// INTRODUCTION /////////////////////////////////

Dominicus is a first-person shooter tower defense game. The goal of the game is to defend your tower by shooting down missiles fired at you by enemy ships, and to accumulate as many points as possible. Dominicus is currently available on Mac OS X 10.6 and up.

This game evolved out of the author's attempt to learn how to program 3D simulation using OpenGL. It has been in development in one form or another since March of 2010. Dominicus has been designed to be OpenGL 2.0 compatible, meaning that the game should run on most dedicated graphics cards made around or after 2006 (assuming full operating system and driver support for the required features), while allowing for the flexibility of modern shader-based drawing pipelines.

Please note that because this project was basically one big learning experience, it should NOT be used as a model for well-written, elegant, or efficient C++ code. While attention to detail has been given when writing this software, in retrospect there are many flawed designs and inefficiencies which are not worth imitating.

Dominicus is free and open-source software. The source code is available on GitHub at the address at the top of this file.


/////////////////////////////////// LICENSE ///////////////////////////////////

Dominicus source code and release products (binaries and application packages) are released under the Simplified BSD License (also known as the BSD 2-Clause License). All assets (textures, models, and audio files) are released under the Creative Commons Attribution-ShareAlike 3.0 license. Additionally, Dominicus incorporates libraries and fonts created by other authors. See the included COPYING file for further information.


////////////////////////// OBTAINING BINARY RELEASES //////////////////////////

Binary releases are made available through GitHub (https://github.com/macsforme/dominicus/releases). Additional distribution methods are possible in the future.


//////////////////////////// OBTAINING SOURCE CODE ////////////////////////////

Dominicus source code may be obtained by cloning the public GitHub repository (https://github.com/macsforme/dominicus.git). Development source code, which is stored in the master branch, should be considered unstable as it may contain new or experimental features as well as bug fixes and corrections to known issues, allowing you to preview how future releases may look or to assist with testing or development.


//////////////////////////// BUILDING FROM SOURCE /////////////////////////////

Dominicus build project files are currently maintained for Mac OS X using the Xcode IDE version 4.2 or later with a deployment target of Mac OS X 10.6 (Xcode 3.2 may also work, but a bug in the Mac OS X 10.6 SDK in some versions requires that you add the directory "/Library/Frameworks/Frameworks" to your "Framework Search Paths" setting before building). Dominicus has the following external dependencies:

* Simple DirectMedia Layer (SDL) 1.2
* libpng
* FreeType 2

There is a pre-built dependencies package available from https://github.com/macsforme/dominicus-dependencies. Download the latest release package and expand it in the dominicus source directory (you should have a directory named "dependencies" in the dominicus source directory). This should put all your dependencies in the place where the Xcode project can find them.

To build Dominicus, open the file "Dominicus.xcodeproj" in the source directory. Expand the "Frameworks" group near the bottom of the files panel on the left, and verify that the files "libfreetype.a," "libpng16.a," and "libSDL.a" are not shown in red text. This will show you that you set up the dependencies correctly. Press the keys Command-B, or select "Build" from the Product menu, to build the project. When you activate the Utilities pane (using the icon in the upper-right corner of the Xcode window) and click on the "Dominicus.app" in the Navigator pane, the full path to the application bundle should be shown in the Utilities pane.


///////////////////////////////// BUG REPORTS /////////////////////////////////

Please bring up any problems on the issue tracker (https://github.com/macsforme/dominicus/issues). If the game has crashed, you should get a notice that the application quit unexpectedly. Please click "Report..." and on the following prompt click "Show Details" (please DO NOT click "Send to Apple"). Please copy the entire output under "Problem Details and System Configuration," and include this at the bottom of your issue report. This will help me tremendously when I try to determine what caused the problem and attempt to reproduce it.


////////////////////////////////// COMMENTS ///////////////////////////////////

I intend to be receptive to any suggestions and constructive criticism you may have to offer. I may often be reached via IRC on the FreeNode network (I go by macsforme). My email address is also available in the commit log.

Thank you for your interest in this game. I hope you find it enjoyable.