Partial pygame wrapper and game programming framework.
coda_kids is a partial wrapper package around pygame. It’s purpose is to make game development more accessible to a younger audiences of students. It provides inline documentation, wrappers for linter unfriendly features, and provides utility functionality/classes such as game objects and constants for common data such as colors and input.
It is currently being designed for and tested with a series of game programming exercises for an educational textbook titled Coda Kids.
The package is being designed and implemented with and for the following toolset:
Python 3.5.2 with latest Pygame and Pylint. Latest Visual Studio Code (1.11+ as of writting) with the Python extension installed.
import coda_kids as coda WINDOW = coda.Vector2(800, 600) SCREEN = coda.start(WINDOW, "Hello World!") TEXT = coda.TextObject(coda.color.BLACK, 48, "Hello World!") TEXT.location = WINDOW / 2 # center of window TEXT.centered = True while True: for event in coda.event.listing(): if coda.event.quit_game(event): coda.stop() coda.start_draw(SCREEN, coda.color.WHITE) TEXT.draw(SCREEN) coda.end_draw()
- Add a 2D animation class supportable by objects.
- Runtime type checking for coda_kids class constructors and function arguments.
- Provide additional example code and documentation.
- Clean up object interface methods.
- Refactor finite state machine tools.
- Added opinional 2d sprite animation class for use with objects.
- Added update loop for game objects that applies velocity and updates animations.
- Added an output console utility for in window output text. It can be found in coda_kids.utilities.
- Added support functions and documentation for starting and ending a frame.
- Cleaned up and added documentation to the .rst file.
- Updated git repo and setup/url information.
- Added action system to coda for python class members. [Feature in Alpha]
- Updated object class to properly scale objects with it’s scale member.
- Moved standard library imports to coda_kids.utilities
- Reformatted some of the library utilities.
- Fixed some formatting issues with the setup.py file.