Belmont style Melee controls

digit2600

Member
Has anybody out there figured out any castlevania style control schemes ? If so, I'd be glad to trade my services of music composition in famitracker or sprite work in exchange for them... Just looking for something in the ball park of the old cv and ninja gaiden games- I've got my melee firing off and character stopping to do so while running.. Jumping is a bit of a mess still, and there's a bit of a delay all together on the attack... Has anybody actually gotten down a solid melee platformer bit yet ?
 

Mugi

Member
im afraid you'll have to be a little more specific with this.
What's Belmont style controls ? Only thing i remember from castlevania games is the most terrible knockback of any NES game ever lol :p

That said, i've done quite a bit of work to the controls on my game, so i could propably get something done once i figure out what exactly that is :)

you can download a test rom of my wip game here: http://nesmakers.com/viewtopic.php?f=51&t=1820
and see if it pleases you (it's not castlevania though, my game's controls are based on shatterhand. Also, still wip.)
 

digit2600

Member
Mugi said:
im afraid you'll have to be a little more specific with this.
What's Belmont style controls ? Only thing i remember from castlevania games is the most terrible knockback of any NES game ever lol :p

That said, i've done quite a bit of work to the controls on my game, so i could propably get something done once i figure out what exactly that is :)

you can download a test rom of my wip game here: http://nesmakers.com/viewtopic.php?f=51&t=1820
and see if it pleases you (it's not castlevania though, my game's controls are based on shatterhand. Also, still wip.)

Basically, not having success with multiple conditions in asm...

What I'm trying to do;

If (attacking && !jumping){player can't move}
If (attacking && jumping){player can move}
....
In a nutshell...
 

digit2600

Member
I mean, really it's not Belmont exclusive, it's the same scheme used in most action platformers. Zelda2, ninja garden. Etc..
 

dale_coop

Moderator
Staff member
digit2600, you should write all the cases you need specifically.
Then we can help to translate those in ASM (for your melee and jump scripts).
 

digit2600

Member
Ok... I can do that... lemme see;

If(attacking && !jumping){cantMove}
If(attacking && jumping){canMove}
If(attacking && up button pressed){melee=false; projectile =true}
______
If (ducking){cantMove; if(attacking){changeObjectState(duckAttack)}}else{
ChangeObjectState(ducking)}

I think that's about it...
 

dale_coop

Moderator
Staff member
A good base for searching/coding/testing.
Attacking and moving would require parenting (the weapon has to follow the player). Don't know if someone made a good parenting script for that (Mugi? Jorotroid? chronosv2? SuperNatetendo?)
 

Mugi

Member
sprite weapon is parented to the target object (player) by default and will flawlessly move with you when you attack (sprite weapon draw code is in predraw and that executes every frame so it will never desync.)
the problme with sprite weapon though is that it will be a static sprite. Making animated attacks will require an object weapon, which is a whole different story when it comes to object parenting and movement synchronization.

sans that, it pretty much sounds like you want what i've done to my game. Did you test the rom i linked you to ?
only thing i didnt solve so far is jump attack, and that's only because i ran out of action states, so im in process of solving how to get more than 8 of them. Creating a jump attack with sprite based weapon is really easy aside that though.
 

dale_coop

Moderator
Staff member
Yep, Mugi, your game inputs are very good!
if digit2600 wants animated weapon (like Castlevania), no other choice to use an object (or animated tiles? someone?) ;)
 

digit2600

Member
Mugi said:
sprite weapon is parented to the target object (player) by default and will flawlessly move with you when you attack (sprite weapon draw code is in predraw and that executes every frame so it will never desync.)
the problme with sprite weapon though is that it will be a static sprite. Making animated attacks will require an object weapon, which is a whole different story when it comes to object parenting and movement synchronization.

sans that, it pretty much sounds like you want what i've done to my game. Did you test the rom i linked you to ?
only thing i didnt solve so far is jump attack, and that's only because i ran out of action states, so im in process of solving how to get more than 8 of them. Creating a jump attack with sprite based weapon is really easy aside that though.

Damn dude... this looks great and plays pretty well too.

Basically, yeah, in that ball park- the only difference is in that I would lock my character into place when he's attacking on the ground- which I have figured out- but that also affects the attacking in air state as well...

