Jump to content
IGNORED

I mean to make a fighting game


flux

Recommended Posts

Ever since I was a kid, I wanted to make a fighting game. I decided to give it a shot with Raptor Basic and have been poking around at it when I have free time (almost never). I had a few hours yesterday to jump back in and got a little bit further along. Keep in mind these graphics aren't final at all. The actual game will look nothing like this. Also there's no actual fighting or collision detection or anything like that yet. You just have a guy that can move and jump around a bit.

 

I think I sorted out my last issues with the scaling that I was stuck on for a while, so I guess that's why I'm stoked enough to make a post about it. When I get something resembling an actual game, I might set up a youtube account or something but for now, all I have is this cheesy cell phone video I uploaded to mega.

 

https://mega.nz/#!dxQUGQKJ!-LPUqbsiJKjvu0_DbeUenVmODidE5B0PwYvcYj0qEe0

 

I know it will take forever since I'm just one guy but it's fun to work on from time to time.

  • Like 14
Link to comment
Share on other sites

Haha - that's cool man. Good start - character animation, camera zooming, etc. Nice start.

 

Keep going with this - every project, no matter how huge starts small and builds. Sadly, work (coder) keeps me too busy to have fun with any 8-bit or 64-bit Atari coding these days.

  • Like 3
Link to comment
Share on other sites

The zoomy playfield is super cool - it reminded me of all those SNK games like Art of Fighting 2 that I saw bitd and made me look at the floor for my jaw :).

 

Getting the movement working properly is really a huge step so good going! Very interested to see how this progresses.

  • Like 4
Link to comment
Share on other sites

Thanks for the kind words everyone!

 

I did have another question though. I'm not sure how it works with changing sprite animations. Like, say I have an animation where I want my guy to throw a punch. Do I keep all animations on the same sheet and somehow specify which ones to use? If so, is there an in-depth description of that process? The only other thing I can think to do is I would have to have separate sprites for each animation and load and unload them all as needed.

 

Also should I keep all this stuff in this thread or make a new thread for each new programming question I might have?

  • Like 1
Link to comment
Share on other sites

I did have another question though. I'm not sure how it works with changing sprite animations. Like, say I have an animation where I want my guy to throw a punch. Do I keep all animations on the same sheet and somehow specify which ones to use? If so, is there an in-depth description of that process? The only other thing I can think to do is I would have to have separate sprites for each animation and load and unload them all as needed.

It should be perfectly fine to use few sprite sheets. In the Barbarian thread F.L. asked pretty much the same question and in the linked post I replied with some math on how the start frame inside a sprite sheet can be calculated. Using that trick you can have a single spritesheet (all sprites should have the same width of course) and alter R_sprite_gfxbase on the fly (plus whatever other parameters needed - number of frames for example or animation speed).

 

Also should I keep all this stuff in this thread or make a new thread for each new programming question I might have?

To be honest, I personally don't like to impose rules to people. My preference is to have a different thread per issue so people can search through the topics and find answers to a specific question instead of having to scroll through pages of discussions in one thread to dig the solution they need. But like I said, if you prefer your questions bundled in one frame, I won't object!

  • Like 2
Link to comment
Share on other sites

It should be perfectly fine to use few sprite sheets. In the Barbarian thread F.L. asked pretty much the same question and in the linked post I replied with some math on how the start frame inside a sprite sheet can be calculated. Using that trick you can have a single spritesheet (all sprites should have the same width of course) and alter R_sprite_gfxbase on the fly (plus whatever other parameters needed - number of frames for example or animation speed).

 

I was able to get started from the information in that thread but I'm still having some trouble working through this. I might be mistaken about what is happening, but this is what it looks like to me.

 

Currently I have 6 frames spread over two 3-frame animations. When I press the button to shift to the punch animation, it doesn't seem to start from the beginning. For instance, if I pressed the button while on the second frame of the normal "idle" animation, then the punch animation will start on its respective third frame. I'm not sure if that's exactly, but it never really seems to go through the entire punch animation, and it definitely produces a separate and distinctly incomplete animation based on what frame of my idle animation I start on.

 

