Search Unity

OMG Pirates!

Discussion in 'Made With Unity' started by MikaMobile, Nov 19, 2009.

  1. MikaMobile

    MikaMobile

    Joined:
    Jan 29, 2009
    Posts:
    845
  2. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    OMG looks awesome !

    insta-buy as soon as it hits the store ;)
     
  3. mehware

    mehware

    Joined:
    Nov 19, 2007
    Posts:
    739
    Plug away!

    I just saw it on toucharcade and promptly came over here to post, I guess yah beat me. Keep up the work man!

    - Matt
     
  4. krys64

    krys64

    Joined:
    Mar 4, 2009
    Posts:
    36
    Can you tell us about the making of the game. Do you use the sprite manager class, orthographic camera, character controller ?
    I want to know your technique. Thanks :)
     
  5. MikaMobile

    MikaMobile

    Joined:
    Jan 29, 2009
    Posts:
    845
    We didn't use sprite manager, we used mostly skinned meshes and cutout alpha shaders (with the occasional alpha blended element like the HUD or drop shadows beneath characters. Animation is achieved by sliding/rotating body parts around like paper dolls in our 3d app, like Zombieville. This affords us with a high degree of fluidity without the need for enormous memory-hogging sprite sheets. However, when we need a character to strike a pose that cannot be achieved simply by rotating parts of a single drawing, we re-drew the character, cut them up again, and swap to that texture at runtime. The player uses over a dozen such distinct drawings (poses) which we can swap to as needed, and then apply further animation from there. The end result is a smooth and lively style which we're pretty proud of.

    Orthographic cameras were not used, but rather a perspective camera positioned very very far away with a narrow FOV. This gives a nearly orthographic look, but with a subtle parallax effect on foreground/background elements that we get "for free" simply by positioning things on different depths within unity. Its pretty much a more elaborate version of how we achieved the style in Zombieville.
     
  6. JayCally

    JayCally

    Joined:
    Apr 22, 2009
    Posts:
    45
    OMG Awesome! Looks fantastic! Can't wait to buy it.
     
  7. JayCally

    JayCally

    Joined:
    Apr 22, 2009
    Posts:
    45
    So you create a 3D mesh of the characters with a cutout shader and rendered out the poses then used them like a 2d sprite. Thats pretty cool!
     
  8. Aiursrage2k

    Aiursrage2k

    Joined:
    Nov 1, 2009
    Posts:
    4,835
    Now that is how you do it, sweet animations.
     
  9. Nic-Cusworth

    Nic-Cusworth

    Joined:
    Oct 12, 2008
    Posts:
    218
    Looks really great. Nice weight and balance in the fighting anims. That's always really hard to get right.

    Looks like another winner!
     
  10. MatthewW

    MatthewW

    Joined:
    Nov 30, 2006
    Posts:
    1,356
    Looks fantastic! Congrats on another sure-fire hit. If this doesn't take off on the App Store then complaints about luck-driven success are surely validated :)
     
  11. SeeSawSin

    SeeSawSin

    Joined:
    May 23, 2009
    Posts:
    37
    How do I cut off 3d meshes off a 3d model? And what do you mean you did the cut off and meshes in the unity 3d app?



    I don't even know what I'm asking is the correct game development terminology
    :? Just messing around in unity as a hobby and curiosity



    :D
     
  12. MatthewW

    MatthewW

    Joined:
    Nov 30, 2006
    Posts:
    1,356
    What sort of production stats are behind the game as it appears in the video (months of development, hours/week, number of developers and roles, etc)?
     
  13. MikaMobile

    MikaMobile

    Joined:
    Jan 29, 2009
    Posts:
    845
    Mika Mobile is Kelli Noda and Noah Bordner - we're both animators primarily, but I (Noah) handled the code, design and effects work on this project, as well as a fair amount of the artwork. It took about 6 months at a fairly relaxed pace, or roughly five times longer than Zombieville. We don't expect it to do five times as well though :p

    Since a picture is worth 1000 words, here's a screen grab that should better illustrate how our environments and characters are constructed...
     

    Attached Files:

  14. ej2009

    ej2009

    Joined:
    Mar 2, 2009
    Posts:
    353
    man I'm jealous of people who can be designer and coder at the same time, a rare mix me thinks :)

    I can code, but will never be able to do art like this, which looks awesome btw!!!

    And thanks for sharing pictures, it really is so much easier to visualise things especially for code heads like me :)
     
  15. Discord

    Discord

    Joined:
    Mar 19, 2009
    Posts:
    1,008
    Wow! :eek: Looks very awesome! I am jealous of your team's artistic talent! Very good job. I hope this does as well as it should in the App store!
     
  16. krys64

    krys64

    Joined:
    Mar 4, 2009
    Posts:
    36
    Ok, you have an animated character with meshes and when you change pose, you say than you change texture. Do you change texture on the same meshes or do you swap with an other prefab (construct with new meshes) for other poses ?
    thx for answers :)
     
  17. MentalFish

    MentalFish

    Joined:
    Nov 2, 2005
    Posts:
    282
    Brilliant work! You've been tweeted.

    Looking forward to play it.
     
  18. Wadoman

    Wadoman

    Joined:
    Dec 8, 2007
    Posts:
    336
    First congratulations on what looks to be another well done game. I look forward to picking it up.

    Second I would like to thank you for being so forthcoming about your development work flows.
    very much appreciated
     
  19. tbelgrave

    tbelgrave

    Joined:
    Jul 29, 2006
    Posts:
    321
    Here I did a tech interview with Kelli and Noah on Zombieville... goes into the process

    http://www.thecareergamer.com/?p=513

    Really looking forward to this one as well Noah.

    ~t
     
  20. MikaMobile

    MikaMobile

    Joined:
    Jan 29, 2009
    Posts:
    845
    We change textures on the same mesh, although you could do an entire model swap if you wanted (we do this only for when enemies are killed). When we built the main character, I laid out the texture's UV in such a way that each body part had a fair amount of empty space to work with - so the "leg" polygon was big enough to accomodate a bent leg, an extended leg, etc.

    We then set up a link in our 3D app between the X-scale of an empty node, and the current texture being displayed (you can do this with set-driven-keys in maya). So if the X-scale of this node was 1, we'd see texture 1, 2 would display texture 2, etc. This allowed us to animate our texture swaps within maya, rather than having to hard-code each transition, or use hundreds of animation events.

    Once the relationship was set up in maya, it was simply a matter of setting up a similar relationship within unity (if transform.scale.x == 1....), placed in a LateUpdate function so it would be applied after any animation, but before the frame is rendered.

    For deaths we chose to do a full model swap because the character is suddenly made up of more pieces than they started with, so it was just easier to make that a different model instead of trying to stuff all of those individual pieces into the same textures they use when they're alive.
     
  21. SeeSawSin

    SeeSawSin

    Joined:
    May 23, 2009
    Posts:
    37
    Can you explain how did you use a texture responding to another texture via colliders? Did you use mesh colliders? :?:
     
  22. MikaMobile

    MikaMobile

    Joined:
    Jan 29, 2009
    Posts:
    845
    As pictured in that screenshot on the first page, the ninja is using a character controller (the pill-shaped wireframe).
     
  23. UVRadiation

    UVRadiation

    Joined:
    Jul 21, 2008
    Posts:
    183
    Dude! This looks awesome!
    Can you tell a bit more about the rig you did in maya? Did you use skeletons or just plain parenting?
    I am always having trouble importing the animations from Maya, especially for fast moving objects, they seem to be almost always messed up when I bring them to UT, what did you do to get over that obstacle?
     
  24. Wadoman

    Wadoman

    Joined:
    Dec 8, 2007
    Posts:
    336
    I'm not 100% sure but I would assume he used the same method as zombieville by rigging it with bones in maya. just as he uses this same method for the GUI. I haven't had any issues getting maya rigged/animations into unity. I think a couple of the biggest things is to make sure to bake the IK and only export the bones and mesh, depending on your method of setting up animations in unity. 1 file or separate anim files.
     
  25. MikaMobile

    MikaMobile

    Joined:
    Jan 29, 2009
    Posts:
    845
    The rig and most everything else do use skeletons, primarily because this project was started before automagic batching was introduced to Unity iPhone, so it was a necessity to keep draw calls down.

    There are a few things that can cause animations to be messed up when importing them. If you're segmenting up a single file into multiple clips, be sure to give those clips some breathing room on the edges. For instance, if you have a clip that starts on frame 21, and frame 20 has a wildly different pose from frame 21, it can "bleed into" the start of your clip. I always bookend my clips with duplicate poses to avoid this issue.

    For extremely fast moving objects, like single-frame jumps from position to position, you can do a few things, like scale the animation to be slower in maya, and then speed it up in Unity, so you can add more fidelity to the curves. If you want a change to be truly instantaneous, its better to break an animation up into multiple clips - if you tell an animation to just play, it will cut instantly to the first frame with no interpolation, which is sometimes desirable (we did this for basically every pose change).
     
  26. UVRadiation

    UVRadiation

    Joined:
    Jul 21, 2008
    Posts:
    183
    Thanks for the tips.
    Can’t wait to play the game the trailer looks amazing!
     
  27. Odysseus

    Odysseus

    Joined:
    Jun 19, 2009
    Posts:
    44
    <bows down unworthy>

    AWESOME! And major thanks for sharing the screenshot. That really helps me wrap my head around how you built your project in Unity.

    I am in school right now as a budding 3D animation and Game design major and have been glued to our Unity and Maya lab trying to recreate what you have done in Zombieville USA.

    I love your work and hope I can get up to your caliber someday.

    Can't wait to buy this upcoming game and convince my friends to do the same!
     
  28. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    When does it come, when does it come ? :D
     
  29. twitchfactor

    twitchfactor

    Joined:
    Mar 8, 2009
    Posts:
    356
    Out now!

    Awesome stuff. Really destroys the conventions of what you expect out of a "Unity Powered" game.
     
  30. sama-van

    sama-van

    Joined:
    Jun 2, 2009
    Posts:
    1,734
    hahaha this is simply great :D

    Very good work guys! :p
     
  31. MikaMobile

    MikaMobile

    Joined:
    Jan 29, 2009
    Posts:
    845
    Thanks, glad you're enjoying it!

    (came here to bump my own thread but you guys beat me to it :)
     
  32. Jacob-Williams

    Jacob-Williams

    Joined:
    Jan 30, 2009
    Posts:
    267
    I have been playing for about 30 minutes now and can't put it down. Very nice work. I love the new control scheme - fits perfectly with the game. Boss battles are fun and difficult, and pirate deaths are satisfying. Only level 11 now, so I will provide a little more feedback when I finish the game.
     
  33. runningbird

    runningbird

    Joined:
    Sep 3, 2009
    Posts:
    382
    This looks great good job!
     
  34. guitarpaul

    guitarpaul

    Joined:
    Jan 7, 2009
    Posts:
    60
    amazing work!
     
  35. LeFishy

    LeFishy

    Joined:
    Feb 11, 2009
    Posts:
    87
    Beautiful animation as expected. Is this game really hard or do I just suck?
     
  36. n0mad

    n0mad

    Joined:
    Jan 27, 2009
    Posts:
    3,732
    Clearly steps the iPhone gaming to a new production quality level ;)

    I wouldn't be surprised if we saw OMG Pirates screenshots in Apple ads.
     
  37. Graphicalgeek

    Graphicalgeek

    Joined:
    May 14, 2009
    Posts:
    218
    Been playing the game for a bit now. It is very well done, and fun to play.

    I have an issue with the controls though, and that's that the special button should be on the other side of the screen, diagonal from the movement pad. Its current position makes it difficult to line up and use your power with the same thumb, and leaves you vulnerable for that split second, which is sometimes all it takes...
     
  38. designxtek

    designxtek

    Joined:
    Mar 13, 2009
    Posts:
    147
    Congratulations!

    I just played it right now. Very addictive game play and animation. I love the combos in the game and the level up features!

    Beautiful artwork!
     
  39. Raemon

    Raemon

    Joined:
    Jun 14, 2009
    Posts:
    62
    Overall very nice! My personal preference would have been to keep the movement to two axis (I have a hard time lining myself up with badguys in the pseudo-3d world, and the iPhone doesn't make for the best of joysticks) but that may stem from not playing enough of this style of game, ever.

    On a similar note, I'm having trouble getting the combos that consist of a "wait" to work correctly. How long exactly am I supposed to wait? Periodically I get the one where you jump up and hit people from the air, but can never do it on purpose.
     
  40. designxtek

    designxtek

    Joined:
    Mar 13, 2009
    Posts:
    147
    Those wait combos take practice. I pretty much got it down to where I can keep doing those 10 times in a row. The jump slash I had to use on this one boss to win. I just kept doing it over and over so that the boss couldn't hit me. :D
     
  41. Raemon

    Raemon

    Joined:
    Jun 14, 2009
    Posts:
    62
    Jump slash (you mean green-red, right?), yeah that one I have no problem with and at first loved it, until it I realized it was pretty much the only combo I was using (Well, other than red-red-red and green-hold).
     
  42. designxtek

    designxtek

    Joined:
    Mar 13, 2009
    Posts:
    147
    yeah green red. The other combo I use is red red wait --> red

    reminds me of street fighter
     
  43. Raemon

    Raemon

    Joined:
    Jun 14, 2009
    Posts:
    62
    I still can't get any of the wait combos to work on purpose, and when they do work I'm almost positive I haven't been doing what's supposed to be the actual code for it.
     
  44. MikaMobile

    MikaMobile

    Joined:
    Jan 29, 2009
    Posts:
    845
    It takes a little practice to be able to do exactly what you want, when you want, but its definitely possible. I think the waiting dynamic may be more familiar to players of Devil May Cry, which uses a similar system and rhythm to vary their combos.
     
  45. Joe ByDesign

    Joe ByDesign

    Joined:
    Oct 13, 2005
    Posts:
    841
    Playing now, and must say, it's fantastic work! Fun, gorgeous, fresh!

    Cheers to all involved! :)
     
  46. championsoftware

    championsoftware

    Joined:
    Jan 8, 2009
    Posts:
    123
    Excellent job guys! The game is awesome, congrats.
     
  47. Raemon

    Raemon

    Joined:
    Jun 14, 2009
    Posts:
    62
    Finally got it to work, and now it's pretty easy. I'm trying to come up with a way that the game could make it easy to explain to new players. Maybe let players click on the moves when they're looking at the move screen, and have the buttons flash at the rate necessary to make it work?
     
  48. MikaMobile

    MikaMobile

    Joined:
    Jan 29, 2009
    Posts:
    845
    A free version of this app, OMG Pirates! Lite, is now available. If you haven't played it yet, check it out! If nothing else its a decent example of what you can do with "2D" in Unity.
     
  49. fluxa

    fluxa

    Joined:
    Sep 8, 2009
    Posts:
    16
    Hi Noah, I really appreciate your work and collaboration in this forum. OMG it's just awesome!

    I'm still a bit confused about this "Zombieville/OMG" approach, I understand each character is a skinned mesh.. but how do you start building them in the 3D software?

    is each body part just a textured plane so it's like a collection of planes? do you use IK animations?
    after importing to unity.. the textures are combined in just one or there keep being multiple textures??


    I'd really like to learn how the workflow works..from the 3D software (maya??) to unity... I would appreciate if you can post some very simple files (the rabbit you used for that batching test for instance :) )

    I've been using SpriteManager but I really like those extremely fluid animation you can get with your model... without mention the performance... so good.

    Thanks.

    (feel free to check out this game I developed with SpriteManager, latest release preview: http://forums.toucharcade.com/showthread.php?s=0540d23e2341f912e9454cf0191e64b3&p=860803#post860803)
     
  50. crafTDev

    crafTDev

    Joined:
    Nov 5, 2008
    Posts:
    1,820
    Thats an interesting question. Im surprised they did a 2d game using Maya. Interesting development process indeed. Its kinda disappointing there was no response for this.

    Anyways, I love OMG Pirates. It is one of the games I use as reference when making my app. Which brings the question, how did you script the combos?

    Probably should PM you Noah to see if you can help.