]> code.bitgloo.com Git - clyne/gamedev.git/summary
 
descriptionA 2D video game project
ownerClyne Sullivan
last changeThu, 29 Aug 2019 18:18:30 +0000 (14:18 -0400)

Hey! We're giving this another go! gamedev2

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: * 'esc' for the menu * 'a' and 'd' move the player left and right * 'w' enters buildings * 'e' opens the inventory * 'space' makes the player jump if he obtains the jumping skill * 'L-Shift' sprints if the player obtains the running skill * 'L-Ctrl' decreases the player's speed * 'h' opens a current quest menu

Other: * 'f3' for debug information * 'f12' for screenshot * 't' speeds up time (ticks)

shortlog
2019-08-29 clyneplug gamedev2 master
2019-08-25 tcsullivanfinally put main.cpp in src
2019-02-26 Clyne Sullivangoodbye indoorworld
2019-02-25 Clyne Sullivanmem leak patches; world ground from image
2018-12-31 tcsullivanoops, byebye africa
2018-12-31 tcsullivanMerge branch 'master' of https://github.com/tcsullivan...
2018-12-31 tcsullivanchanges
2018-03-21 tcsullivanUpdate README.md
2017-10-26 Clyne Sullivanfight stuff
2017-10-22 Clyne Sullivanremoved random gen, indoor changes
2017-10-21 Clyne Sullivanlua scriptable world gen
2017-10-21 Clyne Sullivanlightsgit status! fireflies
2017-10-21 Clyne Sullivanmenu slider z fix
2017-10-21 Clyne Sullivanz standardization
2017-10-20 Clyne Sullivanbow/arrow updates, food
2017-10-20 Clyne Sullivanbetter pausing
...
heads
3 years ago refactor
6 years ago master