Nanjizal has grown to the point where it is useful to have an overview.
Here I collate smaller projects and provide a narative on Nanjizal and the development of concepts through my experiments and helper libraries.
Utilities | ||||
---|---|---|---|---|
Trilateral ( Vectors for GPU ) | justDrawing | pixelDrawing | ||
folder | htmlHelper | Nodule ( XML -> LinkedList ) | SimpleText | |
Ports | |||
---|---|---|---|
jsgl | hxSpiro | hxDaedalus | hxRectPack2D |
triangulations | hxPolyK | ||
Puzzles/Games | |||
---|---|---|---|
JigsawX | tryflipSpin puzzle | PolyminoTriangles ( tetris ) | |
Code Animations | |||
---|---|---|---|
Zeal of Zebra | L-Systems | LED display | Dot matrix |
Interaction | |||
---|---|---|---|
Letters | Monkey | ||
Xperimental | |||
---|---|---|---|
Ascii terminal | Divtastic drawing with div’s | Ellipse SVG parsing | FXG Parrot |
Using my Leaf offset rotations, folders image/file helper and my port of RectPack2D.
From the Canvas version to the WebGL, with some Texture packing and Ascii art diversions. read more.. >
Canvas | Kha - WebGL |
---|---|
htmlHelper.canvas.Leaf | MainApp |
zeal.Zebra |
In my exploration of Zeal, and and creating a console Neko texture packer. Was curious about a quick display of images within the terminal window - Ansi and ascii. read more.. >
info | link |
---|---|
Neko Main | Main |
folder | folder.Folder |
Flexible jigsaw engine where you can adjust aspects of the curve generation and number of rows and columns.
WebGL Kha uses Trilateral mapping textures to the triangulation fill generated, rotation via arrow keys when mouse down. Canvas version uses one per Div piece.
Flash, Swing Java, OpenFL, NME ( + android ), Kha and Canvas versions, some with webcam or video.
Trilateral converts drawing commands into contours built with triangles suitable for rendering vector graphics on the GPU. Mostly tested with Kha’s Haxe toolkit with WebGL examples. Trilateral is Haxe toolkit agnostic, but additional features are to be found both in trilateralXtra library and in trilateralBazaar the examples library.
I was asked if I could make Tetris, implemented it with triangles not an MVC framework! You can define your own shapes in the code easily and it runs on all Haxe toolkits, did add SVG target but meh, also emscriptem via NME. Two versions below. Arrow keys to play.
Port of Spiro a fancy tool for making intuative curves.
TODO: upload better version to github as the code pen one move points is broken.
greatly improved this project adding cool examples, animation and implementing color and abstracting for use with both Kha and Luxe rendering or possibly other toolkits.
Simple Text provides more features than the minimal Kha text. SimpleText parses characters as integers so it’s quite low level and rather ugly inside.
Features:
A puzzle where you flip triangles by clicking on thier corners to complete the image.
A puzzle with a similar concept to a slider puzzle but instead of sliding rectangular pieces you flip triangular pieces, very hard to play. Developed in NME/OpenFL/Flash uses lots of BitmapData. It could be useful for triangular grid games in theory but the code is perhaps a bit complex for such reuse.
Nodule a library to parse XML to a faster structure.
Nodule does very low level parsing of XML using character codes, so it’s pretty fast but not infinitely robust. Provides a LinkedList firstChild structure with extensive use of abstracts to make access of final structural data easy and flexible. By hooking in Kha’s text it’s possible to provide simple color coded XML render.
Provides simple draw command API to Canvas, SVG, Swing, Flash and Pixels.
folder provides wrappers for file browsing and getting images as hxPixels and then saving them again, it was originally part of ‘finda’ but I decided it was more useful without graphics as a helper for other projects like RectPack2D.
HtmlHelper contains setup code such as basic WebGL and Canvas setup and more.
Monkey is really cool, but totally useless, because it’s all one file to run in an early version of Kodegarden with all assets encoded!
Originally a complete rework of Kharira a demo on Kha. Monkey uses hundreds of Suzanne heads with a 100 different textures. It uses Quaternions so that rotation in 3D works well. Due to the number of embedded assets it takes forever to load but runs as smooth as butter.
demo slow to load With key and mouse combinations you have complete control of rotations and translation.
Try alt + arrow up/down for Zoom.
Try Enter + shift + arrow left/right to rotate all heads speed - super crazy!
Monkey Code for the adventurous