Author Topic: DoodleJump Discussion  (Read 86213 times)

0 Members and 1 Guest are viewing this topic.

Offline Mohammad

  • Project Author
  • LV3 Member (Next: 100)
  • ***
  • Posts: 95
  • Rating: +23/-8
    • View Profile
Re: Projectile motion, sound, doodlejump
« Reply #45 on: December 17, 2010, 09:51:05 pm »
Cool to see the beta out! :D

By bored I hope you don't mean you're stopping working on this, though? D:
lol no im not stopping course not
(delete this if you like)
« Last Edit: December 17, 2010, 09:51:16 pm by Mohammad »

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Projectile motion, sound, doodlejump
« Reply #46 on: December 17, 2010, 10:27:50 pm »
Ah ok phew.

Btw I tried the game and it's really great! Only suggestions I would have are:

-Add a key delay or remove key repeat when selecting stuff. When I press APPS then 2 to launch your app, it instantly goes into About and keys in menus are too sensitive.
-The delay when the score appears is too long. It would be nice to be able to quit instantly.
-There are collision detection issues with power-ups. SOmetimes I jump on a power-up and if I'm not at the very accurate pixel, I don't get the power-up.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Deep Toaster

  • So much to do, so much time, so little motivation
  • Administrator
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 8217
  • Rating: +758/-15
    • View Profile
    • ClrHome
Re: Projectile motion, sound, doodlejump
« Reply #47 on: December 18, 2010, 12:06:08 am »
Yay a beta! Nice job on this.

-Add a key delay or remove key repeat when selecting stuff. When I press APPS then 2 to launch your app, it instantly goes into About and keys in menus are too sensitive.

I agree with this. To fix it you can use plain getKey (like getKey→K) instead of getKey(0) or getKey(#). That way there's an automatic key delay, just like in BASIC menus.

ok ive tried a version of the code above to make pretty good gravity...but the problem is that since doodler jumps down more that 4 pixels per frame sometimes, he skips through the platforms and does not hit them! can someone please help me avoid this?
what are other ways off simulating gravity??

Ah, you've ran into the inevitable problem of platformers. The way I handled this is to split multi-pixel movement into single-pixel movement: I'd try a For loop to check every individual pixel. It's not fun (check the My First Quantum Translocator thread and you can see me whining about doing it for about four pages) but it works, and if you do it right there's no speed decrease.

I'm impressed. Keep up the good work, and (because I haven't said this yet) welcome to Omnimaga!

This is late, but my thoughts on that:

Yeah, that's an annoying problem with all platformers with gravity, as JustCause said. In PapiJump I had to resort to checking each row with a For( loop, like JustCause suggested. But if each platform is an equal width apart, a faster way to do it is by dividing the Y value by 16, multiplying it by 16 again, and messing with the amount of vertical shift at that moment until it hit-detects correctly (I can help you with this later if you want :D I already had to do a lot of that stuff for Contra, anyway).
« Last Edit: December 18, 2010, 12:06:57 am by Deep Thought »




Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Projectile motion, sound, doodlejump
« Reply #48 on: December 18, 2010, 01:03:13 am »
No speed decreases when checking individual pixels? Mhmm seems like this could have solved some Supersonic Ball issues if I knew how to do that when the project was still alive. X.x
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Mohammad

  • Project Author
  • LV3 Member (Next: 100)
  • ***
  • Posts: 95
  • Rating: +23/-8
    • View Profile
