ticalc.org
Basics Archives Community Services Programming
Hardware Help About Search Your Account
   Home :: Archives :: News :: Laying pipes and pixels

Laying pipes and pixels
Posted by Xavier on 25 May 2019, 20:37 GMT

Flow CE PaintShop CE

Looks like we're back to highlighting programs for color screens, with assembly programs this time, even ;)

jonbush's FlowCE is a "pipe-laying" game for the CE series, where the player needs to connect inputs and outputs through colorful pipes, without leaving empty spaces on the grid (even if some levels can sometimes be solved with shorter, straighter pipe trajectories). Loops for a pipe of any given color, or intersections between pipes of different colors, are forbidden.
The game's potential playing time is fantastic, thanks to the built-in set of 600 (!) levels of varying sizes, ranging from small, easy 5x5 ones to extremely challenging 14x14 ones... We can wonder who even finished all levels? 10x10 levels with 10 flows can already prove to be a challenge, even if it probably eases with experience, but still... it takes some thinking to fill a nontrivial 14x14 grid entirely with 15+ non-intersecting flows, so dozens of these, ouch :)
Maybe a (semi-)random mode could expand the game's life even further? Levels could be programmatically checked for playability before being handed to the user, using some more or less classic pathfinding algorithms. I'd guess that the built-in set of levels was at least partially generated by a computer. On large grids, a pure random + check approach might be too computationally expensive for a mid-range calculator, though.
This game is open source, under the GPLv3, and hosted on Github if you want to take a look. It currently represents jonbush's only assembly program in our archives.

PaintShop CE, by our young and talented member Ben "calclover2514" Pryor, is a graphics/drawing program he developed in ICE for the TI-eZ80 series calculators, and uploaded here recently. The README states that it's his first native code program. It features what you would expect from a simple editor, with several niceties. There's more than setting foreground and background color, drawing individual pixels and lines of width 1, erasing and filling rectangular areas: configurable line width is supported for some operations, rectangles and circles (both outline and filled) can be drawn, as well as text, and there's a single-level undo/redo operation. The large set of available key bindings described in the README duplicates functionality accessible through the mouse, but in a faster way. Note that the program received fixes shortly before this news item was written, so if you downloaded it earlier, you should use the newer (>= 1.2.0) version. The source code is provided alongside the program.

  Reply to this article


The comments below are written by ticalc.org visitors. Their views are not necessarily those of ticalc.org, and ticalc.org takes no responsibility for their content.


Re: Laying pipes and pixels
calclover2514 Account Info

PaintShop CE was NOT my first non-BASIC program, just so you know. 😛

Reply to this comment    28 May 2019, 14:22 GMT

Re: Re: Laying pipes and pixels
Jonson26 Account Info

Just out of curiosity, is it possible to view the pictures outside of the app does it use it's own picture format? Cause if not, then your program would be (sadly, because it looks great!) pretty useless...

Reply to this comment    28 May 2019, 21:22 GMT


Re: Re: Re: Laying pipes and pixels
calclover2514 Account Info

It uses the universal 8-bit sprite format that the C libraries and ICE both use.
If you would like to convert it to a png, the only way I know to do this is to send PaintShop & the appvar named PSSAVE<slotnum> to Cemu, open it, and take a screenshot from there.

Reply to this comment    30 May 2019, 18:38 GMT


Re: Re: Laying pipes and pixels
Lionel Debroux Account Info
(Web Page)

Sorry for writing that falsehood in the news item... I don't remember where I got that idea from.
The text is now fixed :)

Reply to this comment    29 May 2019, 21:01 GMT

  Copyright © 1996-2012, the ticalc.org project. All rights reserved. | Contact Us | Disclaimer