Odd request: Character creation system

Discussion in 'Characters' started by Lilfut, Mar 30, 2012.

  1. Lilfut

    Lilfut Level 7: Bloober

    Now hear me out on this.

    Plenty of people want characters in that, frankly, will never get in officially. Characters like Duke Nukem, Pac-Man, and such. So, why not add in a character creation system? Offer a basic WYSIWYG interface, saving the output as .smbchar files, then allow people with coding experience to directly edit the file, which would have Actionscript code, for advanced things. This would allow for a lot more experimentation and seeing what works, and the best creations would be included by default in future versions.

    For example, I would like to see Waluigi and Psycho Iris from Psycho Waluigi. There's no chance of them ever appearing for real in the game, as it's a fangame for PC. Under my idea, I could code Waluigi's basic controls (jumping, speed, etc) and eggplant powerups with the WYSIWYG interface, then make the Psycho Iris physics in JS.

    And, of course, putting part of the code in the community's hands would make things much easier for Jay and the other devs.
     
  2. Faruga

    Faruga Level 12: Super Mod
    Patron

    Oh yay, I can put Gimmick and Kirby in. Oh no, I don't know Actionscript. :rolleyes:
     
    uglyrodent likes this.
  3. Lilfut

    Lilfut Level 7: Bloober

    But with just the WYSIWYG interface, you could still create, say, Wario. SMB3 Mario. Proto Man with a proper shield. Yoshi. I could go on.

    Also, if Toad or Peach are in a later version, picking-up physics would probably be included in the WYSIWYG interface, so Gimmick could at least be made.
     
  4. Faruga

    Faruga Level 12: Super Mod
    Patron

    I don't even know any good LUA. How am I going to code FLIPPING YOSHI?! Or even Proto Man or SMB3 Mario?
     
    uglyrodent likes this.
  5. Lilfut

    Lilfut Level 7: Bloober

    The WYSIWYG interface would allow simplified coding (that is, speed/damage variables and paths) for Yoshi's projectile attacks. The same could be done for SMB3 Mario's powerups, including the Raccoon Suit, since movement-changing powerups would be possible. Furthermore, invulnerability hitboxes would probably be creatable for Proto Man's shield or Hammer Mario's ducking shell.

    To clarify, the powerup-creation interface would probably include:
    -Projectile path (shielding, arced, straight forward, bouncing, 8-directional, some combination of the above)
    -Projectile speed (with 1 being Hard Knuckle's starting speed and 10 being Samus's beam)
    -Projectile damage in HP (Goomba has 1hp, Bowser has 8)
    -Movement speed multiplier
    -Special effect when running and/or jumping while running
    -Special effect when ducking
    And so on.
     
  6. sbq92

    sbq92 Level 9: Spike Top

    So, like the skins, except you can submit characters? This...is an interesting idea... It's far more complicated than the skins, though, since people have to actually know the programming involved.

    Even if this were to work out, adding a bunch of characters would be far more difficult to manage than adding a bunch of skins, since characters need to be skinnable and they need to be able to properly function in the SMB world (which can't be tested by the player--they need to hope for the best).

    Also, if you actually know enough to program your own character, why not spend your time making your own games rather than creating characters that might not even get used?
     
    DarkSonic, uglyrodent and Faruga like this.
  7. Faruga

    Faruga Level 12: Super Mod
    Patron

    You still haven't convinced me that it's simple enough to put in. You also haven't proved yet that it won't take five billion (exaggerated, but you get the idea) hours of work to implement this feature.
     
  8. Lilfut

    Lilfut Level 7: Bloober

    Nonono, there would be an icon on the char select for "load .smbchar" or whatever, then you would load the file you created in the interface and/or Notepad. These would be fan-created and submitted, and only high-quality characters would be fully featured in a future version. Even before they're fully featured, though, they can still be downloaded and used by anyone, even in the current version.

    Cheat unlocking and such would probably have to be disabled when using custom characters, to prevent people from "unlocking everything" with OLOLOLOL MAX STATS GAI.

    This would also allow particularly creative types to make 100% custom characters, to experiment on an engine level. (how about a character who can move in all 8 directions, but is completely unarmed? a character who only attacks via an intermittent shield that enemies can get through while it's down? a character whose ability to jump is limited by ammo like a weapon?)

    Back to the coding issue, I could see someone doing coding requests, in the same way Rey D does portraits. You would, of course, create everything that doesn't need AS, and then tell him what code is needed. Using Kirby as an example, you would create a hammer-throwing powerup using the normal interface, then ask this person to change it so that it is obtained by eating a Hammer Bro and pressing Down, rather than being obtained from a ? block.
     
  9. sbq92

    sbq92 Level 9: Spike Top

    There is still the matter of it potentially being a major undertaking for Jay to even set such a system up properly. You do realize he would have to write the script for easy character coding himself, which would probably take a long time, since he would have to account for just about anything you can think of, considering there is a huge variety of character options out there (e.g., Yoshi plays completely differently from Alucard). Character size would also have to be factored in (e.g., the Ice Climbers are tiny, whereas DKC Donkey Kong is quite large). He would then have to program the game to function with this script. Then the users would have to know enough to use the script to program their characters. And what about the graphics for these characters? Some have a small handful of sprites (Balloon Fighter), while others have a ridiculous number of sprites (MMX4 Zero). The game will need to be able to read sheets properly, but how does one account for sheets of variable sizes? And then there's the hit boxes of these characters of various sizes.

    I think this is far more complex than you have considered. Very interesting idea, I just don't think it's feasible.
     
  10. Lilfut

    Lilfut Level 7: Bloober

    For the sprite issue, you could put the sprites in the system as separate files, rather than a sheet. As for character size, just set it up to have either a square or masked hitbox (I don't know which one SMBC uses currently). The coding time is certainly an issue, though I could see Jay making the .smbchar file system first, then maybe have someone else make a third-party interface. It would definitely be difficult, but, in addition to just being cool, it would reduce the amount of work needed to put new characters in future versions, since a good portion of the coding work would be crowdsourced.
     
  11. sbq92

    sbq92 Level 9: Spike Top

    There is still the matter of having to account for too many variables. Such a system needs to be either absurdly complex or too simple, and in the case of being too simple, people would be annoyed when they can't program their favorite characters because the program doesn't allow for X. A scripted system is going to be inferior to actually programming something yourself.

    You would also need to know a lot about math and physics in order to get the characters working properly. Sure, you can have a window with the graphics and frames and such, but what about having them move properly and jump properly and be affected by gravity properly? You start getting into some tricky stuff when you start talking about programming your own characters. You want to have Psycho Luigi added into the game. Do you realize how much work that would take, even using a scripted program? Even programming someone simple like Mario would require a lot of work to get the walking, running, jumping, skidding, etc. all working properly.

    Regarding the sprites, having a system that requires that many separate files is a bit much. What if you're loading SotN Alucard? He has tons of animations, and tons of attacks and special attacks. You're looking at probably around 100 or so files (I haven't counted, but I've seen the sheets and I'm estimating). That means SMBC needs to load these ~100 files in order for your character to work properly, and that's in addition to the normal amount of graphics that need to be loaded. Maybe it's not as big a deal as I think it might be, but it's something to consider nonetheless.

    For the amount of work the process would take for the user, he or she might as well just learn proper programming and make their own game with their character. If you know the physics and how to work with the graphics, you're more than halfway to your own game anyway.
     
    uglyrodent likes this.
  12. uglyrodent

    uglyrodent Level 9: Spike Top

    Wow, the character maker requests never get this in depth O_O

    But yeah, I gotta side with sbq92 and Mario-Fan. It WOULD be cool, but we're talking hundreds upon hundreds of hours for Jay to get this working even somewhat feasibly. Characters would be hard to make, so the majority of fan made characters would...well, nothing against anyone but let's be honest; they'd kinda suck. So the amount of work compared to the payoff is a pretty sad ratio indeed. Even if someone makes one good enough to get in, that's even more work for Jay since he'd have to tweak it and test for bugs. This would be a MASSIVE burden on Jay, and the system would, as sbq said, too much or too little. It's a huge undertaking with inevitably suboptimal results, so it simply isn't worth it.
     
  13. Lilfut

    Lilfut Level 7: Bloober

    I'd say have too little, plus the ability to code. Keep in mind that there would be people who know how to code willing to help, and Actionscript is one of the easier languages to learn anyway.
     
  14. Faruga

    Faruga Level 12: Super Mod
    Patron

    *waits for ReNeX to rage*
     
  15. Lilfut

    Lilfut Level 7: Bloober

    I never said easiEST, but compared to VisualBasic and C++ and the like it's fairly easy to learn.
     
  16. Faruga

    Faruga Level 12: Super Mod
    Patron

    Compare it to Game Maker. I don't know Game Maker, but ReNeX is going to say that Game Maker is the easiest language to learn. He taught it to himself when he didn't know a word of English, and that was when he was twelve. TWELVE.
     
  17. Lilfut

    Lilfut Level 7: Bloober

    GML is easier. ActionScript is still easy. I'm not saying it's the easiest, but it's definitely not a hard language, either.
     
  18. Faruga

    Faruga Level 12: Super Mod
    Patron

    Do you actually know any ActionScript?
     
  19. Lilfut

    Lilfut Level 7: Bloober

    I know a bit. As the name implies, it's action-based, so assuming the variables are nicely labeled it would be a simple matter of knowing basic interaction.
     
  20. sbq92

    sbq92 Level 9: Spike Top

    The difficulty of the language used to script the character created is largely irrelevant. The difficulty lies in the sheer number of variables (not programming variables, but actual variation) involved in developing an "easy" means of user-coded characters. The variety of character types and movesets and graphical sizes and playstyles and everything needs to be considered for such a thing to be worthwhile. It won't be as easy as plugging images into frames and saying, "I want jumping to look like this and attacking to look like this" and the character is done. You need to consider things like:
    • How high can the character jump?
    • Does holding the button make the character jump higher?
    • Is there a delay before the jump occurs?
    • Is it a quick jump?
    • Is it a slow jump?
    • Does the character spin jump?
    • How much is the character affected by gravity (if at all)?
    • Is the character's jump also an attack?
    and also:
    • What kind of attack does the character use?
    • Is it melee?
      • How quickly or slowly does the character attack?
      • Is there a delay before the attack occurs (like Simon's whip)?
      • Can the character attack in the air?
        • If so, are air attacks different from ground attacks?
      • If the character can crouch, can the character attack while crouching?
      • Is the melee attack long-ranged or short ranged?
    • Is the attack a projectile attack?
      • How fast does the projectile move?
      • Is it subject to gravity?
      • Can the character attack multiple directions?
        • If so, which directions?
      • Do the projectiles travel the length of the screen, if not, how far do they travel?
      • Do the projectiles pierce through enemies?
    And there are all sorts of other considerations as well, these are just some of the basics (and certainly not an exhaustive list).
     
    DarkSonic, TheomanZero and uglyrodent like this.

Share This Page