B.C. Dash

Use this forum to share and discuss Uzebox games and demos.
User avatar
nebososo
Posts: 188
Joined: Sun Oct 04, 2009 10:33 pm

Re: B.C. Dash

Post by nebososo »

paul wrote: 1:19... that's freakin' crazy! Well done! I've added my best time now that it's been beaten (destroyed?). Btw, I appreciate the photo evidence, but I think having it as a requirement may discourage people from participating. It's a pretty friendly and honest community with not a hell of a lot to gain from cheating. Also, one could easily edit the code to slow time down or something, so there's not a whole lot to gain from it. I did consider displaying some kind of code that you could submit for verification, but with source available (and very few bytes to spare) I think it would have been a waste. I could keep the code generation source separate. I'll consider some kind of method of proof for my update, but it'd need to be decent or it'll just encourage folks to break it.

Anyway, I can't see 1:19 being beaten any time soon. :shock:
Thanks =].
Well, about the picture, I didn't think people wouldn't believe me, as you said, it's a small and honest community and it's very easy to change the code. I thought of it just as a formality and, you know, cellphone in the pocket, TV right in front...
Validating records for free software games (even proprietary) is something very delicate, people can easily understand the algorithm and go around it. I always think of this and the only semi-viable solution I have found is uploading replays and have people manually check. This is how x-moto keeps track of its over 2000 levels' records and that's how twin galaxies does it (in a more strict way, having people watch very long tapes to find anything illegal).
Y'know, I was thinking of doing that when coding it, but I guess I just ran out of space. I store the current name and time in a separate variable atm, but if I just add it to the best times array, I could probably do so without spending anymore bytes. I think I only have 36 bytes to spare, so any changes will be slight unless I remove the moon graphic or find space somewhere else. I'll add these suggestions to my update list and see if I can fit the ones I agree with in.
I noticed it's supposed to be day time(right?) and there's the moon just hanging out in the sky, I wasn't gonna say anything, but now that you mentioned it, removing it wouldn't look bad at all. :lol:
Sorry if some of the details of the game were mentioned cryptically on the wiki post. It's done in a light-humored manner (maybe stressing the light side of things? ;) ) and I can see how it might be confusing. But spending or saving those coins should be a huge decision. Also remember that any poison time remaining at the finish line will add to your time. Sometimes a seemingly harmless poison that taxes you (removes a coin) can be the worst kind of poison; like if it takes you from 5 to 4 coins :( So if you have 5 coins, getting that 6th can be a nice buffer.
I like the way it is on the wiki and the demo explains it very well.
I came up with a perfect plan where I have to use the coins only once and save a lot of time. :D

Also, there's one poison I wanna talk about, I'm gonna take a look at it again, see if my idea is not stupid and then edit this post.

EDIT:

Image
You see, when you get to this part and you're going really fast, you just hope the poison won't slow you down, because it's pretty much impossible to dodge it without almost stopping. Turning the speed runs into luck runs, if it turns you into a snail or paralyzes you, you're done. If it subtracts coins, you're perfect and lucky. If it makes you drunk, you're OK, just jump when the timer reaches zero.
I suggest either removing part of the ceiling that blocks the jump or move the poison a few tiles ahead, where people can actually jump over it.


And this part:
Image
Every time I jump from the second platform, I hit the flying block, so I had to come up with another plan (which does work very well), I just fly instead of jumping and collect coins to make up for the time lost. But I was just wondering if there's another way or if you can calculate the right time to jump, it's pretty frustrating having to go back all the way.
User avatar
paul
Posts: 457
Joined: Sat May 02, 2009 8:41 am
Location: Brisbane, Australia

Re: B.C. Dash

Post by paul »

