Jeffrey Carpenter 1b8e9ead7a README.md: Update build info for OSX, Windows 4 years ago
Resources Always play music tracks dependent on AUDIO_TRACKS cfg value 4 years ago
bin bin/fswatch.sh: Add debug logging && launchd 4 years ago
cmake Use nomlib's modularized find module 4 years ago
src Use nomlib's modularized find module 4 years ago
.gitignore Refactor UI code to use libRocket GUI 4 years ago
.travis.yml Disable travis-ci config 5 years ago
CMakeLists.txt Use nomlib's modularized find module 4 years ago
CONTRIBUTING.md Introduce CONTRIBUTING info (stub) 5 years ago
CREDITS.md CREDITS.md: Add new author & bit of clean up 5 years ago
LICENSE.md Update copyright year & e-mail address 5 years ago
LICENSE_jsoncpp.txt Introduce LICENSE files for jsoncpp & nomlib 5 years ago
LICENSE_nomlib.md Update copyright year & e-mail address 5 years ago
README.md README.md: Update build info for OSX, Windows 4 years ago
Template.cpp Update copyright year & e-mail address 5 years ago
Template.hpp Update copyright year & e-mail address 5 years ago
ttcards.sublime-project SublimeProject: Rename project root folder to "." 5 years ago

README.md

TTcards

A remake of SquareSoft's Final Fantasy VIII Triple Triad card game in C++. The underlying code base spawned another project, nomlib, while developing the game.

No machine reverse engineering has been done here, other than using ripped audio samples & sprite images; see CREDITS.md for details). This clone is derived in its entirety by many hours of my own study and speculation of how the game logic might be implemented.

Building

First, ensure that you have the following core dependencies installed:

Library Dependencies

The same dependencies used in nomlib can be used in TTcards. See nomlib's sourceforge.net project files page for downloading pre-packaged dependencies for your platform.

  1. Create a new directory under the game's source repository called third-party.
  2. Download the latest dependencies for your platform in the third-party directory and extract.
  3. Profit?

Mac OS X

Requires clang with the libc++ standard library (v3.x through v5.x are known to work for me on OS X).

git clone https://github.com/i8degrees/ttcards
cd ttcards
mkdir build && cd build
cmake -DDEBUG=on -DDEBUG_ASSERT=on -DNOMLIB_DEPS_PREFIX=<your_library_deps_path>/osx -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 ..
make
make install

Replace with the full directory path of the library package you have extracted, i.e.: ~/Downloads/ttcards/third-party. Be sure that you do not forget to append /osx to the end of path.

Upon a successful build, you should have an OS X application bundle under your current build directory called ttcards.app.

Linux

Linux builds are broken at the moment.

Until I get around to writing the proper instructions, you may take a look at my .travis.yml build script in the project root of ttcards for hints!

Microsoft Windows

Requires Microsoft Visual Studio Express 2013 for Windows.

  • Required software tools in your system PATH
    • MSVSCPP -- <MSVSCPP_INSTALL_PATH>\bin
    • CMake -- <CMAKE_INSTALL_PATH>\bin

NOTE: Alpha build quality. This has only been tested on MS Windows 7.

git clone https://github.com/i8degrees/ttcards
cd ttcards
mkdir build && cd build
cmake -G"Visual Studio 12" -DARCH_32=on -DDEBUG=on -DDEBUG_ASSERT=on -DNOMLIB_DEPS_PREFIX=<your_library_deps_path>/windows ..

Replace with the full directory path of the library package you have extracted, i.e.: ~/Downloads/ttcards/third-party. Be sure that you do not forget to append /windows to the end of path.

Upon a successful generation, you should have populated your current build directory with a Visual Studio solution file called ttcards.vcxproj that you can then open and build from.

Project Options

Build options are passed to cmake with the -D option. For example, to change the installation prefix:

cmake -D CMAKE_INSTALL_PREFIX=$HOME/Applications ..
  • Installation path: -D CMAKE_INSTALL_PREFIX=<DIRECTORY_PREFIX>

    • Defaults to your current build directory
  • Debugging: -D DEBUG=<BOOLEAN> -D DEBUG_ASSERT=<BOOLEAN>

    • Defaults to OFF
  • Universal binary: -D UNIVERSAL=<BOOLEAN>

    • Defaults to OFF

Removal is provided by executing make uninstall within your current build directory.

Why

I was interested in getting back into game programming, and thought this would be an excellent long-term exercise in re-acquainting myself with C++, object-oriented design and general video game technology.

Other Remakes