Infinity is a game that allows a player to move around in a randomly generated 2D world that infinitely scrolls to the right.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
lib
.clang-format
.gitignore
.travis.yml
LICENSE
README.md
block.cpp
block.hpp
block_tests.cpp
block_tests.hpp
floor.cpp
floor.hpp
floor_tests.cpp
floor_tests.hpp
gameboard.cpp
gameboard.hpp
gameboard_tests.cpp
gameboard_tests.hpp
gui.cpp
gui.hpp
main.cpp
player.cpp
player.hpp
player_tests.cpp
player_tests.hpp
testing.cpp
testing.hpp
wall.cpp
wall.hpp
wall_tests.cpp
wall_tests.hpp

README.md

Infinity

Build Status License: GPL v3

Description

Infinity is a game that allows a player to move around in a randomly generated 2D world that infinitely scrolls to the right. The arrow keys control the player (in blue), which can only move on the floor (grass - green, sand - tan, dirt - brown). A mouse click creates or removes walls (in black), while a mouse drag moves walls.

This project was written in C++ using GLUT and OpenGL for an Advanced Programming Class at the University of Vermont. It is free and open source under the GPL-3.0 license.

Note: We are using the filesystem library from the yet unreleased C++17 (as of writing), thus, some platforms require special configuration when building. Please follow the instructions below for your system.


Building

Linux: Install GLUT, OpenGL, and gcc (version 6.3), then run the following in the project directory: g++ -std=c++17 -lGL -lglut main.cpp gameboard.cpp block.cpp player.cpp wall.cpp floor.cpp testing.cpp gameboard_tests.cpp block_tests.cpp player_tests.cpp wall_tests.cpp floor_tests.cpp gui.cpp -o infinity -lstdc++fs

Windows: Use Visual Studio 2017 with GLUT and OpenGL installed. Make sure you add the directories containing GLUT and OpenGL to Visual Studio's library paths.

Mac: As the current version of Clang used by Xcode doesn't seem to support C++17 yet, you need to use Homebrew to install gcc (version 6.3), GLEW, and OpenGL, then run the following in the project directory (with the newly downloaded gcc): g++ -std=c++17 -framework OpenGL -framework GLUT main.cpp gameboard.cpp block.cpp player.cpp wall.cpp floor.cpp testing.cpp gameboard_tests.cpp block_tests.cpp player_tests.cpp wall_tests.cpp floor_tests.cpp gui.cpp -o infinity -lstdc++fs