All Projects → carlfindahl → wacman

carlfindahl / wacman

Licence: other
Creating a pacman clone with OpenGL 4.5 and EnTT

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to wacman

Spatial.Engine
[WIP] Spatial is a cross-platform C++ game engine.
Stars: ✭ 50 (+61.29%)
Mutual labels:  glfw, entt
ElkEngine
Simple graphics engine used as submodule in many of my projects
Stars: ✭ 54 (+74.19%)
Mutual labels:  glfw
WebAssembly-WebGL-2
A simple port of the "Getting started with GLFW3" code to valid code for Emscripten compilation
Stars: ✭ 65 (+109.68%)
Mutual labels:  glfw
ruby-imgui
Yet another ImGui wrapper for Ruby
Stars: ✭ 42 (+35.48%)
Mutual labels:  glfw
azteroids
Simple Asteroids game in C++ and OpenGL
Stars: ✭ 51 (+64.52%)
Mutual labels:  glfw
3d-core-raub
An extensible Node.js 3D core for desktop applications
Stars: ✭ 55 (+77.42%)
Mutual labels:  glfw
mach-glfw
Ziggified GLFW bindings with 100% API coverage, zero-fuss installation, cross compilation, and more.
Stars: ✭ 186 (+500%)
Mutual labels:  glfw
glfw-d
D translation of GLFW, a multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
Stars: ✭ 14 (-54.84%)
Mutual labels:  glfw
GLFWDotNet
.NET bindings for GLFW.
Stars: ✭ 47 (+51.61%)
Mutual labels:  glfw
glfwJS
The N-API bindings for GLFW
Stars: ✭ 49 (+58.06%)
Mutual labels:  glfw
imgui-java
JNI based binding for Dear ImGui
Stars: ✭ 270 (+770.97%)
Mutual labels:  glfw
anchovy
D language multimedia library for games and gui applications
Stars: ✭ 22 (-29.03%)
Mutual labels:  glfw
glfwm
GLFW Manager - C++ wrapper with multi-threading
Stars: ✭ 60 (+93.55%)
Mutual labels:  glfw
godot entt example
A simple example on how to use entt (https://github.com/skypjack/entt) within godot
Stars: ✭ 36 (+16.13%)
Mutual labels:  entt
zig-vulkan-triangle
simple triangle displayed using vulkan, glfw, and zig
Stars: ✭ 55 (+77.42%)
Mutual labels:  glfw
pyunity
A pure Python 3D Game Engine that was inspired by the structure of the Unity Game Engine
Stars: ✭ 187 (+503.23%)
Mutual labels:  glfw
scop vulkan
A 3D model viewer written C++20 and Vulkan
Stars: ✭ 133 (+329.03%)
Mutual labels:  glfw
Little-Ruler
A game engine that can be built for Android and Windows.
Stars: ✭ 16 (-48.39%)
Mutual labels:  glfw
bigger
bigg (bgfx + imgui + glfw + glm) + utils
Stars: ✭ 101 (+225.81%)
Mutual labels:  glfw
EnttPong
Built for EnTT, at the request of the developer as a demo.
Stars: ✭ 51 (+64.52%)
Mutual labels:  entt

Wacman 2019

screenshot

Version History

Currently the latest version is 1.1.2.

  • 1.1.2: Updated EnTT to latest master version. No gameplay changes.
  • 1.1.1: Add AudioSystem. This will play sounds on food pickup and on ghost / player death etc. More events too.
  • 1.1.0: Level Editor, Refactored entire gamplay, basic LUA support, multiple levels and high scores per level...
  • 1.0.2: Add Post processing effects
  • 1.0.0: Final game with final music sounds and final logic / gameplay adjustments
  • 0.9.0: Except final tweaks, has all major gameplay features, but not final audio.
  • 0.1.0: Every version before that

Build and Run

Build Requirements

GLFW, GLM and OpenAL are required to play. I use find_package to locate these libraries so on Linux it should be a matter of installing them via the terminal and then running CMake. On Windows you should specify these directories manually unless you have installed the libraries in a way that they can be found on the PATH variable. EnTT and sol2 will attempt to find_package but if not, CMake will download the required versions from GitHub and use that local version in the build using FetchContent.

Building

Run CMake and generate a project, preferably in a build/ directory. Compile the program with your chosen compiler for your OS/IDE. The external dependencies (GLFW, GLM and OpenAL) will be built automatically by CMake in this step too. Then on Linux, just execute the pacman file. If you use Visual Studio the relative directories are weird when running so you must manually copy the res folder into the same folder as your executable. This does not apply for VSCode or other generators on Windows.

The application works with relative paths where the relativity always starts from the path of the executable on your hard drive, and not your working directory.

Remember to build in Release mode to avoid being spammed with Debug info and overlays.

Running

The game has multiple levels you can play through. It attempts to be as true to the original as possible, with a few tweaks and a more modern feel overall. For example, the theme is remixed and due to the new levels things work differently. Also, the Ghost AI is not 100% like the original. Check out the Help / Credits section of the Main Menu in order to see more info.

When you play, your goal is to eat all the tiny food objects without dying. When you do, you win. A high score is recorded locally and as long as you play on the same PC, you can compete with others. The high scores are per level, so if you are terrible at one level, perhaps you will shine doing another one. (Future idea: Sync high scores online)

Sound Licensing

All sound effects are home-made using SFXR or recorded live and are CC0, public domain now.

The remixed theme was made by my cousin, Andreas Findahl on request by me. Check him out, he makes good stuff, and can not be used elsewhere without their permission.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].