Asciin.py
A 2D and 3D Ascii game engine written for performance (still under development).
ReadTheDocs | PyPi Project | Github Repo | Dev server
Status Demo
- Matrixes Patterns
An example in working with PixelPainters.
Credits to LuckyDevStuff for the examples ~
More examples here.
Installing
Python 2.7 or higher is required
// Windows
py -m pip install -U asciin.py
// Linux/macOS
python -m pip install -U asciin.py
Quick Start
-
Instantiate a
Asciinpy.Windowclass with the desired values. -
Define your game loop and decorate it with the
Asciinpy.Window.loopdecorator that should accept one parameter of typeDisplayable. -
Write some fancy code with or without built-in models to render.
-
Call the
Asciinpy.Window.runmethod!
from Asciinpy import Displayable, Window, Resolutions
from Asciinpy._2D import Square
# Define a window
window = Window(resolution=Resolutions._60c)
@window.loop()
def game_loop(screen): # type: (Displayable) -> None
coordinate = (0, 0)
length = 8
texture = "%"
Square = Square(coordinate, length, texture)
while True:
screen.blit(Square)
screen.refresh()
window.run()
Contact me at Neo#1844 for inquiries.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
The changelog only keeps track of updates post version 0.1.4
[0.1.6] - 2021-08-13
Notes
- This is the last update until major release
0.2, which is expected to feature 3D elements at first hand and a more concrete structure definition, although there are possibilities of bug fixing releases before it.
Added
- Concept and Classes on
Line, made up of two sets of points - Concept and Classes on
Triangle, only made possible on derivation of theLineclass - Birth of
amathmodule in the general scope - Concept and Classes on
Matrix, the genesis of all 3D objects and concepts for the future ;) supports all operable actions with and on itself and other compatible types - An installable extension package which is a code interpolator that condenses any post version 0.1.4 distributions of the library into one singular
.pyfile that can be shipped off readily. The condensed python contains version information, resolved relative dependencies, system dependencies and licenses as well ~ it will also support the submodule importing syntax e.g.from Asciinpy.twod import Plane; as it makes-up classes under the namespace of the sub packages with their contents defined.
Changed
- Objects are now appropriately categorized onto their respective sub-packages (
_2Dand_3D)if said dimensions are an integral part of differientiating and using them ~ objects lower than 2D are put in the general scope, this is for example whyutilsandamatharen't categorized into dimensions. - 2D specific models are now subclassed under
Planewhich is a renamed class of version 0.1.4Model~ while the 3D base model class is namedModel.
Metadata
Release files for Asciin.py 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| Asciin.py-0.1.7.tar.gz | 19.4 kB | Details |
Release files / Asciin.py-0.1.7.tar.gz
| Download URL | Asciin.py-0.1.7.tar.gz |
|---|---|
| Size | 19.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cbced2478a25e919592b8267b77680940254d5afd9f28013af960192805a2c68
|
|
BLAKE2b-256 checksum How to use checksums |
3c9b71432737d92df4b724e7cd8955cb4b5fb716a4ef52514cd174b22cc96179
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6
|