https://github.com/alessandro-salerno/capsian-engine
A 3D Graphics Engine written in Python, featuring a Commandline interface, a package manager, ECS and more.
https://github.com/alessandro-salerno/capsian-engine
engine graphics opengl pyglet pyopengl python
Last synced: about 1 year ago
JSON representation
A 3D Graphics Engine written in Python, featuring a Commandline interface, a package manager, ECS and more.
- Host: GitHub
- URL: https://github.com/alessandro-salerno/capsian-engine
- Owner: Alessandro-Salerno
- License: apache-2.0
- Created: 2020-07-04T13:26:19.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-08-01T12:20:55.000Z (almost 4 years ago)
- Last Synced: 2025-03-30T15:47:07.615Z (about 1 year ago)
- Topics: engine, graphics, opengl, pyglet, pyopengl, python
- Language: Python
- Homepage:
- Size: 36.8 MB
- Stars: 19
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![MIT License][license-shield]][license-url]

Capsian Engine
Capsian is a weird, incomplete and performant Python game engine. The project was initially named "KeyFire Engine" but was later renamed to Capsian due to trademark related issues.
Report Bug ||
Request Feature
## Table of Contents
- [About the Project](#performance)
- [Built With](#built-with)
- [Scripting](#scripting)
- [Getting Started](#getting-started)
- [Requirements](#requirements)
- [License](#license)
- [Acknowledgements](#acknowledgements)
## Performance
Capsian performs quite well, especially when you consider Python's notorious performance issues. In terms of framerate, batched scenes tend to hover around 1000 - 4000 FPS depending on the resolution, while more dynamic scenes can be a bit harder on the CPU, leading to poor performance.
### Built With
- [Python](https://www.python.org/)
- [OpenGL](https://www.opengl.org/)
- [Pyglet](http://pyglet.org/)
### Scripting
Currently, Python is the only option for Capsian scripting. Scripts are organized in an Object-Oriented fashion, with "Script" classes, input handlers and "IndependentComponent" decorators. All Capsian scripts are handled as entity components, as such, they must be attached to an entity, either manually or automatically via the already mentioned "IndependentComponent" decorator. The Capsian Script Manager can help you set up scripts with little to no effort.
### Requirements
* A Python installation (3.7.3 Recommended)
* An OpenGL-Compatible Graphics Card
You can install all dependencies using the `prepare.py` script.
## License
Distributed under the Apache license 2.0. See `LICENSE` for more information.
## Acknowledgements
- [Carpal](https://github.com/Carpall) ( for [Capsianline](https://github.com/Carpall/Capsianline) )
- [Liam](https://github.com/Gyro7) ( for the README)
- [lolloberga](https://github.com/lolloberga?tab=overview&from=2022-03-01&to=2022-03-08)
- [Pyglet](http://pyglet.org/) ( for providing the amazing toolkit used to make Capsian possible )
- [Myself](https://github.com/tzyvoski)
[contributors-shield]: https://img.shields.io/github/contributors/tzyvoski/Capsian-Engine.svg?style=flat-square
[contributors-url]: https://github.com/tzyvoski/Capsian-Engine/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/tzyvoski/Capsian-Engine.svg?style=flat-square
[forks-url]: https://github.com/tzyvoski/Capsian-Engine/network/members
[stars-shield]: https://img.shields.io/github/stars/tzyvoski/Capsian-Engine.svg?style=flat-square
[stars-url]: https://github.com/tzyvoski/Capsian-Engine/stargazers
[issues-shield]: https://img.shields.io/github/issues/tzyvoski/Capsian-Engine.svg?style=flat-square
[issues-url]: https://github.com/tzyvoski/Capsian-Engine/issues
[license-shield]: https://img.shields.io/github/license/tzyvoski/Capsian-Engine.svg?style=flat-square
[license-url]: https://github.com/tzyvoski/Capsian-Engine/blob/master/LICENSE.txt