Code Monkey home page Code Monkey logo

kivent's Introduction

KivEnt 3.0

KivEnt is a framework for building performant, dynamic real-time scenes in Kivy for Python2 and Python3. At the moment it is 2d oriented. The only dependency for the kivent_core module is Kivy itself. Additional modules may have other requirements, such as kivent_cymunk module being based on Chipmunk2d and its cymunk wrapper.

An entity-component architecture is used to control game object state and the logic of processing the game objects. This means that your game objects will be made up of collections of independent components that stricly hold data; each component corresponds to a GameSystem that will perform all data processing on the components, in the update loop each frame, and as a result of user interaction or other programmaticaly generated events. All memory for the built-in components is allocated statically: if you would like learn more about memory management, read here.

KivEnt is built with a modular architecture and designed to have both a python api and a c-level cython api that allows more performant access to your game data. This makes it suitable for quickly prototyping a mechanic completely in python, and relatively trivial to then deeply cythonize that GameSystem if you find it to be performance sensitive. This process has already been done for the built-in components meaning they are ready for you to build new, performant game systems on top of them.

Project Revitalise

So This project has been pretty down in the dumps, and needs some love. If you love KivEnt and have the technical know-how please have a go at it. Im sure the community will thank you for it. In the mean time, I will work on this.

Project Website:

http://www.kivent.org

Mailing List:

https://groups.google.com/forum/#!forum/kivent

Documentation:

http://www.kivent.org/docs

Getting Started

Read the introduction on the github wiki.

Dependencies

KivEnt is split into modules, the core module, 'kivent_core', is dependent only on Kivy.

Other modules may have other dependecies, listed here:

kivent_core: <--- Only One tested

kivent_cymunk:

kivent_particles

kivent_maps

kivent_projectiles

Installation

first install all dependencies then:

cd .../KivEnt/modules/core
python setup.py build_ext install

or

cd .../KivEnt/modules/cymunk
python setup.py build_ext install

If you want to install into a system python on something like ubuntu you may need to:

sudo python setup.py build_ext install

If you would like to instead build the modules in place and use PYTHONPATH to find them:

cd .../KivEnt/modules/core
python setup.py build_ext --inplace
export PYTHONPATH=/path/to/KivEnt/modules/core:$PYTHONPATH 

or:

cd .../KivEnt/modules/cymunk
python setup.py build_ext --inplace
export PYTHONPATH=/path/to/KivEnt/modules/cymunk:$PYTHONPATH 

Windows Kivy Portable Package Installation:

Open the kivy-2.7.bat (kivy-3.4.bat if using the py3 portable package) command console and type:

pip install https://github.com/tito/cymunk/archive/master.zip

Now either download and extract or git clone the KivEnt source:

git clone https://github.com/Kovak/KivEnt.git

Assuming you have KivEnt in the root folder for the portable package, in the kivy-2.7.bat console:

cd KivEnt/modules/core
python setup.py build_ext install
#check core install
cd ../../examples/2_basic_app
python main.py
cd ../../modules/cymunk
python setup.py build_ext install
#check that cymunk install
cd ../../examples/6_controlling_the_viewing_area
python main.py

Tested On:

Tested with master branch. Python 3.7

Tested on Windows

Support

None ATM

Contributing

Want to help? submit a pull request.

License

KivEnt aims to be a full MIT licensed project. At the moment every module is MIT, however this could change in the future. To be sure of the licensing for a module refer to the LICENSE file inside that module.

kivent's People

Contributors

kovak avatar chozabu avatar udiboy1209 avatar maho avatar keyweeusr avatar tim-win avatar sleepprogger avatar llfkj avatar dummerbd avatar labuzm avatar megapanchamz avatar saqib1707 avatar tshirtman avatar inclement avatar hackalog avatar squarrel avatar kived avatar dessant avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.