Bad Night

Bad Night

This game is from ldjam.com, which is currently unavailable.
You can try viewing the original page on Web Archive (may not load correctly).
overall: 2.78
fun: 2.62
innovation: 2.97
theme: 3.35
graphics: 2.97
humor: 2.87
mood: 3.17
Getting deeper and deeper into some on a really bad night.

A game about hiding a body, getting chased by a pack of dogs, and a surprise meeting with an old friend.

Content warning: explicit language and themes of violence

How to play


Playing the game



Controls:

- [WASD] : Movement
- [Mouse] : Look
- [Left Control] : Crouch
- [Left Shift] : Sprint
- [F] : Grab/Drop interactable (while crouched only)
- [E] : Advance fullscreen text
- [Esc] : Toggle pause
- [Q] : Exit game when paused

The game will tell these to you in the subtitles as you need them.

#### Note on mouse look

Prior to version 1.0.3, mouse look was inverted for the horizontal and vertical axes and was no configurable. 1.0.3 added a mouseconf.txt file that will be read when the game loads, if present. as of 1.0.4, this file should be present in the Linux and Windows distributions. The default behavior when this file is not present is non-inverted for horizontal and inverted for vertical.

Acquiring the game


There are release versions for the game for Linux and Windows. The game's code should be compatible with Mac OS as it only uses OpenGL 3.3 core profile functions, but I don't know anything about building for Mac. If you are a C++ developer on Mac and would be comfortable creating a binary distribution, please let me know!

The Windows version on the game runs successfully on Linux under Wine, as well. It may be possible to run the Windows version on Mac using wine. If you try it, please let me know!

Since this game is written in C++, it is possible that releases will not work on a given system if it is significantly different from the one it was compiled on. For this reason, it may be necessary to build the game yourself from the source code. See the section on building below.

Building


The source code distribution provides a CMakeLists.txt that can be used to create build files. This is my first ever CMake project, and I don't think I'm doing it quite right, so it may not correctly create build files for every configuration. However it should work just fine for Unix Makefiles and MinGW Makefiles, which I have tested. The compile flags assume you'll be using GCC to compile. It may work for Clang and (less likely) MSVC, I have no idea though. If in doubt, I'd suggest using GCC/MinGW-GCC.

In order to use the CMake build system you will need to install CMake. If you don't have a C++ compiler you'll need that too. Linkies:
https://cmake.org/
http://mingw-w64.org/doku.php

This project uses several 3rd party libraries, which will need to be present for linking. I have the GitHub repo set up to use submodules to get the source for (all but 1 of) these libraries, so I'd suggest using Git to pull the source and passing `--recurse-submodules` when cloning. The only library that isn't set up to use submodules is GLEW. For that, you should download the latest release from their website: http://glew.sourceforge.net/. If you are on Windows and using MinGW, there are binaries you can grab there, otherwise you can download the source and compile from that. In any case see their documentation for more info. If you are on Linux, you may be able to install GLEW from standard repos. For instance, on Debian there is the package libglew-dev. When you build the game, you will need to tell CMake where you have GLEW installed (if non-standard). You can do this by passing `-DGLEW_INCLUDE_DIR:FILEPATH="path/to/glew/include" -DGLEW_STATIC_LIBRARY_RELEASE:FILEPATH="path/to/glew/lib/libglew32.a"` when you run CMake.

If I remember anything else I will update this. In the meantime please let me know if you have problems with building. I am happy to help if I can.

Changelog:


- [v1.0] : Initial Jam submission
- [v1.0.1] : Fixed a bug in the code that made it impossible to win. The collision detection with the dogs was using the wrong Bullet physics method, and testing whether the player and the dogs could collide rather than if they were colliding. The current release points to the updated version.
- [v1.0.2] : Fixed a segmentation fault that happens when terrain chunks are unloaded by "disabling" rigid bodies before deleting the entities they were attached to. No changes were made to gameplay.
- [v1.0.3]: Fixed the mouse look to be in line with people's expectations! It is no longer reversed horizontally but is reversed vertically still. You can change this by adding a "mouseconf.txt" in the folder with the executable with the lines "reverse horizontal false" and "reverse vertical true" with whatever value you would like for each axis true or false. Thank you to everyone who commented about this issue!
- [v1.0.4] : mouseconf.txt now provided with binaries. Fixed a segmentation fault when entering the cave (again, due to Bullet rigidbodies). Removed debug glGetError checking in renderer code. Boosted speed when dragging by 0.25 m/s
- Changed default mouse configuration to have non-inverted vertical movement out of the box, based on feedback
Found a bug?
Tell us on Discord