Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Is Unity a fitting choice for a remake of my "create a character" Flash game?

Discussion in 'Getting Started' started by janinahimmen, Sep 6, 2020.

  1. janinahimmen

    janinahimmen

    Joined:
    Sep 5, 2020
    Posts:
    4
    Hello,

    I need help with the question if Unity fits my project. I hope it is okay to ask this here. :)

    It's about my Flash website https://www.sp-studio.de/ I run since 2002 as a hobby. Right now I am preparing a "non Flash remake" so it can survive after Flash is not supported anymore. The problem is... I am no developer (I just know HTML, CSS and a tiny bit of ActionScript). There are so many engines and frameworks that I am not sure which would be a fitting choice. And I cannot search for a developer before I know what I need. The first suggestion I got was Angular. Then React. Then Phaser. Then I came to Unity. Of course I started reading about it, but if you don't now anything about all of this it is very difficult to tell the difference.

    The main details about this project are:
    • It's a very simple game. You just combine 2D items from multiple categories to create a cartoon character. Then you save the picture. No animation, no sound. There are some functions to recolor, move or flip items. Most of them can be seen in the current Flash version, but I'll upload a concept for the new look as well.
    • A good support of vector files is most important because I need the option to easily change colors for a specific part of an image. It would be even better if I could use meta code in the svg files (for example to tell which items are allowed to be recolored), but I guess this could be achieved in a different way if it is not possible.
    • It should be possible to export the picture you created as a .jpg or .png file. I guess this works like a screenshot function.
    • The game should run smoothly in every browser. There is no need for a stand alone version.
    • It should scale with the screen size (with breakpoints or responsive). This was a problem with Angular: While the UI scaled nicely the canvas with the svg items could not do this.
    • Editing should be possible for beginners like me... After the launch I want to be able to do future updates myself without external help. Adding new items, doing small changes to the design... nothing big of course. I am willing learn but I know I cannot suddenly become a professional developer.
    Do you think Unity would be a good choice for me? Or should I stick with the Angular/React direction instead?

    Thank you very much for any suggestions.

    sp-studio-concept.jpg
     
    Last edited: Sep 6, 2020
  2. Vryken

    Vryken

    Joined:
    Jan 23, 2018
    Posts:
    2,106
    Angular and React are frameworks that are more fit for building general web applications, not games.
    Haven't heard of Phaser before, so I can't comment on that.

    Unity should be able to do what you're asking here except for supporting SVG files.
    There is a package you can install for SVG support, but it is currently a pre-release version:
    https://docs.unity3d.com/Packages/com.unity.vectorgraphics@2.0/manual/index.html
     
  3. RichAllen2023

    RichAllen2023

    Joined:
    Jul 19, 2016
    Posts:
    1,026
    You do of course know that from December this year Flash will no longer be supported by ANY browser and will become obsolete?
     
    Last edited: Sep 6, 2020
  4. janinahimmen

    janinahimmen

    Joined:
    Sep 5, 2020
    Posts:
    4
    Thank you very much for your replies!

    I saw this package but did not realize what the pre-release status actually means. Would it be too risky to use it as the most important part of my project?

    Yes, this is the reason why I desperately look for alternatives to Flash. I actually started preparing for this over two years ago. But unfortunately I lost a lot of time last year and then I lost my developer, so now I am back at the beginning with only 4 months left. There is a beta version in Angular, but when I asked another Angular developer about his thoughts he suggested to consider a game engine instead. The Angular version worked well with svg files but adapting to different screen sizes is a problem.
     
  5. Vryken

    Vryken

    Joined:
    Jan 23, 2018
    Posts:
    2,106
    Pre-release just means it's an alpha/beta version, and not production-ready.
    You can still use the package, but it may be lacking some features and/or still have some bugs to work out.

    Yeah, I still wouldn't recommend Angular or React for this project; they aren't designed for developing games.
     
  6. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,134
    Unity supports loading SVG assets at runtime but as far as I'm aware it only generates the shapes and doesn't store any of the metadata. If you wanted metadata from the vector files you would need a custom loader for it, but depending on the complexity you might be able to get away with a secondary file containing the metadata.

    Completely doable with the JPG, PNG, and TGA formats supported.
     
  7. janinahimmen

    janinahimmen

    Joined:
    Sep 5, 2020
    Posts:
    4
    This alls sounds very promising so far!

    I can go without the meta data for svg files, but there is one specific thing I need. I did not find it in the manual, so perhaps somebody can answer this rather specific question for me. I think it's the last for now. :)

    Is it possible for Unity to refer to symbol names in svg files?

    I draw in Adobe Animate and there you can group parts of your vector image. A special type of group is called "symbol" and you can give it an ID. For example I draw a t-shirt with a blue circle on it. Then I group the circle as a "symbol" and name it "circle". When I export it as a svg file this ID is still there. So when I load it into the SP-Studio and add an option to recolor items I could say: "If somebody clicks on this blue circle a color palette will appear. Then they can pick a new color. Then only the "circle" part of the t-shirt is automatically recolored, but the item stays in its place."

    If I understand correctly Unity changes vector images into pixel images when loading, so I guess it would loose all information about symbol IDs at this moment. But might it be possible to reload the svg file to refer to its symbol ID? Or is this very complicated to achieve?

    I'm asking this because the ability to recolor specific parts of items is used a lot in the SP-Studio. If I had to save the files in every possible combinations of colors this would be too much.
     
  8. janinahimmen

    janinahimmen

    Joined:
    Sep 5, 2020
    Posts:
    4
    My question is answered. I asked in Discord and it looks like there is no support for symbol IDs in Unity, so I'd have to use masked shaders instead to recolor certain parts of images. This sounds complicated in comparision, but I will have a look into it to try to understand how it works.