Views: 926,255,365
15 users online: akari1129,  Anorakun, Chosentw0, Daizo Dee Von, Dark Prince, gui,  JamesD28, MassPunishment, Mattrizzle, RollingRigatonis,  Sinc-X,  Tahixham, TheJank, Tronics, will___ - Guests: 100 - Bots: 63 Users: 51,773 (2,053 active)
Latest: ByLHacks
Tip: If you place too many sprites on the same screen, it will slow the game down. You can use the SA-1 Pack to reduce this slowdown, allowing more sprites on screen if required.
Not logged in.
Posts by inikdom
inikdom's Profile - Posts by inikdom
Pages: « 1 »
edit (2020-11-20):

Note I will submit the sprites and open source the code after I've released my hack. Until then if you want to re-create this here are the general steps:

1. I built a set of custom sprites for the arrows and A/B (non-interacting, act-like 25).
2. I based the movement off the 'Angry Sun' sprite to keep x/y positions on the screen constant while mario moves.
3. I chose the speed to be 0 in the x, and some value in the y corresponding to how frequently I am spawning the arrows (this is dependent on your BPM, so it will change depending on what song you sync it to).
4.I made my own level uberASM based on the shell shooter uberASM to dynamically spawn the sprites (status 08 instead of 09). It reads in a byte sequence to determine which sprite to spawn, and does so every x frames (where x is dependent on your BPM, for 90BPM I think I used 36.75 frames average).
5. I am checking if the user holds down the corresponding button when the sprite is in the y-range to determine if they hit the step early/on-time/late
6. I increment the score counter when the detection in 5 succeeds.

Note I have everything working except step 5 (detecting when the sprite is in a specific pixel range has proven difficult for me). When I solve it I will update this post again.


original post:

I am working on a proof of concept mario hack centered around music and controlling mario with a dance pad (think ddr-like). I am in the early stages but am looking for ideas on how to approach creating moving arrows that go from the bottom of the screen to the top. Even just a few nudges/hints in the right direction is helpful. I will also admit this is my first hack, so I am sorry if there is an obvious answer I have missed.

The requirements I think I need:

1. the arrows don't interact with mario or other sprites (display only)
2. can somehow represent button holds by either repeating the arrows (sprite limit?) or elongate them for the duration of the button press.
3. have the timings consistent so I can script them in time with the song (I assume if I set spawns to an absolute position on the screen and always spawn at the same y-position that this should be relatively easy to keep consistent).

I have a background in embedded software engineering (but admittedly haven't done any actual embedded software for a few years now) so even an idea in pure asm no matter how 'advanced' would be incredibly helpful.

See the image at the bottom for a reference to the types of arrows I am talking about.

My ideas so far:
1. Create an ExAnimation in layer 3 for each arrow and the jump buttons, and somehow control when they play and make multiple play at the same time.
2. Use the skull platform and somehow make it non-interactive, but I don't know how to make it variable length like in smm2.

Some more background on the project if anyone is interested:

I wanted to create something fun that would keep me active during winter. I am aware level design will be a challenge since 'hold right' doesn't exactly work well with ddr style games but that's part of the fun for me. I've been toying with procedural level generation for a while now, and the thing I am thinking of doing is choosing the song, getting the required choreography/inputs and timings, then generating a level around those inputs.

Wow thank-you for the detailed response. I will attempt to reach out to the vhack team for some hints. I would have never known about that level in the hack had you not mentioned it.

That customizable sprite killer block is perfect, this is a very good idea for how to destroy sprites and check button presses for the scoring system. Thanks also for pointing me to SA-1, this makes me think I should read through as many patches as possible to see what else I may be missing. Your points on 3) are well noted and I appreciate you mentioning some of those to me before I fall in the rabbit hole.

I'm really glad you mentioned that about AddmusicK, having the music interrupt or pass data gives me a better-than-I-expected option.

Thanks again, I have a lot to go through and test out.
Pages: « 1 »
inikdom's Profile - Posts by inikdom

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2021 - SMW Central
Legal Information - Privacy Policy - Link To Us


Follow Us On

  • YouTube
  • Twitch
  • Twitter


  • Super Mario Bros. X Community
  • Mario Fan Games Galaxy
  • sm64romhacks