Author Topic: [Axe] Super Smash Bros. Open  (Read 383826 times)

0 Members and 1 Guest are viewing this topic.

Offline dididan2000

  • LV0 Newcomer (Next: 5)
  • Posts: 2
  • Rating: +0/-0
    • View Profile
Re: [Axe] Super Smash Bros. Open
« Reply #240 on: November 22, 2014, 03:59:58 pm »
Can you make it so you do not have to control both players? Instead, have it so you will not have to be fighting a standing still character.

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: [Axe] Super Smash Bros. Open
« Reply #241 on: November 22, 2014, 04:06:46 pm »
I saw those calcs when I visited France in the Summer :P

I'm in the US so the different names haven't started to affect me too much yet
Well that's even worse for your case :P
I mean that in France, we have more reasons than you to confuse calc names so you should know the difference between 83 and 83+ ;)

Can you make it so you do not have to control both players? Instead, have it so you will not have to be fighting a standing still character.
You probably mean "implement an AI" ?
Well, as said somewhere in this topic, if I ever make an AI for this game, it will be lame. Probably not even more efficient than an opponent standing still. But that project is open to contributions so I welcome any AI people can give me :)
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline 123outerme

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 458
  • Rating: +23/-0
  • Self-unpaid intern
    • View Profile
Re: [Axe] Super Smash Bros. Open
« Reply #242 on: November 22, 2014, 04:28:31 pm »
I drew up an AI "reasoning path", to help you or anyone else who decides to make an AI.
(Yes, I understand the quality of the image is less than perfect, that the reasoning is far from perfect, but it was just to help)
« Last Edit: November 22, 2014, 04:31:34 pm by 123outerme »

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: [Axe] Super Smash Bros. Open
« Reply #243 on: November 22, 2014, 04:36:32 pm »
Well that's a good plan about attacks but that is not the problem. How does the AI move on the map without falling ? See MAPBOO, there are four moving platforms, gaps everywhere and a whole bunch of annoying things for an AI to handle...
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline 123outerme

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 458
  • Rating: +23/-0
  • Self-unpaid intern
    • View Profile
Re: [Axe] Super Smash Bros. Open
« Reply #244 on: November 22, 2014, 04:52:36 pm »
This probably won't work smoothly, but you could have the AI check to see if there's a platform below it or if it is a certain distance away (being that you could move towards the platform instead of falling straight down).
As for recovery, test to see if the CPU is under the lowest platform. If it isn't, do the things above. If it is, the AI could jump in the direction of the closest edge, then if it hasn't used it already or reached the platform, use the recovery move (Up Special).
« Last Edit: November 22, 2014, 04:57:16 pm by 123outerme »

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: [Axe] Super Smash Bros. Open
« Reply #245 on: November 22, 2014, 05:09:18 pm »
As for recovery, test to see if the CPU is under the lowest platform. If it isn't, do the things above. If it is, the AI could jump in the direction of the closest edge, then if it hasn't used it already or reached the platform, use the recovery move (Up Special).
Yeah, I had already thought about this one, and it actually seems like Melee is doing exactly that.

This probably won't work smoothly, but you could have the AI check to see if there's a platform below it or if it is a certain distance away (being that you could move towards the platform instead of falling straight down).
As you said, this is probably not going to work smoothly. I'd have to loop through all the objects in the map at every frame just for player movement. You'd say that I already do it to check collisions anyway, ok. But still, adding this to that loop won't make thigs smooth at all.
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline 123outerme

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 458
  • Rating: +23/-0
  • Self-unpaid intern
    • View Profile
Re: [Axe] Super Smash Bros. Open
« Reply #246 on: November 22, 2014, 05:15:49 pm »
I guess that you could have a variable or stat that holds lowest platform's y location in every stage, and have it check if the AI is above that location.
Oh, and for actually staying on the platform, it's temporary boundaries (that is, until the player moves to another platform) will be in between the two edges, provided it has edges. If it doesn't, something else could be used, like the two x coordinates of the edges of the platforms (those two variables when you draw the platforms, that is)
« Last Edit: November 22, 2014, 05:35:30 pm by 123outerme »