Well, about the picture, I didn't think people wouldn't believe me, as you said, it's a small and honest community and it's very easy to change the code. I thought of it just as a formality and, you know, cellphone in the pocket, TV right in front...
Yeah, well with a really good time, it is nice to verify it somewhat. I really need to change my strategy because I only really made 2 tiny errors with my 1:37. There's no way I could imagine getting it down past 1:30 with my current method.
noticed it's supposed to be day time(right?) and there's the moon just hanging out in the sky, I wasn't gonna say anything, but now that you mentioned it, removing it wouldn't look bad at all.
I envisioned it more as dusk with the stars just coming out ;)
You see, when you get to this part and you're going really fast, you just hope the poison won't slow you down, because it's pretty much impossible to dodge it without almost stopping. Turning the speed runs into luck runs, if it turns you into a snail or paralyzes you, you're done. If it subtracts coins, you're perfect and lucky. If it makes you drunk, you're OK, just jump when the timer reaches zero.
I suggest either removing part of the ceiling that blocks the jump or move the poison a few tiles ahead, where people can actually jump over it.
I debated this one and decided that maybe I was just jumping poorly or maybe people would either use the egg and fly over it or choose to eat it, but I think you're right. It is annoying to rely on a roll of the dice when your run is otherwise perfect. I will adjust it so that a well-timed jump can clear it.
Every time I jump from the second platform, I hit the flying block, so I had to come up with another plan (which does work very well), I just fly instead of jumping and collect coins to make up for the time lost. But I was just wondering if there's another way or if you can calculate the right time to jump, it's pretty frustrating having to go back all the way.
Yes, you have hit on all the "dodgy" areas that I was not completely happy with. The problem stems from the platform not fully loading until the first tile on the edge of the screen containing the platform is initialized off-screen. Then only real way to avoid it is by pausing momentarily before jumping off the second mushroom. Alternatively you can pause on the very edge of the first mushroom (which will load the platform and get it moving) and then step back and jump onto the platform (also getting the ducat). But I think it's awkward and I will just change the initial starting position of the platform so that it's not so annoying.

Great feedback again, thank you :)
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: B.C. Dash

Post by uze6666 »

Uze, have you got a best time or should I go with the default? :P
Okay, it's worst than I thought ... 3:12 :oops: But now that I know about the coin trick... ;)

Btw Paul, I want my smooth platforms back! :lol: Your wish has been granted: Sprites flipping! viewtopic.php?p=4348#p4348. Btw, are you using the sine wave? I can recompile the song and it will save you an additional 256 bytes...

-Uze
User avatar
paul
Posts: 457
Joined: Sat May 02, 2009 8:41 am
Location: Brisbane, Australia

Re: B.C. Dash

Post by paul »

uze6666 wrote:
Uze, have you got a best time or should I go with the default? :P
Okay, it's worst than I thought ... 3:12 :oops: But now that I know about the coin trick... ;)

Btw Paul, I want my smooth platforms back! :lol: Your wish has been granted: Sprites flipping! viewtopic.php?p=4348#p4348. Btw, are you using the sine wave? I can recompile the song and it will save you an additional 256 bytes...

-Uze
Brilliant! Thank you! That's going to make a huge difference when planning games out in future. I'll go put your smooth platforms back in :lol: And I'll make most of the other changes suggested already. I can also make the panther animation smoother. I would have designed some areas differently with this in mind, but I think I'll leave it as is given it's already released.

Edit: Oh and no, I am not using the sine wave. I probably should have mentioned that earlier considering I would have killed for 256 bytes just the other day.
User avatar
paul
Posts: 457
Joined: Sat May 02, 2009 8:41 am
Location: Brisbane, Australia

Re: B.C. Dash

Post by paul »

Here's a version with the following changes:

- Initials default to record holder's
- Walking on water should be flush with wave tile
- Superjump now ignores almost all jumping platform collisions (from underneath), but not overhangs.
- Smooth movement for horizontal moving platforms
- The annoying moving platform referred to by nebososo loads in a different place. This is an attainable jump and I would rate it as another of the clutch jumps for competitive best times. It's also a punishing jump if you fail to make it as the platform will block your secondary jump briefly.
- The annoying poison referred to by nebososo has been shifted slightly back and the cave entrance has been raised slightly. Again, this is avoidable, but it's not easy. There's a fast way to avoid it and a slow way - or you can just eat it and pray for the best (the best being a coin tax when you have 6 coins or dpad reversal if you're good at controlling it). This luck-based approach is still slower than avoiding it the fast way.
- The panther has an extra animation frame
- 9:59 +1 no longer rolls over to 9:00

If the changes are popular, I'll edit the original post with the updated version. I think faster times are possible with this build, but they're probably harder to achieve.
Attachments
bcdash.hex
(165.94 KiB) Downloaded 379 times
User avatar
nebososo
Posts: 188
Joined: Sun Oct 04, 2009 10:33 pm

Re: B.C. Dash

Post by nebososo »

PAUL:
paul wrote: - Initials default to record holder's
- Walking on water should be flush with wave tile
- 9:59 +1 no longer rolls over to 9:00
Yey!
- Superjump now ignores almost all jumping platform collisions (from underneath), but not overhangs.
I don't think this makes the game too easy. Specially because you only touch the water when you have to in a perfect run. So it's great :) .
- The panther has an extra animation frame
I didn't notice it, but that's nice.
- Smooth movement for horizontal moving platforms
Looks a lot better :).
- The annoying moving platform referred to by nebososo loads in a different place. This is an attainable jump and I would rate it as another of the clutch jumps for competitive best times. It's also a punishing jump if you fail to make it as the platform will block your secondary jump briefly.
- The annoying poison referred to by nebososo has been shifted slightly back and the cave entrance has been raised slightly. Again, this is avoidable, but it's not easy. There's a fast way to avoid it and a slow way - or you can just eat it and pray for the best (the best being a coin tax when you have 6 coins or dpad reversal if you're good at controlling it). This luck-based approach is still slower than avoiding it the fast way.
I still haven't learned how to get those jumps right, but I will. I got 1:16 hitting the block and eating the poison(reversal).

UZE:
Btw, are you using the sine wave? I can recompile the song and it will save you an additional 256 bytes...
What, sine wave? Music compression? Can you tell me more about it?
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: B.C. Dash

Post by uze6666 »

Here's a version with the following changes:
[...]
- Superjump now ignores almost all jumping platform collisions (from underneath), but not overhangs.
-Smooth movement for horizontal moving platforms
Yay! Great improvement, it makes the game faster and fun when learning it. Although I noticed the moving platforms still blocks you? Glad you also game credit to Graa! You did all this with the extra 256 bytes?? Or already used sprites flipping? I was thinking that if the scores page appear a couple seconds earlier, it would make it a bit more "dynamic", akin of pac-man (but no big deal at all). Go and update the main thread, it's definitively worth it!
What, sine wave? Music compression? Can you tell me more about it?
The sound engine mixer uses a set of pre-calculated "waves" like sine, sawtooth, square, filtered square, etc. The default kernel ships with 9 of those. However since each waves is also 256 bytes you can save some flash by removing those not used by your songs instruments.

-Uze
User avatar
nebososo
Posts: 188
Joined: Sun Oct 04, 2009 10:33 pm

Re: B.C. Dash

Post by nebososo »

uze6666 wrote: The sound engine mixer uses a set of pre-calculated "waves" like sine, sawtooth, square, filtered square, etc. The default kernel ships with 9 of those. However since each waves is also 256 bytes you can save some flash by removing those not used by your songs instruments.
-Uze
Nice to know. I'll try figure it out by myself how to do it when the time comes, if I fail, I'll start a thread asking for help, :D. But here's one question:
I've been converting from midi following your instructions in that thread Clay started a long time ago. So the waves are the patches(which I think is the same as the instrument in a midi file), right? For example: patch 1 = sine, patch 2 = sawtooth? I tried a few different combinations, inserted them into megatris and I didn't hear any difference. But I have been using so many different pieces of software to get to the inc file that I'm not sure if I'm not losing some information in the middle of the process. Is there a better way of doing it or hearing what it's gonna sound like before compiling the hex and opening it on the emulator?

I don't wanna hijack the thread, but the subject's already here.
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: B.C. Dash

Post by uze6666 »

It's preferable if you open a new topic for this discussion. You may copy your last reply in there.

Thanks

-Uze
User avatar
paul
Posts: 457
Joined: Sat May 02, 2009 8:41 am
Location: Brisbane, Australia

Re: B.C. Dash

Post by paul »

I still haven't learned how to get those jumps right, but I will. I got 1:16 hitting the block and eating the poison(reversal).
Unless there is a faster strategy than the one you're using, it sounds like you're getting close to a perfect run. I'd guess at maybe 1:10 being the impossible barrier, but you'd probably know best currently. One thing for hitting that moving platform is the collision detection won't drop you off the mushroom until your back legs are past the edge, but your front legs will catch the moving platform. So that can get you the few extra pixels you need.
Yay! Great improvement, it makes the game faster and fun when learning it. Although I noticed the moving platforms still blocks you? Glad you also game credit to Graa! I was thinking that if the scores page appear a couple seconds earlier, it would make it a bit more "dynamic", akin of pac-man (but no big deal at all). Go and update the main thread, it's definitively worth it!
Yep, I should have listened to my testers :oops: It is easier to get into and it doesn't affect those running top times. I included moving platforms in the superjump no collision system. I also only cycle through the credits once so you can see the leaderboard faster. If you really want to stare at the title screen, you can pause on entering initials or just select back to it. I'll check out the .uze file creation and throw one up on the wiki.
You did all this with the extra 256 bytes?? Or already used sprites flipping?
Already using sprites flipping (how could I resist?). It was like driving down a 6 lane freeway with no one else on the road, compared to the process of scrounging around for a few bytes the other day :lol:


Thanks again for the in-depth feedback. Now to knock nebososo off that top spot :mrgreen:
Post Reply