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).
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)
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
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!
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.
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.
Generate a table of 1’s. These represent solid blocks:
Decide on a starting block for the center of the hollowed-out part.
local caveCenter = math.random(3, 9)
Decide how wide to make that segment of cave.
local caveWidth = math.random(5, 6)
Based on that, determine the starting removal block.
local startingRemovalBlock = caveCenter - math.floor(caveWidth * .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.
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).
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)
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
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!
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.