Offline bb010g

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 428
  • Rating: +22/-1
  • I do stuff
    • View Profile
    • elsewhere on the net
Re: [Axe] Super Smash Bros. Open
« Reply #247 on: November 22, 2014, 05:51:08 pm »
How about just making the AI system extensible? You give an arbitrary AI the stage & current game state and it gives you player inputs. That way anyone could try to build an AI and you could switch between them (even like training, where you have a stationary mode, walking mode, jumping, defense, attack...).
Arch Linux user
Haskell newbie | Warming up to Lua | Being dragged into C++
Calculators: HP 50g, HP 35s, Casio Prizm, TI-Nspire CX CAS, HP 28s, HP Prime, Mathematica 9 (if that counts)
π: 3.14...; l: 108; i: 105; e: 101; l+i+e: 314
THE CAKE IS A LIE IS A PIE

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: [Axe] Super Smash Bros. Open
« Reply #248 on: November 22, 2014, 06:14:47 pm »
How about just making the AI system extensible? You give an arbitrary AI the stage & current game state and it gives you player inputs. That way anyone could try to build an AI and you could switch between them (even like training, where you have a stationary mode, walking mode, jumping, defense, attack...).
Actually, it' probably going to be the contrary, even though in the end it will be the same.
There is a place where I call input routines, and I can change those input routines the way I want (that's actually already how I switch between "Multi" and "Solo", there's just a different initialization but the exact same main loop, calling the right routine to get input) so if you want to develop an AI, just replace LocalInput2 with whatever you want. When it's done, we'll put LocalInput2 back at its place and add a way to trigger your input method ;)

I guess that you could have a variable or stat that holds lowest platform's y location in every stage, and have it check if the AI is above that location.
Yeah, ok, I said I already thought about this one and that the problem was only coming from the other part -.-

Oh, and for actually staying on the platform, it's temporary boundaries (that is, until the player moves to another platform) will be in between the two edges, provided it has edges. If it doesn't, something else could be used, like the two x coordinates of the edges of the platforms (those two variables when you draw the platforms, that is)
There are several problems I see here.
First of all, a "platform" is composed of several objects, so you can't detect where are the edges of the platform you are currently on.
Second of all, even if the character knows where on the platform he is and where he will fall, how does he know if he can jump on another platform or let himself fall on a platfrom below if he only knows where is the platform he is on and not the other platforms ?
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: [Axe] Super Smash Bros. Open
« Reply #249 on: November 24, 2014, 03:42:38 am »
To be honest, i don't think a quick comparison of X/Y coordinates of all platforms will take that long. I'm not sure how they are organized, but in the Boo stage i see what look like 7 platforms. Compared to scaling the sprites and everything else i think that will be rather negligible, at least just the comparison. Divising an actual AI will be a lot more troublesome though. For now you could just have the "AI" face and randomly attack the player, even if they don't move, or limit them to the current platform they're on/jump towards the middle when falling and no platform is beneath them.

Though personally i think especially with linkplay there's already enough, i'd like to see more characters and whatever work you still have planned for the engine get done :D

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: [Axe] Super Smash Bros. Open
« Reply #250 on: November 24, 2014, 03:20:26 pm »
To be honest, i don't think a quick comparison of X/Y coordinates of all platforms will take that long.
Yeah, all of those comparison can in fact be added in the loop that draws the map and checks collisions. Or could be added in a separate loop to have the "AI module" distinct from the rest.

I'm not sure how they are organized, but in the Boo stage i see what look like 7 platforms.
There are 8 platforms in fact. The "biggest" platform is actually composed of two halves ;)
But yeah, if we say that it must only jump when Y(destination)>Y(current), it would just walk from one part to the other.

