PulseRunner (+ livestream!)

PulseRunner: You are running down a passage and you tap the screen to fire a charge of energy, which sends you up (or down) to avoid obstacles.

Livestream here: twitch.tv/brainofsteel

I’ll post a YouTube video and a postmortem after the four hours are up.

Cool man!  Good luck!  You’ll have to explain how this livestream stuff works and how you can post a youtube video after the fact (and if you can speed it all up too, etc).

Looking forward to what you make!

Alright, I did the four hours and here’s how it went:

[media]https://vimeo.com/87113157[/media]
 
The energy theme was fun to work with.
 
I spent about 45 minutes on and off during the livestream trying to fix a mysterious bug that was slowing the game to a crawl. Eventually I paused the stream, checked out the system memory, and discovered that CamTwist (the livestream video capture program) and the Corona Simulator were eating up all the memory. Restarting the computer fixed the problem. It’s fun to livestream it but there are a lot of things that can go wrong.
 
One of the design questions I struggled with is how to pace the speed of the game. At a certain point it gets going so fast that it’s unplayable. You could toss special blocks in that slow you down, or you could curve the speed increase so that it initially ramps up quickly but then takes exponentially longer to reach each new level of speed…?
 
I also thought about different ways to add “signpost” content that could convey a sense of progress to the user… Maybe you are leaving the solar system and pass planets on the way?
 
Another fun thing about the game is that is contains no graphic assets. The level and the stars are a bit simplistic, to be sure, but I thought the way the orb ended up was pretty cool, considering it’s all primitives. I wish they were antialiased.
 
Another thing I grappled with at the beginning was how to keep the orb at a certain x position on the screen at all times, even while doing god-like modifications to the physics objects. I was afraid that just translating physics objects all over the place willy-nilly would have adverse effects on collision detection and the orb’s rolling movement. But surprisingly, it didn’t.
 
Here are the external assets I used:
Soundtrack (Composed in GarageBand)
Sound Effects (Obtained from AudioJungle and modified in Audacity)
Lightning Effect (obtained here and converted for Corona use by the venerable @fattjake)

Hit me up if you would like the code!

Looks awesome. Do you plan on releasing it to any app stores in the future?

Thanks!

I’ll definitely publish it. I think the single-touch gameplay is solid, and even this basic prototype runs without any hiccups to speak of. When I showed the game to my kids, they initially refused to believe that I had made it (and not downloaded it from the App Store). So that’s probably an indicator that it deserves to be published :slight_smile:

The question is just what exactly to do with it. I think I could publish it as is and have a nice basic endless runner out there. But ideally the game would have a bit more depth to it. As I mentioned before, it’s basically unplayable after a couple minutes because of the ever-increasing speed. Adding a way to throttle back the speed, along with some variations to the content as you progress, and that’s probably enough to publish.

Also if you threw in some collectibles, such as numbers that meet given criteria, or letters that form words, you could put a cool educational spin on it. So yeah, I think there are a lot of fun directions to go with it!

Cool game!  How did you end up composing this in GarageBand?  I have the app for my ipad but haven’t really figured out how to make sweet riffs like what you have!

The effects are really cool too!

Thanks!

I did the music for this one using the desktop version of GarageBand. Although I do love the iPad version and probably could have used it, it would have just taken more time.

As far as composition, hard to say. I just start with a beat, then get a good bass line on it, then just keep layering til it seems like it’s time to put a melody on top. Lots of loops, transposition, and copy/paste, I will say that much. :smiley:

Hi, I’m impressed with your work, do you have the code of the game in Git-hub ?, For see them. 

Really good work, Congratulations !

nice

@pierostm2000 @jstrahan Thanks!

I haven’t posted the code to GitHub quite yet. In the meantime, let me know if there’s anything specific you would like any pointers on. I’d be happy to explain the tile generation system, culling, parallax, position calculation, etc.

@brainofsteel Thanks for these, I want know, how do you do the tile generation system, I mean, how do you do the random appears of the thins in the screen. Rally thanks.

The tile generation basically boils down to generating a table of solid blocks and then hollowing some of it out, and then tacking it onto the end of the level. Disclaimer: I was working under time pressure. I’m sure there are some much more elegant ways of doing this.

  1. Generate a table of 1’s. These represent solid blocks:

    local newTable = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

  2. Decide on a starting block for the center of the hollowed-out part.

    local caveCenter = math.random(3, 9)

  3. Decide how wide to make that segment of cave.

    local caveWidth = math.random(5, 6)

  4. Based on that, determine the starting removal block.

    local startingRemovalBlock = caveCenter - math.floor(caveWidth * .5)

  5. Now go through and change the section from startingRemovalBlock on down from 1’s into 0’s.

    for i = startingRemovalBlock, startingRemovalBlock + caveWidth do newTable[i] = 0 end

