bitcicle


gamedev

gamedev was started as a high school project between Andrew Belle-Isle and Clyne Sullivan, written in C++ and using SDL2/OpenGL. The goal of this project was to have a completed commercial-grade video game available for Linux and Windows users; the plan was to profit off the game once it and the engine were finished. Through the first year and a half of development we quickly learned that the game's engine would need the most focus, as we were starting from complete scratch. Due to this, there is no playable, plot-based game (yet?).

However, the engine is still growing. Development has now slowed to a crawl with the start of our college lives, but changes will still be made every now and then. Maybe a true video game will eventually come out of this, but the engine will always remain open source.

View the code on github
See the changelog here

Demo Images

Gameplay

Evening Daytime

Menu UI

Sound Mixer Menu It even includes a segfault button for all of your segfaulting fun!

October 15th, 2018

Updates

gamedev was started before I had this site, so no official project updates were written for any of the commits. The best way to see the updates that occurred is to look at the changelog that was written during the primary development period.

If any development is done to gamedev from this point on, I will add some updates here, until then the changelog and github commits will have to do.

January 3rd, 2016

README.md

gamedev

gamedev was started as a high school project between drumsetmonkey and tcsullivan, written in C++ and using SDL2/OpenGL. The goal of this project was to have a completed commercial-grade video game available for Linux and Windows users; the plan was to profit off the game once it and the engine were finished. Through the first year and a half of development we quickly learned that the game's engine would need the most focus, as we were starting from complete scratch. Due to this, there is no playable, plot-based game (yet?).

However, the engine is still growing. Development has now slowed to a crawl with the start of our college lives, but changes will still be made every now and then. Maybe a true video game will eventually come out of this, but the engine will always remain open source.

Build Requirements

The 'gamedev' project can be built on both Linux-based and Windows operating systems. The game has been verified (at some point) to work on Debian, Arch Linux, FreeBSD, and Windows 7/10. The following programs and libraries are required to build 'gamedev':

Windows builds are done with msys2, 64-bit. The compiler must support C++17.

Build Preparation

The Makefile expects a file named setup.mk to exist. It needs to define two variables:

TARGET_OS = # either win32 or linux
TARGET_BITS = # either 32 or 64

A settings file must also exist. Take the sample one to start:

(from the root directory)
cp config/settings.xml.example config/settings.xml

Finally, create an output directory (used for compiling):

mkdir -p out/systems out/components

Building

EntityX needs to be built only once before building the rest of gamedev, a library file will be outputted that the main Makefile uses for the main build.

cd entityx
make
cd ..

To build the engine:

make

This command may be multithreaded using the -j argument.

To run on Linux, once built:

./main

To run on Windows:

main.exe

The executable takes the following arguments:

-d is mainly used in conjunction with -r, to reset the XML files and then exit the game before they can be rewritten.

Controls

The following are the controls for the game. Any extra controls can be found somewhere in src/ui.cpp or src/player.cpp Some controls can be adjusted using the in-game control menu.

Movement:

Other: