Log In  

Cart #26664 | 2016-08-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
14

previous versions :

Cart #26640 | 2016-08-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
14

Cart #26399 | 2016-08-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
14

Cart #26283 | 2016-08-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
14

Cart #26166 | 2016-07-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
14

Cart #26045 | 2016-07-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
14

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
P#26046 2016-07-28 19:00 ( Edited 2016-08-16 09:29)

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.

P#26068 2016-07-29 04:12 ( Edited 2016-07-29 08:12)
:: briac

@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.

P#26070 2016-07-29 04:55 ( Edited 2016-07-29 08:55)

I agree with notepond, too confusing and way too fast to be fun right now, but a very nice start!

P#26073 2016-07-29 05:33 ( Edited 2016-07-29 09:33)

I got to level 3. The cursor is fine as it is.

Perhaps have the timer take a little longer in the earlier levels?

P#26092 2016-07-29 11:27 ( Edited 2016-07-29 15:27)

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!

P#26114 2016-07-29 22:46 ( Edited 2016-07-30 02:46)

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.

P#26209 2016-07-31 09:12 ( Edited 2016-07-31 13:50)

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 ;)
P#26210 2016-07-31 09:18 ( Edited 2016-07-31 13:47)
:: briac

@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!

P#26229 2016-07-31 16:54 ( Edited 2016-07-31 20:54)

the flow tried to go up at the end:

P#26241 2016-07-31 19:44 ( Edited 2016-07-31 23:44)

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!

P#26242 2016-07-31 21:57 ( Edited 2016-08-01 01:57)
:: briac

@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.

P#26284 2016-08-01 18:24 ( Edited 2016-08-01 22:24)

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)

P#26291 2016-08-01 19:33 ( Edited 2016-08-01 23:33)
:: briac

@ultrabrite Thanks for noticing the bug! I fixed it in the latest release. And you got credits in the help page! :)

P#26310 2016-08-02 08:05 ( Edited 2016-08-02 12:05)

that's nice of you! :)

P#26404 2016-08-03 18:38 ( Edited 2016-08-03 22:38)

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.

P#26492 2016-08-04 19:52 ( Edited 2016-08-04 23:52)

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.

P#26531 2016-08-05 14:53 ( Edited 2016-08-05 18:53)
:: briac

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).

P#26548 2016-08-05 18:00 ( Edited 2016-08-05 22:00)

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!

P#26552 2016-08-05 20:54 ( Edited 2016-08-06 00:54)
:: briac

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.

P#26639 2016-08-07 17:20 ( Edited 2016-08-07 21:20)

this is really great! also i love your screenwipe effect...i might need to borrow that sometime lol

P#26666 2016-08-08 09:50 ( Edited 2016-08-08 13:50)

This way better now! Amazing work!

P#26669 2016-08-08 10:41 ( Edited 2016-08-08 14:41)

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.

P#26972 2016-08-16 00:15 ( Edited 2016-08-16 04:15)
:: briac

@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.

P#26981 2016-08-16 05:29 ( Edited 2016-08-16 09:29)

[Please log in to post a comment]

Follow Lexaloffle:        
Generated 2020-04-01 19:09 | 0.067s | 2097k | Q:119