💊CSPillEngine

Team Members

Chenjie Bei
Tian (Lucas) Ma
Jiandong(Jeromy) Zhang
Yuxiao Zou

Video Trailer

Screenshots

Documentation

Click here to view the documentation for our game engine project. It includes detailed information on the engine's features, APIs, and usage instructions.

Engine Architecture

Screenshot 3

Download

You can download the binary of our game engine by clicking here. The binary is available for Windows, macOS, and Linux platforms.

Instructions for Running

Please find the binary of game engine / game with platform specified in the link above. If neither of the given platforms matches yours, plese follow the instructions below.
CMake - Preferred
cd Engine
cmake -S . -B build && cmake --build build --target install
#windows
set PYTHONPATH=~\PyCSPillEngine;%PYTHONPATH%
set DYLD_FALLBACK_LIBRARY_PATH=~\CSPillEngine\lib
#mac/linux
export DYLD_FALLBACK_LIBRARY_PATH=~/CSPillEngine/lib
export PYTHONPATH=~/PyCSPillEngine:$PYTHONPATH
cd demo
python app.py

Python Install
# make sure you're under root folder of this repo.
python3 -m pip install .

pip - unstable
pip install PyCSPillEngine==0.0.1b0 (or latest)
cd Engine/demo
python app.py

Windows Only - bat
cd Engine
.\windows_build_engine.bat
# click on run

Clion (Recommended) or Manual
Load the root folder in Clion, click reload cmake project. Select CSPillEditor to run the engine.

Post Mortem

Upon reflecting on our game engine project, we believe there are several areas that could benefit from further improvement if we had another 8 weeks to work on it. Firstly, we could create more levels for players to explore and enjoy. This would involve designing and implementing additional game content, such as new levels with unique challenges, puzzles, and assets, to enhance the overall gameplay experience and provide players with more content to engage with.

Secondly, we could explore adding online functionality to our game engine, allowing players to connect to the internet and engage in multiplayer experiences. This would involve implementing networking functionality, such as client-server architecture, online matchmaking, and multiplayer game mechanics, to enable players to connect and interact with each other in a shared virtual environment.

Furthermore, we could work on adding an animation editor to our game engine, which would allow game developers to create and edit animations for characters and objects within the game. This could involve implementing features such as keyframe animation, animation blending, and animation transitions to enable smooth and realistic character animations in the game.

In addition, we could also implement a game object tree viewer, which would provide a visual representation of the game objects and their hierarchy within the game engine. This would enable game developers to easily navigate and manipulate the game object hierarchy, allowing for efficient management and organization of game objects within the game engine.

Lastly, we could explore adding 3D rendering capabilities to our game engine, allowing for the creation of fully 3D games. This could involve implementing rendering techniques such as shader-based rendering, advanced lighting and shading models, and 3D asset importing and rendering to enable the creation of visually stunning 3D games.

In conclusion, with an additional 8 weeks of development time, we would focus on creating more levels, adding online functionality, implementing an animation editor, incorporating a game object tree viewer, and adding 3D rendering capabilities to our game engine. These improvements would enhance the gameplay experience, expand the capabilities of the engine, and provide game developers with more tools and features for creating immersive and visually appealing games.