previous versions :
New version of Tubular Craze, a clone of Pipe Mania.
The goal is to connect pipes from the Start tile (S) to the End tile (E) with at least a number of pipes (the number below "LEFT" in the lower left).
You can see the 5 next pipes to lay down on the left, the pipe with a red outline is the current one to place (it's the same as you cursor).
update 1.3
- fix an embarrassing bug in hard mode, making it impossible to finish
update 1.2
- music by Robby Duguay (from the 9 songs cartridge)
- hard mode when all the levels are completed
- better scoring information (extra pipes, crossovers and hard mode bonuses)
update 1.0
- player lives
- 15 levels!
- endgame screen (game won / game over)
update 0.4
- fixed a bug when completing a level with less than the required number of pipe
- enabled sound
- help page
Still left to do
- more levels
- music
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/11025/nodepond-logo.png)
Nicely made. But I find it somehow confusing, what exactly the next tile will be when start playing. I instinctually thought, that the upmost tile would be the next. Things can be clearer there.
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/10941/PICO-8_0.gif)
@Nodepond Yes I thought that too, but my playtesters (10 and 13) found it better to have the cursor as it is :)
You can modify the code line 28 to "cursor_original=true" and have the next pipe shown under the cursor.
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/13845/blobby_g.png)
I agree with notepond, too confusing and way too fast to be fun right now, but a very nice start!
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bimg/pi/pi20.png)
I got to level 3. The cursor is fine as it is.
Perhaps have the timer take a little longer in the earlier levels?
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/12806/santo.jpg)
This is pretty awesome, Pipe Dream is a favorite of mine, glad to see someone make it for P8.
The only thing that kind of got me was the tile counter to when you passed a level? I always thought the goal of each board was to have the water pass through X number of tiles before it hit a dead end. That didn't seem true here, which is fine, but just not what I was used to.
Can't wait for scoring and stuff...keep on, keeping on!
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/13845/blobby_g.png)
yes! version 0.2 is good fun ! got to level 3 too, but then it fills too fast, you basically have to finish all the plombing during the starting delay ! maybe have a difficulty setting for slower guys like me :)
I like the start/end mechanism better, seems more satisfying all in all.
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/13845/blobby_g.png)
hum. I just connected start to end and it didn't seem to register, then I got 'level failed, not enough pipes'. that feels very wrong.
edit: ahum, just RTFM. still feels wrong though. it's hard enough for me to just connect the two ends.
-
happened again, got 'pipe did not connect' , it seems the flow mistook the end for a bent pipe.
-
almost filled a whole level with garbage, waiting for a specific bent pipe that never came. on another play I had mostly straight pipes, on another one mostly elbow pipes. you might want to make sure your pipe generator is uniform (maybe a random bag à la tetris)
- bottom line might be I just suck at it though ;)
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/10941/PICO-8_0.gif)
@morningtoast Thanks a lot! I hope the final game will be as exciting as the original Pipe Dream!
@ultrabrite Thanks for the feedback! Right now the levels are more a proof of concept than anything else. I'm waiting to have all the pieces working together to start working on the different levels and tweak the goo speed and starting timers to make it easier in the early level.
Regarding the randomness of the pipes, I agree that it sometimes feel weird, but I'm not really sure how to deal with it, as far as I can tell the rnd() function in lua should be uniform -- the pipes are picked with a simple call:
p[1+flr(rnd(7))] |
Finally, regarding your problem with the 'pipe did not connect' I'm not sure what went wrong, I never experienced this kind of problem. Could you send a screenshot if you reproduce it? Thanks!
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/13845/blobby_g.png)
a simple rnd() won't give you a good distribution for that kind of game.
say you have 7 tokens in a bag, if you take a token from it and put it right back in, every token has the same chance to reappear over and over or never again.
now if you take a token and don't put it back, you leave a chance to the others, and you'll get each of them in 7 draws. when the bag is empty, you put all the tokens back in and shuffle them:
7164532 refill 4153267 2143675 5614732 ...
worst cases here are waiting 13 draws to get a specific token again(#7 in the exemple above), or getting a token twice in a row in between refills (token 5 above)
that's basically how it's done in tetris and I think it would fit your game since it's fair, and puts the burden of your failure on your skills ;)
though if that's not random enough, you can put 2 sets of token in the bag. but then the worst cases are waiting 24 draws (token 7) or getting 4 in a row (token 3):
77124624155633 33161525624477 ...
here's a snippet from my own stuff, should be plug and play:
bag_tokens = 7 bag_sets = 1 bag_size=bag_sets*bag_tokens bag_shuffles=bag_size bag= { idx=0, reset=function() bag.fill() end, fill=function() local k=1 for s=1,bag_sets do for t=1,bag_tokens do bag[k]=t k+=1 end end for i=1,bag_shuffles do local a = flr(1+rnd(bag_size)) local b = flr(1+rnd(bag_size)) bag[a],bag[b]=bag[b],bag[a] end bag.idx=1 end, get=function() if (bag.idx==0) bag.fill() local r=bag[bag.idx] bag.idx = (bag.idx+1)%(bag_size+1) return r end } -- test cls() for j=1,10 do for i=1,bag_sets*bag_tokens do print(bag.get(),i*4+8,j*8) end end |
hope that helps, have fun!
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/10941/PICO-8_0.gif)
@ultrabrite Thanks a lot, it's great! The randomness feels a lot more natural now and the game plays a lot better now!
The bug you find should be fixed now too.
Also, there are a couple of special pipes I added on this release, one-ways and reservoirs.
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/13845/blobby_g.png)
very nice! went to level 5!
but now there's a crash: connect start to end with less pipes than required, goo goes slowly to the end and then : runtime error on line 584 (arithmetic on a nil value)
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/10941/PICO-8_0.gif)
@ultrabrite Thanks for noticing the bug! I fixed it in the latest release. And you got credits in the help page! :)
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/9392/SDbig.gif)
Having played plenty pipe-connectin' games, this whole game wasn't too hard. I did occasionally have to dig through the pile to get that last corner piece I needed which was sort of annoying. I like the idea, though! I almost want to say it needs hard mode.
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/12806/santo.jpg)
Been playing this some more...so much fun to have this in Pico-8! But it doesn't seem like there are points for cross-over pipes...yes/no?
It's not exactly clear how scoring works and the instructions don't seem to suggest it. Am I getting points for the number of pipes in the stream, or number over the quota, or what's the formula there?
Whenever I play these games I always take pride in my ability to chain together a bunch of cross over pipes and get super scores because of it...so just wondering. Like the previous mentioned, getting to the end isn't hard but getting a high score could be...and add more challenge.
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/10941/PICO-8_0.gif)
Yeah, I know the levels need more fine tuning to ramp up the difficulty. I should also make an endless mode were the levels loop and the goo is faster and the start timer shorter.
@morningtoast currently you get 100 points per pipes filled at the end, no extra points for crossovers (yet).
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/12806/santo.jpg)
Cool, good to know, thanks. I don't think the game is too easy, per se. Plus I think once you know how to score, it becomes more difficult. Now I'm going to push myself even in the easy levels, which often leads to failure...so what was simple is now a challenge. Wonderful!
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/10941/PICO-8_0.gif)
Hey, I just updated the game to include an optional endless mode when finishing all the levels, and points are now awarded for extra pipes and crossovers.
And I added music by Robby Duguard, the "Factroy Fresh" piece from the excellent 9 songs cart.
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/12867/hoodie-stickman.jpg)
this is really great! also i love your screenwipe effect...i might need to borrow that sometime lol
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/9392/SDbig.gif)
My game was cut short by a bug. The explosion effect stayed on a square indefinitely, preventing me from placing any pipes there. I'm not sure how to recreate it, as it seems quite rare.
![](https://www.lexaloffle.com/bbs/files/9392/pipes.png)
![](/gfx/set_like0.png)
![](/gfx/top_drop.png)
![](https://www.lexaloffle.com/bbs/files/10941/PICO-8_0.gif)
@Connorses Thanks for the report, I'll have a look at it. My guess is that the explosion occured during a variable rollover, and the test
if time() > cell.explosion.end_timer then |
is probably not evaluating as expected.
[Please log in to post a comment]