- # gamedev
-
+ gamedev
+ =======
gamedev is a high school project between drumsetmonkey and tcsullivan written in C++ and using SDL2/OpenGL. The goal of this project is to have a completed commercial-grade video game available to Linux and Windows users. We plan on profiting off of the game once we finish it, so once the game reaches its final stages it may become closed source (however, what was uploaded will stay for others to use as a resource).
+
+
+ Build Requirements
+ ------------------
+
+ The 'gamedev' project can be build on both Linux-based and Windows operating systems. The game has been verified to work on Debian, Arch Linux,
+ Fedora, FreeBSD, and Windows 7, 8 and 10. The following libraries are required to build 'gamedev':
+
+ * SDL2, including SDL2_image and SDL2_mixer
+ * FreeType (2? libfreetype6? who knows...)
+ * GLEW
+
+ You will also need the GNU GCC compiler collection, including the programs 'g++' and 'ld'.
+
+
+ Building
+ --------
+
+ To build 'gamedev', first create a directory named 'out' and then run make:
+
+ ```
+ make
+ ```
+
+ This command may be multithreaded using the -j argument.
+
+ To run on not-Windows, once built:
+
+ ```
+ ./main
+ ```
+
+ To run on Windows:
+
+ ```
+ win32/main.exe
+ ```
+
+ The executable may take the following arguments:
+
+ * -r, which will reset XML and player data
+ * -d, which will kill the game once initialization has been done
+
+ -d is mainly used in conjunction with -r, to reset the XML files and then exit the game before they can be overwritten.
+
++
++Controls
++--------
++
++The following are the controls for the game. Any extra controls can be found in ```src/ui.cpp```
++
++Movement:
++* 'a' and 'd' move the player left and right respectively
++* 'space' make the player jump if he obtains the jumping skill
++* 'L-Shift' increase the players speed to a "sprint" if he obtains the running skill
++* 'L-Ctrl' decrease the players speed to a "walk"
++
++Other:
++* 'f' place a light
++* 'l' create a light that follows the player
++* 't' hold to quickly move time
++* 'f3' for debug information
<Dialog name="Guy">
<text id="0" nextid="1">
- <gotox>-600</gotox>
+ Hello there! My name is Ralph.
+ <gotox>300</gotox>
</text>
- <text id="1" nextid="2" call="Johnny" callid="0" pause="true">
- You should go talk to my friend Johnny. He's a pretty chill dude.
- </text>
- <text id="2">
- Niice.
- <quest check="Your First Quest" fail="3"/></text>
- <text id="3">
- Go check out Johnny. He's cool.
- </text>
- </Dialog>
-
- <Dialog name="Johnny">
- <text id="0" nextid="1" pause="true">
- Sup bro! Have a quest. To complete it, just go talk to Ralph again.
- <quest assign="Your First Quest">
- Dank MayMay,2
- Wood Sword,1
- </quest>
+ <text id="1">
+ ...
+ <gotox>1000</gotox>
+ <set id="Slow" value="0"/>
+ <set id="canSprint" value="1"/>
</text>
+ <text id="1" nextid="1" pause="true">
+ Broooooooooooooo...
+ </text>
+</Dialog>
+
+<Dialog name="Big Dave">
+ <text id="0" stop="true">
+ Hey friend! It's dangerous out there, here take these!
+ Wait, promise you'll stop by my stand in the local market!
+ <give id="Wood Sword" count="1"/> <give id="Hunters Bow" count="1"/> <give id="Crude Arrow" count="110"/> <give id="Fried Chicken" count="1"/> <give id="Mossy Torch" count="1"/></text>
</Dialog>