Quantee is an in-development platformer, intended to draw inspiration from quantum mechanics (but not too heavily... it is foremost supposed to be playable).
We're also trying to keep some of the code generic enought so that we can rip it out and turn it into a framework without too much effort.
- Python 2.7
- Pygame 1.9
- PyYAML 3.10
Assuming your system recognises python
as Python 2.7:
% python src/quantee.py
You should be able to run around, jump, collect a star and replay the level. Use Escape to exit the game.
Sadly, far from completion. You can use pydoc to look at what's there. A brief overview:
src/quantee.py
-- main project file contains a messy bunch of classessrc/game.py
--Game
the which manages the entire main loopsrc/engine.py
--Engine
an abstract base class for backendssrc/sdl.py
SDL
a PyGame-based backendAssetManager
an abstract base class for assets-loading objects
src/assets.py
--QAssets
an asset loader forSDL
src/qengine.py
--QEngine
anSDL
subclass wrapping the PyGame events with more convenient (in our case) wrapper methodssrc/level.py
--Level
the class guiding the interactions of everything that composes a game levelsrc/entity.py
--Entity
a base class for all on-screen objects that an user might seesrc/behaviour.py
--Behaviour
an abstact base class for things that controlEntities'
actionssrc/stage.py
--Stage
collection of layeredEntities
tied to a particular levelsrc/director.py
--Director
abstract base class for things bossing everyone in a givenLevel
aroundsrc/boxes.py
--Box
class for axis alligned bounding boxessrc/drawing_strategy.py
-- considered for deprecationDrawingStrategy
abstract base class for objects deciding what to draw onscreenEverything
-- the simplest one possibleDirtyWholes
-- draws less than Everything in some cases, but always redraws a wholeEntity
So far we only know this
- Quantee is hovering a few pixels over the ground level instead of standing on the ground when jumping in place. It doesn't happen when he moves even a pixel left or right.
The scheme is major.minor.release-optional_suffix
. For versions below
1.0.0
we allow breaking backward compatibility when the minor changes
and introducing new API elements when the release changes. Post 1.0.0
we'll break compatibility only each major version, add new stuff each
minor and fix bugs each release.
See CHANGES.md.
See LICENSE.
Karol Marcjan: @szabba on both twitter and github
Bartosz Boguniewicz: @drBradley on github