Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

407883 Posts in 13862 Topics- by 26277 Members - Latest Member: gonna24you

July 31, 2010, 06:18:04 PM
TIGSource ForumsCommunityFeedback (Moderator: Guert)Paintf***
Pages: [1] 2 3 ... 6
Print
Author Topic: Paintf***  (Read 7203 times)
whitespace
Level 0
**


View Profile
« on: November 22, 2008, 06:28:50 AM »

Hi!

This is a sketch for an esoteric language that produces generative art.
Basically it's smallfuck (http://esolangs.org/wiki/Smallfuck), a deriative from brainfuck, only now with a 2d-grid.

commands:

n     -moves pointer north
s     -moves pointer south
e     -moves pointer east
w     -moves pointer west
*     -flip current cell (black->white, white->black)
[     -jump past matching ] if cell under pointer is black
]     -jump back to matching [

Other characters than commands, whitespace and newlines are ignored.
grid is 40x40, and it wrapping -> moving east at 39,7 will move into 0,7
moving north at 23,0 ->  23,39.

you can get the player/toy/IDE here:http://willhostforfood.com/files3/7766096/pain.rar
(1.4MB)
Allthough I have big interest in esolangs and genart, I'm not a real mathematician. I made some sampleprograms for learning loops/if-construction though.

copy/paste in the white space of the player and press run:
Code:
*[[e*s*]*[s*]ee*]
Code:
*[[[[nnn**n]w*]s*]*[w*n]*]
Code:
*[[[e*]*[es*]*[s*]*[ws*]*[w*]
*[wn*]*[n*]*[ne*]nw*][e]*]
Code:
*[[eeee*eee*ee*]ssss*]*[[[[ssss*sss*ss*]wwww*]w]
But since the languages brainfuck and smallfuck are considered to be turing-complete(http://esolangs.org/wiki/Turing-complete) I dare to believe much more interesting things are possible with this thing.

I like to create a extreme simplified language to create art, probably I will add some features like color though.

I hope someone sees the beauty in it  Sad
« Last Edit: November 22, 2008, 06:41:58 AM by whitespace » Logged
kYn
Level 10
*****



View Profile WWW Email
« Reply #1 on: November 22, 2008, 07:38:57 AM »

Maybe you should already include some template codes in the program itself (maybe those ones you had in your post), this is a little confusing at first glance, I had no idea what I was supposed to do
Logged
agj
Level 10
*****



View Profile WWW
« Reply #2 on: November 23, 2008, 07:00:34 PM »

This is great! Reminds me of both Logo and Conway's game of life. Smiley There should be a way to consider the possibility of different canvas sizes, though, right? Without altering the final result of the program, I mean.
Logged

Farbs
Man
Level 9
*



View Profile WWW Email
« Reply #3 on: November 23, 2008, 07:28:53 PM »

This is a cool idea.

It'd be awesome to see it on its own page, with clipboard linking like TIGerPaint. Then people could share their programs much more easily.

To implement this you'd need to do the following:
* Optionally load a program from the url (eg: http://www.website.com/pain.html?*[[e*]s*])
* add a "Copy link to clipboard" button that creates a link for the current program (as above) and copies it into the clipboard, ready for a forum post

EDIT:
*[*e*[ee*]*s*]
EDITEDIT:
*[[e*]*w*w[s*]*n*n[w*]*e*e[n*]*s*s]
EDITEDITEDIT:
*[[e*]*w[s*]*n[w*]*e[n*]*s]
« Last Edit: November 24, 2008, 02:42:57 AM by Farbs » Logged
Farbs
Man
Level 9
*



View Profile WWW Email
« Reply #4 on: November 23, 2008, 08:37:52 PM »

PONG

*n*[e*s*n]*s*
sssssss
*s*s*s*s*
nnnn
w
nnnnnnn
nnnnnnn
*n*n*n*n*
ee
sssssss
sssssss
ssssss
*
[
[*ne*]*sw*
[*se*]*nw*
[*sw*]*ne*
[*nw*]*se*
]
Logged
whitespace
Level 0
**


View Profile
« Reply #5 on: November 23, 2008, 09:18:41 PM »

Thanks for your interest! That's great.

Maybe you should already include some template codes in the program itself (maybe those ones you had in your post), this is a little confusing at first glance, I had no idea what I was supposed to do

I will try to make tutorial when I come home tonight or tommorow, but it isn't really that hard if you just take your time.

This is great! Reminds me of both Logo and Conway's game of life. Smiley There should be a way to consider the possibility of different canvas sizes, though, right? Without altering the final result of the program, I mean.

Thanks. SUre there can be different canvas-sizes in the end, just like different framespeeds.

This is a cool idea.

It'd be awesome to see it on its own page, with clipboard linking like TIGerPaint. Then people could share their programs much more easily.

To implement this you'd need to do the following:
* Optionally load a program from the url (eg: http://www.website.com/pain.html?*[[e*]s*])
* add a "Copy link to clipboard" button that creates a link for the current program (as above) and copies it into the clipboard, ready for a forum post

EDIT:
*[*e*[ee*]*s*]
*[[e*]*w*w[s*]*n*n[w*]*e*e[n*]*s*s]
*[[e*]*w[s*]*n[w*]*e[n*]*s]

Yeah, it's already in flash so that makes integrating in  a website very easy.
I like your animations very much, I'm happy someone tried to understand it, that's cool. 
Logged
Matias Kallio
Level 10
*****


POLICEDANCECLUB


View Profile Email
« Reply #6 on: November 23, 2008, 09:48:41 PM »

Oh man, this is cool!

*[e*eee*ww*ww*ww*s*s*s*s*w*w*w*www*ww*s*s*s*]
Logged
Hideous
That's cool.
Level 10
*****


holy shit


View Profile WWW Email
« Reply #7 on: November 23, 2008, 11:10:16 PM »

I tried making an isometric grid.

ssssssseeeeee*[s*e*e*s*e*e*s*e*e*s*e*e*s*e*e*s*e*e*]n*[n*e*e*]*[s*e*e*]*[n*e*e*]
Logged

Decipher
Level 1
*


View Profile WWW
« Reply #8 on: November 23, 2008, 11:19:06 PM »

Wow a great idea! I'm so in love with this. I'll give it a proper try whenever I'll get out of this stupid establishment, namely the school.
Logged

Бескрайност!
Noyb
Level 6
*


MMF Masochist


View Profile WWW
« Reply #9 on: November 24, 2008, 12:29:10 AM »

Very nice job! Smiley

Would it be possible to add a way to stop animating apart from clearing the text and restarting?


45 degree lines
: *[ne*]*[se*]*[e*]*[s*]*[se*]*
spiral: *[[e*]*w[s*]*n[w*]*e[n*]*s]
D'oh. Repeat. Farbs had three separate ones, not a three line checkerboard one. Tired
steady pulse: sssssssssssssssssss*[[s*s*s*e*e*n*n*n*n*n*n*e*e*s*s*s*]*]
AC?: sssssssssssssssssss*[[s*s*s*e*e*e*n*n*n*n*n*n*e*e*e*s*s*s*]*]
Marquee:*[[ee*]ww[ss*]nn[ww*]ee[nn*]ss[*ee]ss[*ss]ww[*ww]nn[*nn]*]

That pong one is amazing, Farbs.
« Last Edit: November 24, 2008, 01:50:03 AM by Noyb » Logged

Assemblee - Dot Dot Dot ::: Edge - Edge Tycoon ::: Bootleg - Macarena of the Missing
jeb
Level 5
*****


Bling bling


View Profile WWW
« Reply #10 on: November 24, 2008, 01:00:53 AM »

I call this one "illuminati":

eeeeeeeeeeeeeeeeeee*s*[n[sw*n]ss*n[se*n]ss*]

Logged

Farbs
Man
Level 9
*



View Profile WWW Email
« Reply #11 on: November 24, 2008, 03:05:58 AM »

Would it be possible to add a way to stop animating apart from clearing the text and restarting?

You can write your main loop to terminate, but it's a pain in the arse. See:
ee*[[*ww*eee*]*wwss*[*nn*sss*]*nnww*[*ee*www*]*eenn*[*ss*nnn*]*ssee*]*ww*

I'm glad you liked pong Grin
Logged
whitespace
Level 0
**


View Profile
« Reply #12 on: November 24, 2008, 08:18:07 AM »

Wow you guys are really amazing!!!!!!  Grin Grin Grin


Any suggestions on improving the language?

*I think about adding a colorpalette of, let's say, 8 colors, which you can cycle through by using the plus/minus-characters (+/-).
*And adding functions like in procedural brainfuck:http://esolangs.org/wiki/Pbrain
*maybe single numbers would (0-9) work as speedsetters for the animation.

It would improve language as functional language, but I'm not quite sure if I want that.

« Last Edit: November 24, 2008, 08:22:23 AM by whitespace » Logged
increpare
Guest
« Reply #13 on: November 24, 2008, 09:24:27 AM »

great idea! 'tis a lot of fun.

thing:

*[[w*ee*]ee*n*[se*]*]


other thing:

*[[w*e*]e*n*[s*]*]

thing that generates a grid, but ends up as something else:

*[[s*]e*[s*]*]

(slowly) draws a grid, then erases it again (and repeats, forever):

*[[s*]w*[ne*]*]


ALSO:  *[] seems to crash it

Quote
Any suggestions on improving the language?
threading  Evil

Or: have the algorithm work for any 2d mesh with rectangular facces: that would definitely be cool, and totally not require any changes to the language.

Also: somthing to consider would be to make an iphone version: the input is so basic that it would be really good for a touch-screen interface.  I'm pretty sure it'd be quite popular.
« Last Edit: November 24, 2008, 09:46:41 AM by increpare » Logged
mjau
Level 2
**



View Profile
« Reply #14 on: November 24, 2008, 10:06:43 AM »

Code:
sssssssssssssss
sseeeeeeee
*s*s*s*s*e*e*n*n*sse*e*n*n*n*n*ee
*s*s*s*s*nne*e*e*enn*s*s*s*s*ee
eeeeee*wwwwww*
[n*n*n*n*e*e*e*e*ssw*w*w*ss*e*e*e*ee]
*nn*n*n*
eeeeeeeenn
*[e*]*ssssssss
*[e*]*nnnnnnn*[
[*[s]e[w*e*]ws*]*ne*
[*[n]e[w*e*]wn*]*se*]
Logged
Pages: [1] 2 3 ... 6
Print
Jump to:  

Theme orange-lt created by panic