Divising an actual AI will be a lot more troublesome though. For now you could just have the "AI" face and randomly attack the player, even if they don't move, or limit them to the current platform they're on/jump towards the middle when falling and no platform is beneath them.
Yeah, as I said, if I ever make an AI for this, it will be lame :P

Though personally i think especially with linkplay there's already enough, i'd like to see more characters and whatever work you still have planned for the engine get done :D
Well Meta Knight is coming and I still have to work on Fox, Falco and features that prevent me from finishing them (like projectiles).
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline bb010g

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 428
  • Rating: +22/-1
  • I do stuff
    • View Profile
    • elsewhere on the net
Re: [Axe] Super Smash Bros. Open
« Reply #251 on: November 24, 2014, 09:48:47 pm »
How about just making the AI system extensible? You give an arbitrary AI the stage & current game state and it gives you player inputs. That way anyone could try to build an AI and you could switch between them (even like training, where you have a stationary mode, walking mode, jumping, defense, attack...).
Actually, it' probably going to be the contrary, even though in the end it will be the same.
There is a place where I call input routines, and I can change those input routines the way I want (that's actually already how I switch between "Multi" and "Solo", there's just a different initialization but the exact same main loop, calling the right routine to get input) so if you want to develop an AI, just replace LocalInput2 with whatever you want. When it's done, we'll put LocalInput2 back at its place and add a way to trigger your input method ;)
How about this: you make that part swappable, so you can select varied compiled Axe (ASM I guess) programs to act there. You then can have a P1, P2, Link, AI, etc. there, easily swappable.
Arch Linux user
Haskell newbie | Warming up to Lua | Being dragged into C++
Calculators: HP 50g, HP 35s, Casio Prizm, TI-Nspire CX CAS, HP 28s, HP Prime, Mathematica 9 (if that counts)
π: 3.14...; l: 108; i: 105; e: 101; l+i+e: 314
THE CAKE IS A LIE IS A PIE

Offline CKH4

  • LV3 Member (Next: 100)
  • ***
  • Posts: 42
  • Rating: +1/-0
    • View Profile
Re: [Axe] Super Smash Bros. Open
« Reply #252 on: December 01, 2014, 02:37:27 pm »
Are you planning on random damage additions? (To give it percents that aren't a multiple of 15)
Profiles:
        
Other Peoples Projects:
   
(I like parentheses)

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: [Axe] Super Smash Bros. Open
« Reply #253 on: December 01, 2014, 02:41:25 pm »
How about this: you make that part swappable, so you can select varied compiled Axe (ASM I guess) programs to act there. You then can have a P1, P2, Link, AI, etc. there, easily swappable.
This is already planned and kind of prepared. If you look at the source code, you'll see variables that contains the adress of the initialization of input routines and a variable that contains the adress of the input routine itself. So I just have to change those routines with a menu to be able to change input methods.
(But since those input methods are not done, menus aren't either).

Are you planning on random damage additions? (To give it percents that aren't a multiple of 15)
Haha ! That's done too, it's just that when I was trying hitboxes, I was too lazy to put real numbers so I probably put 15 everywhere :P
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline CKH4

  • LV3 Member (Next: 100)
  • ***
  • Posts: 42
  • Rating: +1/-0
    • View Profile
Re: [Axe] Super Smash Bros. Open
« Reply #254 on: December 02, 2014, 08:14:21 am »
Are you planning on random damage additions? (To give it percents that aren't a multiple of 15)
Haha ! That's done too, it's just that when I was trying hitboxes, I was too lazy to put real numbers so I probably put 15 everywhere :P

Thanks! Good luck on this, I'm waiting till the next update to update it on me and my friend's calculators.

Edit.

Has anyone made a wireless link for the calculator? If so I am going to buy it otherwise I might work on learning the skills to try my own.

Edit by Sorunome: the wireless calculator discussion is split to http://ourl.ca/21745
« Last Edit: December 02, 2014, 11:46:24 am by Sorunome »
Profiles:
        
Other Peoples Projects:
   
(I like parentheses)