1. Please be advised of a few specific rules and guidelines for this section.

WIP The Pokémon Project

Discussion in 'NPCs and Creatures' started by Kayuko, May 19, 2015.

  1. LeoBreg

    LeoBreg Scruffy Nerf-Herder

    I'll do whatever I can just 1 pokemon a week

    *bing*

    Not sure how starbound style work I don't have many references for it
    but from what I looked it only has 3 shades a base, shade, and outline
    but since I rip charmander 3 base of base, shade, and outline
    I can only detail it so much.
    http://i.imgur.com/raKMek4.png
     
    Last edited: May 28, 2015
    Jimlad 42, Kayuko and The | Suit like this.
  2. dasmole

    dasmole Title Not Found

    That looks great Leo.

    I think you can go up to 4 shades with the starbound style, but some sprites definitely only use three. I'll see if I can dig up some examples.
     
    LeoBreg and Jimlad 42 like this.
  3. Kayuko

    Kayuko Oxygen Tank

    You can do as much shades as you want, but the important thing is actually being able to make out what Pokémon it is, so it doesn't need to be too detailed. :3
    That looks good, yeah. :D
     
    Jimlad 42 likes this.
  4. dasmole

    dasmole Title Not Found

    OK, I think I'm set with Oddish. Here are a couple of the animations.

    Running:
    [​IMG]
    Eating:
    [​IMG]


    Here's the actual spritesheet:
    https://www.dropbox.com/s/9t48oiztxa8yaob/oddish.png?dl=0

    Let me know if you need any adjustments. For example, I'm not sure how well the sleeping frame will work in practice, since it's pretty big shift from the other frames (the transition might be weird).

    Next up, I'm going to call Paras and Venonat, if that's alright.
     
  5. Kayuko

    Kayuko Oxygen Tank

    Yay, I can finally start doing shiet. :3
    Marked you in both of 'em.
     
    Jimlad 42 likes this.
  6. The | Suit

    The | Suit Agent S. Forum Moderator

    Wow that is really amazing
     
    dasmole and Jimlad 42 like this.
  7. Jimlad 42

    Jimlad 42 Supernova

    Yeah, I have to admit that one's really cool looking.
    (Side note: Any chance of anyone throwing Twitch Plays Pokemon references like the Leech King in?)
     
    dasmole likes this.
  8. Kayuko

    Kayuko Oxygen Tank

    @dasmole in case you want to see your guy in action.

    [​IMG]



    [​IMG]


    Just wanted to know if that implementation is fine or you had another animation cycle in mind or something.
     
    dasmole, Jimlad 42 and rhomboid like this.
  9. rhomboid

    rhomboid 0118 999 881 99 9119 725... 3

    oh my god the fighting lol BOP perfect
     
    Jimlad 42 and Kayuko like this.
  10. dasmole

    dasmole Title Not Found

    Thanks Kayuko, that was fast! Top one I think looks good. Hard to tell what his feet are doing, since I think they sink in to the ground a bit on planets, but based on the hair animation, that looks like the walk cycle I had.

    I think something might be up with the fighting gif though. At times it looks like his feet are freaking out, any idea what set of frames that cycle is trying to use?
     
    Jimlad 42 likes this.
  11. Kayuko

    Kayuko Oxygen Tank

    That's probably because I had to adjust some aliases for attack animations.

    Code:
      "run" : {
                "frames" : 4,
                "cycle" : 0.5,
                "mode" : "loop"
              },
             "charge" : {
                "frames" : 1,
                "cycle" : 0.275,
                "mode" : "loop"
              },
    
    and

    Code:
              "melee" : {
                "frames" : 2,
                "cycle" : 0.4,
                "mode" : "transition",
                "transition" : "idle"
              },
         "chargeAttack" : {
                "frames" : 4,
                "cycle" : 0.6,
                "mode" : "end"
              }
    
    The aliases used:

    Code:
    "aliases" :
      {
    "charge.1" : "run.3",
    "charge.2" : "run.3",
    "charge.3" : "run.3",
    "charge.4" : "run.3",
    "melee.1" : "run.1",
    "melee.2" : "run.2",
    "melee.3" : "run.3",
    "melee.4" : "run.2"
      }
    
    
    That's indeed a bit messy, I know, might find another solution for that (and likely the ranged attack type too, once I added it).
    Suggestions are welcome tho :<

    And yeah, collisions are a pain, that's why it looks like he's sunk. It's just 1 or 2 pixels tho, so that's easily fixed.
     
    Jimlad 42 likes this.
  12. Jimlad 42

    Jimlad 42 Supernova

    Eh, if I'm lurking and liking I might as well say my thoughts. (As mundane as they will often be. There might be flashes of brilliance in there though, you never know.)
    They both look good, and the issues you pointed out I had to search for. Although the Oddish is a little to sunken in on the first one, that I didn't have to search for but figured it was just how Oddish looked, with next to no visibility on those feet. But I do think it needs raised a pixel or so, sounds like you have that covered. I'm sort of wondering if you might have to put some attack animations on all the Pokemon so they look a bit smooth, (But I have no idea how Starbound modding works, and as such have no idea if you're already using the sprite limit or something.)

    Welp, back to lurking now that I've said too much.
     
  13. Kayuko

    Kayuko Oxygen Tank

    Attacks are mostly using basic animations, like ... if it would have arms, swinging them up or something.
    The main visual-attack effect is produced by projectiles used by the attack, and yeah, we'll try to have that covered with time.
    Don't forget, I only need to write the code from scratch once, so once that's done I can copy/paste, adjust and recycle it for every other pet.
    The spriters, on the other hand, have a handful of work to do with not much adjustments and recycling going on. :p

    So there's lots of space for mechanic-sided adjustments. :3

    I'll try to get each pkmn the set of attacks it had in the games, as far as it's possible at least.
    For sure, some things won't work, but most should work (reducing speed for example, stunning, poison, burn, different damage values based off things, even K.O. attacks that may or may not be successful).
     
    Jimlad 42 likes this.
  14. Jimlad 42

    Jimlad 42 Supernova

    Right, I forgot about that aspect of it. That sure makes...
    ...
    Errm...
    Well, you still have around... what, 100 moves to code? they have a hundred fifty one battle-worn warriors to sprite?
    So I think I'll just count your work about even. Although, do you think it'll be possible for typing with the given system?
     
  15. Kayuko

    Kayuko Oxygen Tank

    Possible?
    Yeah.
    Time consuming?
    Oh, yes.
    But basically that's all just math. The resources are already there (namely, effects, health stats, percentage-based resource functions).
    The only thing I'm really struggling (code-wise) right now is creating a hybrid-state (or switch-state) for pets to be able to attack and / or act like the ship-pet (eating / emotes / stuff) at once, or rather in the same script.
    That'd be a lot easier with the world.getInfo() function that's not yet implemented, but I think there's gotta be a workaround, just gotta look harder. :p
     
    Jimlad 42 likes this.
  16. dasmole

    dasmole Title Not Found


    Oh, that's interesting, I hadn't though of how much you'll need to cobble together other animations via aliasing.

    The more I'm looking at the fighting animation, most of it actually seems to work really well (good job!), the only piece that seems a little odd to me are when they they stop and stare at each other a bit before a big attack. It almost seems like they should be stopping to size each other up, but their feet/hair are doing some crazy animation. What cycle is that?

    I also noticed in the code you posted that you aliased four frames for the melee, but only used two frames in the animation definition (not sure I'm reading that right, or if it was intended).
     
    Jimlad 42 likes this.
  17. Jimlad 42

    Jimlad 42 Supernova

    I think I see, world.getInfo() might be able to fix the situation by way of having two scripts, one for ship-pet AI and one for aggressive state, that switches whenever you get the info that there's a foe nearby, right?
    But right now you're having to try to merge the AI's into one and try to make it work well since you don't have the world.getInfo(), and are having to make due.

    Would it be possible to abuse the AI about the Little Red Ball so it starts going after enemies rather then the little red ball? Or use that somehow? Look into the AI you got and see if anything could be warped into what you need as that would be easier then trying to merge them both I think.
     
  18. Kayuko

    Kayuko Oxygen Tank

    Really, don't ask me, he threw errors that melee.1-4 were missing, so I adjusted a proper cycle based on the error, not on the animation script.
    That's the chargeWindup probably:

    Code:
       "chargeWindup" : {
                "frames" : 8,
                "cycle" : 0.375,
                "mode" : "loop"
              }
    
    Code:
    "chargeWindup" : {
                  "properties" : {
                    "image" : "<partImage>:walk.<frame>"
                  }
                }
    
    [DOUBLEPOST=1432835021][/DOUBLEPOST]
    Actually world.getInfo() would be mainly used to acquire world and/or dungeon id's, so it could switch states whenever it's on the ship or a dungeon (player-built houses for example).
     
    Jimlad 42 likes this.
  19. Jimlad 42

    Jimlad 42 Supernova

    Oh, I see. world.getInfo() means get worlds info, not info about the surrounding world.
    That makes a lot more sense. And yeah, I can't much think of another way around that issue.
     
  20. Kayuko

    Kayuko Oxygen Tank

    Well, for example, I COULD theoretically scan the surroundings for foodbowls or pet houses, that should work too.
    But since I'm a total beginner in Lua it will still take a while till I figure out how to effectively switch states withing a script, but I'll surely get there. :p
     
    Jimlad 42 likes this.

Share This Page