Name: | Spaceship Movement |
Authors: | AmperSam, AuraDee, wiiqwertyuiop |
Added: | |
Version History: | View |
Type: | Level |
Includes GFX: | No |
Includes Hijack: | No |
Featured: | No |
Description: | This UberASM will allow you to move in all directions, but you will die if you touch a surface. An option in the ASM file, if set, will let you move in diagonal directions, which is on by default. |
Tags: | controller lorom no gravity physics sa-1 |
Comments: | 3 (jump to comments) |
Rating: |
Download
704 bytes | 327 downloads
Comments (3)
- Lunar Magic 3.50
- SA-1 Pack 1.40
- Snes9x 1.62.3, Mesen 2
- UberASM Tool 2.0
Notes:
Works fine (except for one edge case, which I fixed up, see below for details) and is definitely an improvement over the previous version, so accepted.
- Using the controller data from $0DAn based on the current player in $0DB3 won't work when only one controller is plugged in unless you check for that too (since both players use the same controller in that case). Changed to just use the controller data in $15 instead, which should be fine.
- Converted speed defines to decimal for convenience
- Added
;>dbr off
as a minor optimization, since the DBR isn't needed for this. It might get a minor speedup on SA-1 from being run on the SA-1 side, but it's short enough that it's probably not a big deal anyway, so I didn't bother adding it.- Note that using very large speeds can cause weirdness, like clipping through surfaces, but that's expected
Some suggestions for future enhancements:
- It might be nice to have the player accelerate/decelerate instead of just starting/stopping immediately
- It might also increase the usefuless of this to have an option to not kill player and just revert to normal, or hurt, or a flag that can enable it on-demand, etc
- Since diagonal movement is now handled separately, it would be good to have separate H/V speeds for diagonal movement. So e.g., the default speed of 21/21 could be given as 15/15 diagonal to create about the same euclidean speed
Lunar Magic 3.03
UberASM 1.3
SA-1 1.31
Asar 1.71
Unlike patch version it's more workable in uberASM, though there are still some issues:
-Sides of solid sprites don't kill player (i think hijack is mandatory)
-Suggestion for proper diagonal movement. Also moving up or down doesn't reset X-speed, which can lead to diagonal movement, but it's rather strangely handled (if player just wanted to move straight up resetting X-speed is important).
-For optimization sake doing REP/SEP is unecessary, setting bit 7 for both 0DAC and 0DAD works just fine.
That being said it works fine otherwise... accepted.