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.pyYou 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--Gamethe which manages the entire main loopsrc/engine.py--Enginean abstract base class for backendssrc/sdl.pySDLa PyGame-based backendAssetManageran abstract base class for assets-loading objects
src/assets.py--QAssetsan asset loader forSDLsrc/qengine.py--QEngineanSDLsubclass wrapping the PyGame events with more convenient (in our case) wrapper methodssrc/level.py--Levelthe class guiding the interactions of everything that composes a game levelsrc/entity.py--Entitya base class for all on-screen objects that an user might seesrc/behaviour.py--Behaviouran abstact base class for things that controlEntities'actionssrc/stage.py--Stagecollection of layeredEntitiestied to a particular levelsrc/director.py--Directorabstract base class for things bossing everyone in a givenLevelaroundsrc/boxes.py--Boxclass for axis alligned bounding boxessrc/drawing_strategy.py-- considered for deprecationDrawingStrategyabstract 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