On Thu, Jan 25, 2018 at 10:26 AM, Jecel Assumpcao Jr. <jecel@merlintec.com> wrote:
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:

https://www.youtube.com/watch?v=3VnKmQBaLec



> 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!  :)