My sprite is 80 pixels wide. Each frame is 128 pixels high (so with all 6, the spritesheet is 80x768). I'm adding 15360 when I hit the button, which if I understood the post you linked properly, it the number I'm to add in order to have it play the second animation.

 

I'm storing rlist[P1].gfxbase into a variable before my loop. When the punch button is pressed, i set rlist[P1].gfxbase to my variable + 15360 and then set it back to the variable's value alone after 3 frames.

 

Is there a way to have it reset to the first frame of an animation before it plays? Or is there something fundamentally wrong with my approach here? Any help would be appreciated!

Link to comment
Share on other sites

I was able to get started from the information in that thread but I'm still having some trouble working through this. I might be mistaken about what is happening, but this is what it looks like to me.

 

Currently I have 6 frames spread over two 3-frame animations. When I press the button to shift to the punch animation, it doesn't seem to start from the beginning. For instance, if I pressed the button while on the second frame of the normal "idle" animation, then the punch animation will start on its respective third frame. I'm not sure if that's exactly, but it never really seems to go through the entire punch animation, and it definitely produces a separate and distinctly incomplete animation based on what frame of my idle animation I start on.

 

My sprite is 80 pixels wide. Each frame is 128 pixels high (so with all 6, the spritesheet is 80x768). I'm adding 15360 when I hit the button, which if I understood the post you linked properly, it the number I'm to add in order to have it play the second animation.

 

I'm storing rlist[P1].gfxbase into a variable before my loop. When the punch button is pressed, i set rlist[P1].gfxbase to my variable + 15360 and then set it back to the variable's value alone after 3 frames.

 

Is there a way to have it reset to the first frame of an animation before it plays? Or is there something fundamentally wrong with my approach here? Any help would be appreciated!

Disclaimer: I am a bit tired tonight, but I shall give it a shot :)

 

(Okay, it took me a lot of time to understand what you are saying, I hopefully got it right!)

 

I think when you press the punch button you need to set your gfxbase like you do, and set the object's R_sprite_curframe to 0. This will ensure that all frames are played from start.

 

Hopefully this helps!

  • Like 1
Link to comment
Share on other sites

Disclaimer: I am a bit tired tonight, but I shall give it a shot :)

 

(Okay, it took me a lot of time to understand what you are saying, I hopefully got it right!)

 

I think when you press the punch button you need to set your gfxbase like you do, and set the object's R_sprite_curframe to 0. This will ensure that all frames are played from start.

 

Hopefully this helps!

 

That was it exactly. I was looking for something like that curframe but wasn't able to find anything. Is there a complete list of those things? I was pretty much going by what was in some default rapinit.s template and if it's not there then I don't know about it. But yeah, I did as you suggested and it looks much better. Thanks again!

 

As a side note, while I was stuck there, I took the time to add some code to capture button sequences for use in things like special moves or codes or something like that. They don't do anything yet, but I can see them and it seems to work pretty well.

  • Like 1
Link to comment
Share on other sites

That was it exactly. I was looking for something like that curframe but wasn't able to find anything. Is there a complete list of those things? I was pretty much going by what was in some default rapinit.s template and if it's not there then I don't know about it. But yeah, I did as you suggested and it looks much better. Thanks again!

 

As a side note, while I was stuck there, I took the time to add some code to capture button sequences for use in things like special moves or codes or something like that. They don't do anything yet, but I can see them and it seems to work pretty well.

Check out docs\rb_quickref.html

Link to comment
Share on other sites

  • 2 weeks later...

Hmm...this could be the thing that Kasumi Ninja and Ultra Vortek should have been. I know some pixel artists on Newgrounds if you need graphical help.

Here is wisdom.

 

I know Atari interfered with Kasumi Ninja, but sorry HMS you guys just weren't the team to do a Mortal Kombat contender on the Jaguar.

 

Nor were Beyond Games with Ultra Vortek.

 

Very few developers managed to pull off subsitute fighting games , i would say the team behind Genesis Eternal Champions came closest.

Link to comment
Share on other sites

You've gotten off to a great start with this.

 

The only piece of advice i can offer is try and get a sense of weight to your characters when developing this.

 

A lot of Amiga fighting games looked great but felt 'off' when playing them..

 

For example:

 

 

I wish you the very best of luck with the project and thanks for sharing your progress so far.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...