Re: Projectile motion, sound, doodlejump
« Reply #49 on: December 18, 2010, 02:05:27 am »
yea im gonna be in vacation for the next 2 weeks so i HAD to released this. all the issues you stated i am well aware of ;)
so glad no new issues came up whewwww...already fixed getkey...long pause at end result of long sound :P will fix that now lol i get pretty annoyd to :(
sooooo happy no new problems found. play more....find me some problems to fix lol

EDIT:OK THIS WIERD:
Axe turned like 3 lines of my code into gibberish...backed up no worries but why the heck did that happen??? did lose the fixes oh well..

EDIT EDIT:
k the issue with powerup...only powerup where you have to be right on the money(sort of) is SS thing...thats a bad thing...it slows you down. dont want that thing...it pops up so often i just made it hard to get....it is good tho when fighting aliens..
« Last Edit: December 18, 2010, 02:21:35 am by Mohammad »

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Projectile motion, sound, doodlejump
« Reply #50 on: December 18, 2010, 02:50:49 am »
Aw sorry to hear you won't be around. There's definitively a lot of new members who got no Internet at home here. X.x
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Mohammad

  • Project Author
  • LV3 Member (Next: 100)
  • ***
  • Posts: 95
  • Rating: +23/-8
    • View Profile
Re: Projectile motion, sound, doodlejump
« Reply #51 on: December 18, 2010, 11:45:08 am »
Aw sorry to hear you won't be around. There's definitively a lot of new members who got no Internet at home here. X.x
oh ill have internet...i just didnt wanna make you guys wait another week to play the game lol

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Projectile motion, sound, doodlejump
« Reply #52 on: December 18, 2010, 03:03:01 pm »
Oh ok, I thought you wouldn't be around for the entire vacations. I'M glad you'll still be around. :P (I think about 8 people got no Omni access for one month)
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Mohammad

  • Project Author
  • LV3 Member (Next: 100)
  • ***
  • Posts: 95
  • Rating: +23/-8
    • View Profile
Re: Projectile motion, sound, doodlejump
« Reply #53 on: December 20, 2010, 03:52:42 pm »
ok....updates:
added spring feet. i think it looks great
will put the file in when i can...right now in Dubai gotta catch a plane lLOLs so cant upload file sorry
but dpring feet are awesome youll love it

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Projectile motion, sound, doodlejump
« Reply #54 on: December 21, 2010, 12:55:05 am »
Cool, can't wait to see the update :D.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Mohammad

  • Project Author
  • LV3 Member (Next: 100)
  • ***
  • Posts: 95
  • Rating: +23/-8
    • View Profile
Re: Projectile motion, sound, doodlejump
« Reply #55 on: January 06, 2011, 01:10:03 am »
ok, how do i make an appvar?

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Projectile motion, sound, doodlejump
« Reply #56 on: January 06, 2011, 01:13:42 am »
From the documentation:

Quote
PROGRAM:A
:.HISCORE
:"appvMyScore"→Str1
:!If GetCalc(Str1)→P
:GetCalc(Str1,2)→P
:Return!If P
:0→{P}r
:End
« Last Edit: January 06, 2011, 01:15:08 am by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Projectile motion, sound, doodlejump
« Reply #57 on: January 06, 2011, 02:16:46 am »
Good luck with appvars, though. It's a major PITA to use them. X.x
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Mohammad

  • Project Author
  • LV3 Member (Next: 100)
  • ***
  • Posts: 95
  • Rating: +23/-8
    • View Profile
Re: Projectile motion, sound, doodlejump
« Reply #58 on: January 06, 2011, 09:38:15 pm »
From the documentation:

Quote
PROGRAM:A
:.HISCORE
:"appvMyScore"→Str1
:!If GetCalc(Str1)→P
:GetCalc(Str1,2)→P
:Return!If P
:0→{P}r
:End
no idea what you sayed... what is getcalc? str1..str1,2? whats the 2?
« Last Edit: January 06, 2011, 09:38:42 pm by Mohammad »

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: Projectile motion, sound, doodlejump
« Reply #59 on: January 06, 2011, 09:49:01 pm »
Okay, I'll step through the code piece by piece. Getcalc is an Axe token. See the Commands.html document for further information.

Code: [Select]
PROGRAM:A
:.HISCORE

This part is obvious. It just creates the program name.

Code: [Select]
:"appvMyScore"→Str1
This is known as a name string and it basically stored the name to the memory location known as Str1

Code: [Select]
:!If GetCalc(Str1)→P
This checks if the appvar already exists. If it does, the pointer is stored in P. If it doesn't, the conditional is executed.

Code: [Select]
:GetCalc(Str1,2)→P
This creates an appvar of size 2 (2 bytes) with the name stored in Str1 and returns a pointer to the appvar in P

Code: [Select]
:Return!If P
:0→{P}r
:End

This returns if P doesn't exist (no appvar was created). If it does exist, it stores 0 to the appvar, which is two bytes. The curly brackets tell the compiler that you're storing to the memory location referenced by P. The r means that you're storing a two byte number.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