So now, assuming you had generated a cave center of 5 and a cave width of 5, your newTable would look like this:

{1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1}

Those 1’s represent the blocks. The 0’s represent empty space.

So that’s how you get the randomness in the blocks. From there you just check the movement of the level on each frame, and if it’s moved over enough that you’re about to have some empty space on the right, just generate a new set of values, generate visual (and physical) blocks and empty space based on those values, and position them vertically on the far right side of the level.

The Vimeo video included near the top of this thread shows the table generation in the first 20 seconds or so. You can see tables of 1’s and 0’s scrolling down the terminal, and then you can see basically the same thing scrolling across the iPad simulator, but it’s blocks and empty space instead of 1’s and 0’s.

Is that helpful?

Cool man!  Good luck!  You’ll have to explain how this livestream stuff works and how you can post a youtube video after the fact (and if you can speed it all up too, etc).

Looking forward to what you make!

Alright, I did the four hours and here’s how it went:

[media]https://vimeo.com/87113157[/media]
 
The energy theme was fun to work with.
 
I spent about 45 minutes on and off during the livestream trying to fix a mysterious bug that was slowing the game to a crawl. Eventually I paused the stream, checked out the system memory, and discovered that CamTwist (the livestream video capture program) and the Corona Simulator were eating up all the memory. Restarting the computer fixed the problem. It’s fun to livestream it but there are a lot of things that can go wrong.
 
One of the design questions I struggled with is how to pace the speed of the game. At a certain point it gets going so fast that it’s unplayable. You could toss special blocks in that slow you down, or you could curve the speed increase so that it initially ramps up quickly but then takes exponentially longer to reach each new level of speed…?
 
I also thought about different ways to add “signpost” content that could convey a sense of progress to the user… Maybe you are leaving the solar system and pass planets on the way?
 
Another fun thing about the game is that is contains no graphic assets. The level and the stars are a bit simplistic, to be sure, but I thought the way the orb ended up was pretty cool, considering it’s all primitives. I wish they were antialiased.
 
Another thing I grappled with at the beginning was how to keep the orb at a certain x position on the screen at all times, even while doing god-like modifications to the physics objects. I was afraid that just translating physics objects all over the place willy-nilly would have adverse effects on collision detection and the orb’s rolling movement. But surprisingly, it didn’t.
 
Here are the external assets I used:
Soundtrack (Composed in GarageBand)
Sound Effects (Obtained from AudioJungle and modified in Audacity)
Lightning Effect (obtained here and converted for Corona use by the venerable @fattjake)

Hit me up if you would like the code!

Looks awesome. Do you plan on releasing it to any app stores in the future?

Thanks!

I’ll definitely publish it. I think the single-touch gameplay is solid, and even this basic prototype runs without any hiccups to speak of. When I showed the game to my kids, they initially refused to believe that I had made it (and not downloaded it from the App Store). So that’s probably an indicator that it deserves to be published :slight_smile:

The question is just what exactly to do with it. I think I could publish it as is and have a nice basic endless runner out there. But ideally the game would have a bit more depth to it. As I mentioned before, it’s basically unplayable after a couple minutes because of the ever-increasing speed. Adding a way to throttle back the speed, along with some variations to the content as you progress, and that’s probably enough to publish.

Also if you threw in some collectibles, such as numbers that meet given criteria, or letters that form words, you could put a cool educational spin on it. So yeah, I think there are a lot of fun directions to go with it!

Cool game!  How did you end up composing this in GarageBand?  I have the app for my ipad but haven’t really figured out how to make sweet riffs like what you have!

The effects are really cool too!

Thanks!

I did the music for this one using the desktop version of GarageBand. Although I do love the iPad version and probably could have used it, it would have just taken more time.

As far as composition, hard to say. I just start with a beat, then get a good bass line on it, then just keep layering til it seems like it’s time to put a melody on top. Lots of loops, transposition, and copy/paste, I will say that much. :smiley:

Hi, I’m impressed with your work, do you have the code of the game in Git-hub ?, For see them. 

Really good work, Congratulations !

nice