[squeakland] Project Announcement: EmoSTEP

Jeremy Landry hakyoku at gmail.com
Thu Jan 25 21:05:59 UTC 2018

On Thu, Jan 25, 2018 at 10:26 AM, Jecel Assumpcao Jr. <jecel at merlintec.com>

> Jeremy,
> > Indexed palette is definitely what I want to include.
> I've always hated that even though memory limitations forced me to
> include it in my hardware designs. I was so glad when we left that
> behind at the turn of the century. On the other hand, it was a neat way
> to add amazing water and fire effects to an otherwise static background:
> http://www.effectgames.com/demos/canvascycle/

It's funny you show that screenshot as the artist of that piece gave a
great "You kids today don't understand!" talk at GDC about retrographics
and how most people do it incorrectly, to which I'd have to agree,
considering that photoshop is not the tool to make this kind of thing yet
if you search 'pixel art tutorial' anywhere, 95% of the time will be a bad
lesson where someone insists on using a tool that cannot handle palette
manipulations the way software like GRAFX2 or DeluxePaint can.  They even
insist on hand drawing the stipple patterns!  It's insanity!  He also
mentioned in that talk that he really hated being limited in color, so I
know it wasn't just you!  But he does go on to say that the way palettes
are handled when limited is far more capable of special effects on the
cheap and is more fun for him to explore from an artist perspective.  I
agree with that as well as I've spent hours exploring effects like that in
GRAFX2...there's a lot of unexplored territory and I do hope to bring that
frontier in some form into this hack of Etoys.

I wonder how well this still works in Squeak? When people make changes,
> they tend not to test things that they don't use themselves leading to
> "bit rot". Since I ran Squeak 3.x on a machine with only 256 colors I
> know it worked back then. But I never tried the indexed modes when the
> hardware was true color.

It's still working, it seems!  I've run a couple of the tests in the EToys
image of the blitter, one of which was a palette rotation demo and it
worked nicely.  I was also able to 'recreate' it using Etoys script and 100
overlapping objects and while not quite as fast, it was a lot faster than I
expected, considering how many specific objects were getting color change
commands.  Even on underpowered/obsolete (by today's standards) hardware.
It's a great, cheap way to make things look like they're moving without
using up a lot of draw time.  There's a fellow who is using Cuis Smalltalk
that is looking into optimizations of drawing based on order and
viewability/obscurity as an optimization so that things hidden aren't
drawn.  I doubt I'll be able to 'port' any of that into Etoys, but his work
is on my radar.  He demo'd a very preliminary implementation here:


> > As far as B*W/1bit, I'm actually a big nerd/fan for black and white
> > displays.  They silently put a focus on making things rather than
> > deciding how they should look...because let's face it, if you're not
> > busy deciding what color to make your car, then you should be already
> > making your car!
> You worry about textures instead :-)

Yes yes!  Been there...haha...I still, from time to time, play with Cricket
Paint on miniVMAC...when I was deciding whether to do this project in color
or not, one of the ideas I had was 'Megatosh', the 'what if Steve Jobs had
ripped off every thing he saw on that famous trip everyone refers to
instead of just the window presenters?  Then I realized it would just be
Smalltalk80, so that was a dead-end.

> > Since I'm looking at the Amiga 500 and Atari ST as main inspirations
> > on how to make the project 'appear', I've been kicking around the
> > idea similar to what you mentioned, but with both included: namely
> > a high resolution b&w mode and low resolution indexed palette/color
> > mode.  That way, if nothing else, the high resolution B&W might be
> > considered a way to get more screen realestate for etoys scripting
> > that gets complicated or for people who are just discovering the
> > smalltalk/squeak underneath while the lower, color resolution would
> > be ideal for 'presenting projects'.
> Well, the ST actually had separate outputs and monitors for the two
> options. And the OLPC machine had a black and white mode for outdoor use
> (you needed the backlight for color). Even the Xerox Alto, which was
> famous for the high resolution black and white monitor, had an optional
> (and rare) color board.

I'm not especially interested in doing 1:1 recreation of any specific
machine, but was thinking of ways to reconcile my nerdy want of a high res
B&W mode.

Etoys doesn't have a separate development and presentation mode but
> Scratch does so it seems people are ok with that.
I also don't have any intention of fundamentally changing the way Etoys
works or feels.  Most of the 'changes' if you can call them that are
primarily in the aesthetics department.  When I mention presentation mode,
I was never thinking of making a change, but rather recontextualize what is
already in Etoys.  In this case, presentation mode would refer to switching
a book/card stack to display full screen.  When not in full screen, it may
have reverted back to B&W and the initial project when starting up for the
first time would be inside of a book.

> > It's still undecided at this point, but is also going to heavily depend
> > on how fast/much I can learn smalltalk as I go.  I'm not a programmer
> > in the way many of you are, I'm more of an artist hacker, and thus
> > my abilities to bring such things to life is limited by this!
> There are many levels of programming and what you want to do is a bit
> advanced. It is always hard to do this kind of project by yourself
> instead of as part of a group of people with different talents.
> -- Jecel

I'm not new to programming, or young (well, maybe I am in relative terms to
some of the people who have worked on Smalltalk over the years), I'm just
saying I wouldn't apply for a programmer position outright...let's just
say, I'd have a good chance on a team to be lead tester or maybe even a UI
programmer, but definitely not the kind of person you would depend on for
timely delivery of a brand new structure.  :)  Thankfully, that's mostly
all I am doing with this project since some really clever people before me
did most of the hard work already.  Open Source FTW.

Thanks for the comments, they were insightful and sparked quite a lot of
thought on my end...I think I typed 10x more that didn't make it into the
final reply here!  :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakland.org/pipermail/squeakland/attachments/20180125/f108ad04/attachment.html>

More information about the squeakland mailing list