The simple addictive game

By Wims
Platform:  mIRC
Published  Nov 22, 2011
Updated  Nov 22, 2011
In this game, you are the red dot and you need be fast to fall as low as possible.
Some kind of powerups are there to help you:
3 purple = 2 holes per line for 6 seconds
3 blue = a pause of 5 seconds
2 green = faster for 5 seconds
2 orange = no floor for 8 seconds
1 grey = smaller hole for 6 seconds

/picwin to run, I dare you to play only once. alias picwin {
if ($1 == again) { .timerpicwin* off | hfree -w picwin | initgame | gamestart }
elseif ($1 == clear) { .timerpicwin* off | hfree -w picwin | window -c @picwinbuf }
else { initwin | initgame | gamestart }
alias -l initwin {
window -fpdoCB @picwin -1 -1 200 300
window -fpdCBh @picwinbuf -1 -1 200 300
alias -l initgame {
hadd -m picwin x 100
hadd picwin y 10
hadd picwin inair 1
hadd picwin scroll 0
hadd picwin maxscroll 40
drawrect -fr @picwinbuf 16777215 0 0 0 200 300
alias -l gamestart {
.timerpicwindec 0 7 hdec picwin maxscroll 1 $(|) var % $+ r $!r(0,100) $(|) hadd picwin bonus $!iif(%r isnum 0-24,1,$iif(%r isnum 25-49,4,$iif(%r isnum 50-69,2,$iif(%r isnum 70-89,3,5))))
generate&scroll 3
hadd picwin start $ticks
alias -l bonus {
if ($hget(picwin,bonus)) {
drawdot -r @picwinbuf $gettok(10223772 64512 16515072 13816530 32764,$v1,32)) 5 $calc($1 + $iif($hget(picwin,hole),7,12)) 295
hdel picwin bonus
alias -l generate&scroll {
if (!$hget(picwin,noscroll)) {
if (!$hget(picwin,scroll)) && ($r(0,$iif($hget(picwin,hole),190,180)) != $null) {
var %v $v1,%r $r(0,$iif($hget(picwin,hole),190,180))
drawline -r @picwinbuf 0 3 0 290 200 290
drawline -r @picwinbuf 16777215 3 %v 290 $calc(%v + $iif($hget(picwin,hole),10,20)) 290
if ($hget(picwin,double)) drawline -r @picwinbuf 16777215 3 %r 290 $calc(%r + $iif($hget(picwin,hole),10,20))) 290
bonus %v
drawscroll @picwinbuf 0 $iif($1,-40,-1) 0 0 200 300
if ($1) { tokenize 32 $calc($1 -1) | goto start }
if (!$hget(picwin,inair)) && ($hget(picwin,y) > 0) hdec picwin y 1
hadd picwin scroll $iif($hget(picwin,scroll) >= $hget(picwin,maxscroll),0,$calc($v1 +1))
.timerpicwingen -ho 1 0 generate&scroll
alias -l mainloop {
if ($hget(picwin,y) == 0) {
if ($input(Score: $calc(($ticks - $hget(picwin,start)) / 1000) $+ $crlf $+ Play again ?,ys,@picwin,Picwin)) picwin again
else picwin clear
var %s $gettok($hget(picwin,stack),1,32),%y $hget(picwin,y) + $iif($hget(picwin,inair),2,0),%x $hget(picwin,x) $iif(%s,$iif($v1 == 37,-,+) $iif($hget(picwin,boost),5,3))
var %x = $iif(%x < 5,5,$iif(%x > 198,198,%x))
if ($getdot(@picwinbuf,$calc(%x - 3),%y)) || ($hget(picwin,nofloor)) hadd picwin inair 1
else hdel picwin inair
if ($hget(picwin,inair)) && ($getdot(@picwinbuf,$calc(%x - 3),$calc(%y - 3))) && ($v1 != 16777215) {
var %v $v1
drawreplace -r @picwinbuf %v 16777215 $calc(%x - 15) $calc(%y - 15) 50 50
hinc picwin bonus $+ %v
var %n $hget(picwin,bonus $+ %v)
if (%v == 10223772) && (%n == 2) hadd -u6 picwin double 1 $iif(del,)
elseif (%v == 16515072) && (%n == 3) hadd -u5 picwin noscroll 1 $iif(del,)
elseif (%v == 64512) && (%n == 2) hadd -u5 picwin boost 1 $iif(del,)
elseif (%v == 32764) && (%n == 3) hadd -u5 picwin nofloor 1 $iif(del,)
elseif (%v == 13816530) && (%n == 1) hadd -u6 picwin hole 1 $iif(del,)
if ($v1 == del) hdel picwin bonus $+ %v
hadd picwin x %x
if (%y > 288) && (!$hget(picwin,pro)) { hadd -u3 picwin pro 1 | var %r $r(0,100) | hadd picwin bonus $iif(%r isnum 0-34,1,$iif(%r isnum 35-69,2,$iif(%r isnum 70-89,3,5)))) }
hadd picwin y $iif(%y > 288,288,%y)
drawcopy -n @picwinbuf 0 0 200 300 @picwin 0 0
drawdot -nr @picwin 255 5 $hget(picwin,x) $hget(picwin,y)
drawdot @picwin
titlebar @picwin $round($calc(($ticks - $hget(picwin,start)) / 1000),1)
.timerpicwinmain -ho 1 10 mainloop
on *:close:@picwin:picwin clear
on *:keydown:@picwin:37,39:tokenize 32 $hget(picwin,stack) | hadd picwin stack $keyval $iif($keyval != $1,$1,$2)
on *:keyup:@picwin:37,39:hadd picwin stack $remtok($hget(picwin,stack),$keyval,32)


Sign in to comment.
IllogicTC   -  Dec 02, 2011
@Wims yeah I gave up on it for the moment. Now I'm trying to hammer out one of those top-down view mindless zombie shooters. So far I've got the main guy, his ability to move around with WASD keys.... and beginning to work on the shooting bit, having a bit of trouble with that though lol.
Wims   -  Nov 28, 2011
thanks MaSouD
@IllogicTC yeah well, we discussed this on irc, quite complicated indeed.
MaSOuD   -  Nov 27, 2011
Good job Wims
IllogicTC   -  Nov 25, 2011

To make a picwin simulation of a sorter system.

There would be two incoming lanes, which must gap the little boxes as appropriate for their size, that would lead onto a merge to bring them into one. Every box would be given an assigned divert number after merging. Then it would travel down the sorting system, where it would simulate sorting at the appropriate divert for the box. An extension to this would be to actually make it like a full warehouse simulation game, where these 2 incoming lanes would actually have branches leading into them where you will have to manage the "people" placing boxes onto these branches, and also manage the people at the other end of the divert to keep moving product off of the divert. If the divert becomes full, the box will discharge at the end of the sorting system onto a recirculation line, where it would be cycled back over to one of the incoming merge lanes for another go at sorting.

Sounds a bit complicated, eh? lol
Firstmate   -  Nov 25, 2011
Yeah! Thanks, I knew something was wrong, but neither the motivation or time to figure it out.

I did take a look and saw you had an installer, so chances are *pretty* high that I'd take back my previous comment.
Jethro   -  Nov 25, 2011
in it's easibility
The word ease is already a noun. Use either
with ease
at ease
I'm uncertain of the word you've had in mind, but you may be looking at the word simplicity instead.
Firstmate   -  Nov 25, 2011
Wims, I believe that is in part due to the setup required to run PacMan. Don't get me wrong, I played it and loved it, but a snippet trumps a script in it's easibility (don't think that's a word, ha) to load.
Wims   -  Nov 25, 2011
thx Jethro but I feel sad knowing that game, that took less than two days of code, got more success than pacman, which took me several rewrites and several month of code..

what is your project IllogicTC?
IllogicTC   -  Nov 24, 2011
I do enjoy your encouragement, but it's really an advanced idea that I once fancied, but never even tried fleshing out. lol
Jethro   -  Nov 24, 2011
The present is a result of the past. :P
IllogicTC   -  Nov 24, 2011
It reminds me to get back on this picwin project I had going though it will probably be broken :( because I believe it's above my capabilities
Jethro   -  Nov 24, 2011
Very nice game. You've outdone yourself, Wims.
IllogicTC   -  Nov 24, 2011
And generally pretty quick to call on for reads and writes! I'm still addicted =|
Wims   -  Nov 24, 2011
Overlooked the edit part sorry, and well yeah hash table are just the best way, in general, for storing information that are related to the same thing, here for a game.
IllogicTC   -  Nov 23, 2011
I already edited to mention it was in fact a feature. lol. I did that before you responded :O

What I meant by that is by providing a way for the game to remember where everything is in relation to each other. Kind of like how a computer uses RAM, to well.... remember stuff. Instead of using variables, like I probably would have. Hahahaa. I'm a fool.
Wims   -  Nov 23, 2011
I was playing that game too on a calculator, but there were no powerup!
What do you mean "provide RAM" for the game?
At one point, it lagged. It did not continue scrolling, I just sat there rolling around on the bottom of the screen for a moment
It's not a bug, it's a feature, look at the description of the game :)
Any idea for a new powerup?

Thanks for the comments everyone

edit: :)
IllogicTC   -  Nov 23, 2011
I rated 10. Not only is it really fun (and therefore has a use!), but was done using some nice concise code, and runs very smoothly. I like Wims' use of hash to provide "RAM" for the game.
yelow79   -  Nov 23, 2011
This game is so simple and very addictive. rated a 9
blackvenomm666   -  Nov 23, 2011
yes illogictc i haven't tried this yet but it sounds like a game i use to have on my calculator in school if you play long enough you can look at anything and it will appear to be moving up or down depending on the direction of the game. try playing the game for half an hour non stop:) then look at something else haha
  -  Nov 23, 2011
lol sweet 10/10 this will keep me busy for a few days at least LOL
IllogicTC   -  Nov 22, 2011
Whooooaaaaaa. I've also noticed if you're staring at this moving for a while, then get a pause.... it acts like an optical illusion, the black lines appear to be moving slightly downward if you stare at one spot. Trippy.
IllogicTC   -  Nov 22, 2011
Score on first try: 101.665. Going for more, of course. Sometimes the simplest games can be the most addictive. Slight issue I ran into:

At one point, it lagged. It did not continue scrolling, I just sat there rolling around on the bottom of the screen for a moment. At first I'm like WTF THERES A BOTTOM WHY!? then it took off again after about 2-3 seconds. All I have running is my browser, which was parked on this page.... and mIRC, to see the script, not even connected to any servers. x.x

Edit: Maybe I hit a pause ball and didn't notice, lol my bad. Also, second run 106.998. Improvement!
Wims   -  Nov 22, 2011
Thanks :)
ProSec   -  Nov 22, 2011
Very impressive. Amazing use of picwin. 9/10.
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.