I think I've been using the object weapon, as it basically gets all kinds of weird when in air- (stays in place, doesn't follow player)... I can get away with a non animated attack though- how are you doing that ?
 

Mugi

Member
like i said, my physics and movement are still wip since i was forced to recreate all of it during the transition from 4.0.11 to 4.1.0.
but yeah, all that is solvable. Making player stop during attack just requires a simple CMP against attack state on inputs. having it not affect air attack is just a matter of giving air attack it's own action state (i work around this differently, but that gets complicated real fast.)

the way my attack is done is just the sprite weapon that is provided with the scrolling platformer module, although i wrote a pile of fixes for it to allow it to function with crouch attack that doesnt spend an animation state, and generally cleaned it up.
 

digit2600

Member
Mugi said:
like i said, my physics and movement are still wip since i was forced to recreate all of it during the transition from 4.0.11 to 4.1.0.
but yeah, all that is solvable. Making player stop during attack just requires a simple CMP against attack state on inputs. having it not affect air attack is just a matter of giving air attack it's own action state (i work around this differently, but that gets complicated real fast.)

the way my attack is done is just the sprite weapon that is provided with the scrolling platformer module, although i wrote a pile of fixes for it to allow it to function with crouch attack that doesnt spend an animation state, and generally cleaned it up.

For some reason, I don't have the scrolling platformer scripts ? Is it located in the usual place- game engine date- routines- basic scripts, etc ?
 

Mugi

Member
if you use the scrolling platformer module, the sprite weapon stuff should be loaded already.

it shows up if you go to project -> project settings -> script settings.
at the bottom you should have a define for "Use Sprite Based Weapon" which is assigned to a script.
the other part of the code that makes it work is located in the preDraw (Handle Sprite Pre-Draw in defined scripts, at the top)
 

digit2600

Member
Mugi said:
if you use the scrolling platformer module, the sprite weapon stuff should be loaded already.

it shows up if you go to project -> project settings -> script settings.
at the bottom you should have a define for "Use Sprite Based Weapon" which is assigned to a script.
the other part of the code that makes it work is located in the preDraw (Handle Sprite Pre-Draw in defined scripts, at the top)

Ok, I see it.. is there a tutorial on here on how to work with these two scripts ?
 

Mugi

Member
Joe does show up how to use it in one of the tutorial videos (maybe the scrolling platformer 20 minute one? i forgot which one of them it is.
basically what you have to do is draw your weapon, then go to user constants in project settings and set the SPR_WEAPON variable to point to your weapon sprite (note that the variable number has to be set in decimal, not in hex value) and then set your weapon offset in the player object (click on game objects from the hierarchy, not the playerobject itself.)
 

Mugi

Member
you can try this one: http://dev9.blacklabel-translations.com/scrn/dd/game.nes

i sanitized the attack to hold you in place during attack (it's really fast since my attack animation is short.)
it doesnt affect jump, but the jump attack looks like crap because i dont have a jump-attack animation (it uses normal attack animation for that.)
again ,that's really easy to solve if you have a free action state to use for jump-attack (i dont.)

since you made the offer, im more than interested of handing over my movemnt scripts in exchange for some famitracker work :)
music is one of those things i can't do for the life of me :p
 

digit2600

Member
Mugi said:
you can try this one: http://dev9.blacklabel-translations.com/scrn/dd/game.nes

i sanitized the attack to hold you in place during attack (it's really fast since my attack animation is short.)
it doesnt affect jump, but the jump attack looks like crap because i dont have a jump-attack animation (it uses normal attack animation for that.)
again ,that's really easy to solve if you have a free action state to use for jump-attack (i dont.)

since you made the offer, im more than interested of handing over my movemnt scripts in exchange for some famitracker work :)
music is one of those things i can't do for the life of me :p

what kind of music do you require ? I'm a nasty fuck with this stuff... These are my compositions from the last game I created..
https://catsdonthavesouls.bandcamp.com/album/silver-island-soundtrack
the last three songs are famitracker versions... https://catsdonthavesouls.bandcamp.com/album/silver-island-soundtrack
 
Top Bottom