Porting Super Mario Crossover to Unity

Discussion in 'Unity Gossip' started by Exploding Rabbit, Mar 29, 2012.

  1. Exploding Rabbit

    Exploding Rabbit

    New Member

    Joined:
    Feb 19, 2012
    Messages:
    43
    So... I'm the creator of this crazy game.

    I've been working on it for about 3 years and when I started I knew nothing about making a game. I'd like to get more serious about game development now, and it looks like Unity has a strong future and is a good tool for making games. For those reasons and a few others, I've been thinking about porting the game to Unity.

    I was just wondering what people more familiar with Unity would have to say about this decision. Does anyone have any general comments? What kind of challenges do you think I might face? SMBC uses a very complicated graphics system that supports changing the skins during gameplay, so I expect that will be the most difficult part of the port.

    I was also thinking about adding online multiplayer to the Unity version, and I have no experience with that. Do I need to make a decision about how I'm going to do the networking before starting the project, or is that something that can be easily added later if I get the game working with local multiplayer first? Also, will I be able to keep the file size down if I port the game to Unity? On Flash the game is 3.5 MB despite all of its graphics and music.

    Super Mario Bros. Crossover is and will always be a free game, and I'm just looking for ways to make it the best possible game it can be. Thanks for the help.
    Last edited: Mar 29, 2012
  2. Thinksquirrel

    Thinksquirrel

    Member

    Joined:
    Feb 8, 2011
    Messages:
    887
    Ah! I love Super Mario Crossover!

    For the most part, it shouldn't be too hard to port that game over to Unity - You could swap texture atlases on the fly for the different skins.

    Your file size will definitely go up due to engine overhead, though. (An empty unity project without code stripping is somewhere around 13-15 mb if I recall correctly)

    As far as multiplayer - you may want to figure that out beforehand. For something like your game though, Unity's default networking + a lobby of some sorts would work great.
    Last edited: Mar 29, 2012
  3. kablammyman

    kablammyman

    Member

    Joined:
    Nov 22, 2010
    Messages:
    470
    hmmm, unity doesnt lend itself to 2d sprites that well. Dont get me wrong, it can be done, but it just wasn't designed for it. I would go with a 2d game engine, or better yet, make the engine your self in C++ and SDL or Allegro. Both libs have excellent support and I know first hand the the allegro message board is top notch (well, it was when i was still using it years ago...lol).

    With a game like yours, the engine isn't crazy where you couldn't do it yourself (again). In fact, I'm sure thats how it was made in the first place when you made it in AS3. This is assuming you didn't use a 2d game engine in the first place. if you did, there are other C++ 2d engines out there that can help you (again).

    BTW, your game is great!
  4. Exploding Rabbit

    Exploding Rabbit

    New Member

    Joined:
    Feb 19, 2012
    Messages:
    43
    I tested out a web player export of an empty project and it was only 6 kb. I also did a flash export and it's 2.2 MB, so those sizes are reasonable. What is code stripping?

    I think I figured out how to get the sprites working. I've seen some pretty good 2d games done with Unity.
  5. Thinksquirrel

    Thinksquirrel

    Member

    Joined:
    Feb 8, 2011
    Messages:
    887
    Ah, my apologies. Those sizes I gave are for mobile I believe. I don't think the web player supports any stripping of code (removing engine features that arent being used), but I haven't checked recently. Flash allows you to strip physics code, though.

    For sprites, there are lots of great assets out there for pixel-perfect sprite rendering (SpriteManager, 2DToolkit, ex2D, etc). All of them have pros and cons, but they'll all do what you need if you want a head-start on a sprite system for Unity.
  6. Exploding Rabbit

    Exploding Rabbit

    New Member

    Joined:
    Feb 19, 2012
    Messages:
    43
    Actually I just found out a pretty big problem with the port. Unity's C++ plugins are not useable in the web player. All of the game's music and sound effects are emulated with a C++ library, so I wouldn't be able to use it on the web.

    It seems strange that both Flash and Chrome allow C++ code on the web, but Unity doesn't because they say it's a security issue. Too bad.
  7. TehWut

    TehWut

    Member

    Joined:
    Jun 18, 2011
    Messages:
    1,579
    Dang, I love SMC and it would be fantastic to see a Unity port. If perhaps there was a workaround for the music libraries, I would recommend Unity over Flash for game development (and I would get to see one of my favorite games on one my favorite engine!) lol.
  8. adaman

    adaman

    New Member

    Joined:
    Jul 5, 2011
    Messages:
    97
    If you are serious about getting serious, you should probably start a new project that doesn't contain stolen assets.
  9. Thinksquirrel

    Thinksquirrel

    Member

    Joined:
    Feb 8, 2011
    Messages:
    887
    It's a free fan game... there's nothing wrong with those (sure, it's a completely different story from a legal standpoint, but depending on the compan(ies), fan games like this are looked over). If he were attempting to monetize on it, that's a different story.

    "Serious about game development" doesn't automatically equal "developing commercial products".
  10. Exploding Rabbit

    Exploding Rabbit

    New Member

    Joined:
    Feb 19, 2012
    Messages:
    43
    It looks like someone is porting Game Music Emu to C#. I'll try and get in contact with the developer to see how long the porting will take.

    I am doing an original, commercial product in addition to this game. SMBC is a fan game that I work on for the community and for the experience. I don't make any money off it. All fan games use "stolen" assets as you so kindly put it and most people enjoy them.
  11. adaman

    adaman

    New Member

    Joined:
    Jul 5, 2011
    Messages:
    97
    I didn't realize that you could infringe on others copyrights as long as call it a fan game and let people play it for free.

    You don't make any money from the merchandise and ads on your site?
  12. keithsoulasa

    keithsoulasa

    Member

    Joined:
    Feb 15, 2012
    Messages:
    1,975
    +1
    Nintendo can have you shut down at anytime, they pay lawfrims to search the net for people to sue about this stuff .
  13. PrimeDerektive

    PrimeDerektive

    Member

    Joined:
    Dec 13, 2009
    Messages:
    2,959
    SMC has gotten more press than most people on this forum can dream of. It's been featured on every major gaming blog under the sun, including Kotaku and Destructoid. If he were going to get any C&D's, he would've by now.
  14. kingcharizard

    kingcharizard

    New Member

    Joined:
    Jun 30, 2011
    Messages:
    1,134
    I could easily set something up quickly, so I have to disagree
  15. adaman

    adaman

    New Member

    Joined:
    Jul 5, 2011
    Messages:
    97
    I also didn't realize that if you haven't gotten a cease and desist orders after getting lots of press that it will never happen. Therefore you can continue to infringe on the copyrights by porting the game to other systems.
  16. PrimeDerektive

    PrimeDerektive

    Member

    Joined:
    Dec 13, 2009
    Messages:
    2,959
    My point was, Nintendo undoubtedly knows about it by now, and they are known for turning the other cheek if it's not hurting anyone. If he gets shut down, it's not like he loses much. He already got exposure for making something cool, and he's not making any money off of the game itself.

    Either way, It's nice of you to be so concerned about Jay's welfare and all, but certainly you're not silly enough to think you're the first person to point out that it's infringing on copyrights.
  17. ChaosWWW

    ChaosWWW

    Member

    Joined:
    Nov 25, 2009
    Messages:
    435
    I love how people can't even enjoy a simple fan game without getting a stick up their ass about copyright. I played this game thanks to this thread, and had a lot of fun, which is more then I can say for most Unity projects posted on this forum.

    Seriously, if he gets a cease and desist then it will happen, no need to speculate whether or not he will. You guys aren't lawyers and the fact that you pretend to be legal experts is pretty funny.
  18. koyima

    koyima

    Member

    Joined:
    Mar 19, 2009
    Messages:
    1,548
    Yep, not everyone is like Sega. They shut down a few projects and the fan creations were better than the originals or their contemporary counterparts. Instead of hiring or buying them out, they simply shut them down. Talk about wasted potential... Especially if you can't match them, at least try to "buy" them.
  19. kingcharizard

    kingcharizard

    New Member

    Joined:
    Jun 30, 2011
    Messages:
    1,134
    I agree but you know how people can be. They act like its their own work being stolen....
  20. Starsman Games

    Starsman Games

    New Member

    Joined:
    Jan 30, 2011
    Messages:
    2,144
    Since you are here, and in fear of a derail, I am forced to ask a few questions about your game that has been bugging me for a long time:

    1) How have you avoided getting a cease and desist from Nintendo?
    2) Where on Earth is my Kid Icarus?!?!?!?!
    3) Don’t bring console argument to this, the game IS called "crossover": Where is sonic?!?!? :p


    Anyways on your OP (have not read the entire thread) Changing skins during play should be relatively easy. You will have to change your rendering logic drastically, though. Unity does not play the 2D game, and all "2D" games are using flat polygons with textures to simulate sprites. This does mean it’s extremely easy to swap out texture sets mid play, though.
  21. kablammyman

    kablammyman

    Member

    Joined:
    Nov 22, 2010
    Messages:
    470
    again, it can be done, but unity was not made for 2d games.
  22. Exploding Rabbit

    Exploding Rabbit

    New Member

    Joined:
    Feb 19, 2012
    Messages:
    43
    For those that have been addressing what this thread is actually about (and those being supportive), thanks. I've been making good progress on getting the 2d stuff working, and I'm also going to be adding some new features that I wouldn't have been able to do in Flash. I'm still clueless about the networking, but I think I might just design it with 4 player coop and then add the networking at the end (hopefully that is not a stupid way to do it).

    1. Not sure. I even spoke at a conference about fair use even though this game does not fall under fair use. Most game companies are supportive of the game. It may be because I represent the characters well? Or maybe I'm just lucky.
    2. See below.
    3. See below.

    Whenever anyone requests some feature, the answer is either "I don't think it'd work too well", "I haven't gotten to it yet", or "It'd be too much work."
  23. Starsman Games

    Starsman Games

    New Member

    Joined:
    Jan 30, 2011
    Messages:
    2,144
    Well, Kid Icarus at least better fall in the "I haven't gotten to it yet" category, sir!!! :p
  24. MoonQuake

    MoonQuake

    New Member

    Joined:
    Mar 20, 2011
    Messages:
    123
    It probably is because you are not making money off of it and that you kept the essence of the original games in which they take place.

    If you had a paid game featuring Mario making love to Princess Peach while Megaman and Samus are watching, with the press you had with the game, chances are that you would've had a phone call about it. :) Again, as long as you don't make money with it, it's usually safe.

    Planning to add multiplayer later in the cycle of a Unity game is not uncommon and, just like most things Unity, is easier to implement than you'd think. You can also make the scoring system useful using leaderboards with GameCenter.

    4 player online coop would be fantastic and with leaderboards would be incrediblantastic!!

    MQ
  25. TehWut

    TehWut

    Member

    Joined:
    Jun 18, 2011
    Messages:
    1,579
    + 1
    -----
    "stealing assets", Humbug. This is an honorable remake and an amazing accomplishment in itself. I'm sure even Nintendo enjoys it :p
  26. n0mad

    n0mad

    Member

    Joined:
    Jan 27, 2009
    Messages:
    3,731
    I just hope you don't receive the Streets of Rage Remix treatment.
    There's also an interesting part mentionning Nintendo sending C&S at the end of the article.
  27. Exploding Rabbit

    Exploding Rabbit

    New Member

    Joined:
    Feb 19, 2012
    Messages:
    43
    That's kind of sad, but making fan games is risky business. I think SEGA did it because they're still rereleasing their Streets of Rage games. Nintendo shut down that Zelda film because it wasn't very good quality, and they were afraid people would think it was official.

    My game is really different than the original smb and it's not a game that could ever be made legally. It's also not downloable and is only playable on the web. Maybe those are some reasons they are ok with it. Even if I did get a C&D, I have a backup plan, so I'm not that worried. Maybe as the game gets bigger it will increase the chances of them shutting it down. We'll just have to wait and see.
  28. keithsoulasa

    keithsoulasa

    Member

    Joined:
    Feb 15, 2012
    Messages:
    1,975
    Hmm, just to put this out their, you should at least limit your creation to one company- right now I can think of at least 3, if not 4 that all have the right to sue you if they'd like -

    Like eventually youd want to put this on phones right- if that happens you'll have to redo the entire game .

    It would be really cool to parody all the characters - since thats fair use !!!
  29. antenna tree

    antenna tree

    Moderator

    Joined:
    Oct 30, 2005
    Messages:
    5,300
    Can we please just keep this thread to the topic of porting a 2D Flash game, along with C++ libraries, to Unity? All the speculation about the legalities of the game is completely pointless and of no help to Exploding Rabbit who I'm sure has heard all of it before.
  30. stimarco

    stimarco

    Member

    Joined:
    Oct 17, 2007
    Messages:
    697
    Unity wasn't made for first-person shooters either. It's a generic game engine. As 3D is a full superset of 2D, 2D games are perfectly possible in Unity.

    The only thing in Unity that is 3D-specific is the physics engine, which assumes you're trying to simulate something vaguely realistic in a 3D space. The 2D Gameplay tutorial explains how to force the physics engine into working in a 2D plane if you wish to go the "2.5D" route using 3D models constrained to a 2D plane as used in that tutorial.

    You could use the same technique with bitmap sprites, but that's more hassle than it's worth. Just ignore the built-in engine and use scripts to handle what little 'physics' there is. You've clearly done this with the existing version, so you shouldn't have trouble duplicating the algorithms using Unity scripts.

    There are some 2D toolkit-type products in the Unity Asset Store dedicated to making 2D bitmap projects easier as the Unity Editor isn't optimised for 2D projects. I'd recommend reading through the forums for opinions on which of the toolkits available on the Asset Store are worth consideration, then pick the one that seems to have the most satisfied customers.
  31. n0mad

    n0mad

    Member

    Joined:
    Jan 27, 2009
    Messages:
    3,731
    If it can help, I just wrote a guide with 2 setups for a 2.5D, 1vs1 collision engine yesterday, with one of them not relying on Physics at all (except having a Rigidbody, but not needing any FixedUpdate or frame by frame PhysX calculation at all).
    Link.
    This is a solution tailored for complex character animations (with bones) in a specific 1vs1 setup, but the collision detection part can be used for any type of 2.5D game I guess.
    (I put the Physics driven solution for the sake of sharing, but I chosed the Code driven one)
    Last edited: Mar 30, 2012