Futile - An open source code-centric 2D framework

Discussion in 'Assets and Asset Store' started by MattRix, Aug 13, 2012.

  1. MattRix

    MattRix

    Member

    Joined:
    Aug 23, 2011
    Messages:
    44
    Hey Unity peeps,

    So I just released the alpha of my 2D framework for Unity called Futile. It's not on the asset store, instead it's just an open source project on GitHub.

    It has the absolute bare minimum of editor integration, my goal was to make something that could be used completely from code. For people who are used to Flash or Cocos2D dev, the API will be super familiar, you can do stuff like:


    Code (csharp):
    1. FContainer container = new FContainer();
    2. container.rotation = 90;
    3. container.x = -50;
    4. FEngine.stage.AddChild(container);
    5.  
    6. FSprite banana = new FSprite("Banana.png");
    7. banana.x = 10;
    8. banana.y = 100;
    9. banana.scaleX = 1.5f;
    10. banana.alpha = 0.5f;
    11.  
    12. container.AddChild(banana);
    There are videos, links to the code and a complete sample game at this site: http://struct.ca/futile

    So yeah, check it out and let me know what you think!
  2. wccrawford

    wccrawford

    Member

    Joined:
    Sep 30, 2011
    Messages:
    1,575
    I was reading about this on Reddit, and I ended up agreeing with the criticisms about not using Unity's other strengths.

    I love that you can do everything from code. But I also think that using Unity's editor is very powerful. Have you given any further though into enabling easy integration of the editor with your system?

    Don't take this as a slight on your work. It's perfectly okay to make a niche library and have no plans to expand it. But I think you'll find that a lot of people get frustrated by what it lacks. Not because it's bad, but because it's good. It's human nature to want to use good things, and to be frustrated by their imperfections.
  3. MattRix

    MattRix

    Member

    Joined:
    Aug 23, 2011
    Messages:
    44
    Good question!

    The thing about this is that I pretty much want it to stay as un-Unity as possible. I realize that for current Unity people that seems little strange, but I don't want to clutter up the main code, or even worse, have to change the API at all to make it work with the Unity editor. This is really more targeted at people who aren't familiar with Unity and find all the editor integration stuff a bit overwhelming (as I know I did).

    Think of it as a gateway drug. Maybe after they try this for a while they'll want to dive in and do more stuff in the editor.

    Here's more of my reasoning that I posted on Reddit in response to a similar question:

    Last edited: Aug 13, 2012
  4. sterlingware

    sterlingware

    Member

    Joined:
    Aug 13, 2012
    Messages:
    1
    I just watched the first 2 intro videos and this looks great. I've been considering trying Unity for a while, and this might just be what tips the bucket. Thanks for the great work.

    One question (and please forgive me if this is basic): would it be possible to use 3rd party libs (e.g. Farseer Physics) with something like this?
  5. MattRix

    MattRix

    Member

    Joined:
    Aug 23, 2011
    Messages:
    44

    Yep, it shouldn't be too tricky to integrate it with a 3rd party library like Farseer. I haven't tested it with any physics engines myself yet though.
  6. robin_notts

    robin_notts

    New Member

    Joined:
    Apr 7, 2010
    Messages:
    84
    Nice addition. Sometimes its better to just stay in text-edit-land.
  7. imaginaryhuman

    imaginaryhuman

    Member

    Joined:
    Mar 21, 2010
    Messages:
    3,326
    I would change the name from `futile` if you want people to like it.

    Otherwise a script-based API is cool for 2D. An editor would help but sometimes you just want to throw some stuff on the screen at the right time and that is not always easy to represent visually.
  8. Ocid

    Ocid

    Member

    Joined:
    Feb 9, 2011
    Messages:
    466
    Why? I don't see whats wrong with the name.

    Saw you announce this on twitter the other day MattRix. I checked out the hour long intro video this morning and I'm really digging this. More in my comfort zone even though I do love 2DToolkit. So I'm kinda torn at the moment.

    May be a few weeks before I can dig into it but thanks alot for this. It looks pretty solid already even though you're saying its still alpha.

    Will definitely be keeping an eye on this as it evolves.
  9. MattRix

    MattRix

    Member

    Joined:
    Aug 23, 2011
    Messages:
    44
    Thanks! Glad you found it interesting :)

    And yeah, most people seem to like the name Futile (actually most people seem to love it), so it's definitely staying :D
  10. imaginaryhuman

    imaginaryhuman

    Member

    Joined:
    Mar 21, 2010
    Messages:
    3,326
    I can't respectfully put any dependency on a piece of software that calls itself `futile` because what that kinda says to me is... using the software will be futile. Choose your words carefully, they have meaning beyond your intentions. Futile is an extremely weak word ie it conveys a lot of weakness. Think of strength.
  11. Aguy

    Aguy

    Member

    Joined:
    May 11, 2012
    Messages:
    315
    That name...add me to the other list who thinks it needs to go.
    I want my assets to be name Super Tiger Action Add On or Mega Galactic Asset. (yes joke for the humor impaired)
    Not Futile.
    Just seems like preparing for failure.
  12. Ocid

    Ocid

    Member

    Joined:
    Feb 9, 2011
    Messages:
    466
    I still don't get why the name of something should have any bearing on whether you choose to use it or not.

    The feature set/functionality of the add-on/asset/whatever should be what you're concerned with not whatever the name is.
  13. TwiiK

    TwiiK

    Member

    Joined:
    Oct 23, 2007
    Messages:
    905
    Lol.

    I think it looks awesome. I've been fiddling with something akin to Spelunky and since everything is generated at runtime and the map blocks are just text files I don't even open the editor unless I need to playtest the game.

    Something like this would fit in great.
  14. DavidB

    DavidB

    Member

    Joined:
    Dec 13, 2009
    Messages:
    530
    Ya this comment is pretty ridiculous. The OP is releasing an open source framework for free.... if you don't like the name, you can of course suggest that the OP changes it (which you did), but if they decide to keep the name, there's no reason to go on about it. If you don't use packages because the name doesn't speak to you (personally I believe you should use packages based on their functionality, not on their "book cover"), then please just move on. There's no reason to bash someone for a really generous contribution to the community.

    Back on topic... the framework looks pretty cool. I'm definitely going to check this out at some point. Thanks for releasing an open-sourced package, this is extremely generous of you!
  15. wccrawford

    wccrawford

    Member

    Joined:
    Sep 30, 2011
    Messages:
    1,575
    He didn't "go on about it". Someone asked him for his reasoning, and he gave it. It isn't like he just came back to post more and more without any interaction.

    Honestly, I think it's a bad choice of name for 2 reasons:

    1) It's negative. It's hard to trust something that sounds so negative.

    2) It's hard to search for. Trying Googling for "futile" and see how much fun that is. Sure, you can add a bunch of other words and eventually find it, but I've had enough problems searching for frameworks with common names that I don't look forward to another. Even just branding it "Futile 2D" instead would help since Google will tend to relate the 2 words and make searches easier.
  16. DavidB

    DavidB

    Member

    Joined:
    Dec 13, 2009
    Messages:
    530
    The OP responded with this..... at this point arguing with the author of a free open-source package is definitely "going on about it". Not really sure how else to define it. As for the branding itself, I don't disagree with you (yuk double negative?), but again it's his package, and he's offering it for free. By all means you are free to mention what better branding could bring him, but if the author wants to keep the name, getting negative on them is just really poor form.
  17. sp00ks222

    sp00ks222

    New Member

    Joined:
    May 12, 2011
    Messages:
    37
    Sorry I disagree.
    1) Its a name, do you not use rage toolkits for the sole reason they are negative names?... if you are really about positive names I could see why you pick Unity though..but why didn't you use LOVE? That's an even more positive name!

    2) I searched in Unity3d Futile and I got all the information I needed.

    But enough about that. I really like futile for quick 2d games, I haven't tried anything with physics or anything demanding. I would only suggest expanding the wiki section/documentation
  18. imaginaryhuman

    imaginaryhuman

    Member

    Joined:
    Mar 21, 2010
    Messages:
    3,326
    How can you say that? There's a little word you might want to look into ..."marketing".

    Think about the audience, they come from various backgrounds and they have already established meanings for words that they're bringing with them - emotional baggage, and when looking through `futile` colored lenses it pretty much makes you feel like giving up. Do you really want people feeling like giving up or there being any sense of `pointlessness` when they approach your product? That's like 180 degrees the opposite of what you want. So yes the name IS very important, it is a condensing of your entire product down to a single word, so that word has to symbolize the nature of what you're getting and its personality. I would not be interested in buying any product named something like `futile` or `broken` or `painful`. You might as well name it `depression` or something.
  19. DavidB

    DavidB

    Member

    Joined:
    Dec 13, 2009
    Messages:
    530
    Would you be interested in using it for free though? And having a gander at the open sourced code? You make good points regarding commercial products, but the OP has released this as an open sourced framework for free. At that point you can't be 100% sure of his intentions. it probably isn't to get everyone using it, but rather to put his hard work and learning "out there", in case anyone else wants to benefit from it. If he were trying to market it, then yes you are right, it's a poor name to use. Have you tried PMing the author to ask what his intentions were and to offer your advice to him there if he indeed does want this package to spread? That would definitely serve more purpose than white-knighting a thread where someone is just trying to get the word out about a free package they happened to release. *shrugs*
  20. Raigex

    Raigex

    New Member

    Joined:
    Jul 6, 2012
    Messages:
    154
    I have seen the demo and such. looks great, I'm thinking of using it. But a couple quick questions
    Can this be used as a UI framework

    and if so

    Will you be adding UI items to it (like sliders, and such)
    or will we need to learn exactly how this framework works and create these UI things ourselves.
  21. Ocid

    Ocid

    Member

    Joined:
    Feb 9, 2011
    Messages:
    466
    How can I say that?

    I can say that because as a developer I'm going to look at the functionality the framework/engine/whatever provides rather than care about its name. It could be called InterYerMaw or Scrap(to go with your negative names) for all I care aslong as it has the features I'm looking for I'm going to use it.

    MattRix released it as a free open sourced framework so I'd hazard a guess that he's not as concerned with marketing it to get everyone out there using it.

    Sure if you're releasing a commercial game or whatever then maybe you might want to consider a bit more what you'd name it. Although with the right marketing you can skew peoples perceptions and get them to check it out/use it/play it etc regardless of what it's called.

    Besides when I think of futile I think of the Borg.
  22. glennseso

    glennseso

    Member

    Joined:
    Nov 11, 2011
    Messages:
    16
    Hi, firstly i want to congrat you for the initiative.
    I have a little question about your project.
    It supports export to flash?
    Cheers
  23. KLIS

    KLIS

    New Member

    Joined:
    Dec 6, 2012
    Messages:
    1
    Hi MattRix you are great and your framework is awesome !
  24. yls

    yls

    Member

    Joined:
    Apr 13, 2012
    Messages:
    195
    Well Futile has a nice ring to it. It sound lightweighted and warmhearted which is a good quality and somewhat related to the code only feature. (I also find the Unity environnement quite heavy. How many time did i try to modify a behaviour without any effect ... only to realized it was serialized in the editor that seemed ? quite heavy boring soft)

    Not everythings have to be serious/plain descriptive ( FTL03 ) or bad ass ( Futilitator Xtreme ). But Futile2D is a good idea.

    I will try it soon. and the good point is that i will remember the name.
  25. jeffweber

    jeffweber

    Member

    Joined:
    Dec 17, 2009
    Messages:
    235
  26. Alf203

    Alf203

    Member

    Joined:
    Dec 7, 2012
    Messages:
    417
    Because there is a 2D engine called Love, so already taken.

    https://love2d.org
  27. Fattie

    Fattie

    Member

    Joined:
    Jul 5, 2012
    Messages:
    89
    "Futile" is a great name -- superb.

    Well done.
  28. appymedia

    appymedia

    New Member

    Joined:
    May 22, 2013
    Messages:
    2
    I'd just like to say I'm finding Futile EXCELLENT, I've tried many other code based solutions but never found anything that ticks all boxes for the things I'd like. That all changed with the Futile / Unity combo. Just having a proper debugger / IDE along with near instant testing is a god send let alone have access to a modern language like C#. Got the Spine plugin working a treat this evening, many thanks to the author of that as well!! Please keep up the good work, loving it.

    Pete
  29. diegzumillo

    diegzumillo

    Member

    Joined:
    Jul 26, 2010
    Messages:
    285
    I'm looking for an alternative for the character controller, does this have anything like that or it's just the sprite handling side of 2d?
  30. montedapaz

    montedapaz

    New Member

    Joined:
    Sep 17, 2013
    Messages:
    2
    I think imaginary human makes a great point. I mean you clearly don't pick the name imaginaryhuman without doing unreal amounts of research in the incredible field of marketing. I mean, don't you ever wonder what it's like to be imaginary? I mean to actually BE it. That's deep brother.

    But I don't know... Maybe the op of this fine work wasn't thinking so much about IMAGINARY things... As a matter of fiction, I think he was going for more of a textually artistic sarcasm.

    Not to be flashing my fancy French crown, but I wrote a best selling book about this very subject. That's why I'm commenting... Cause Frankly, I know more things than you. Nanna nanna boo boo.
  31. Fernando_WindJesterGames

    Fernando_WindJesterGames

    Member

    Joined:
    Jun 5, 2014
    Messages:
    2
    I was wondering. Why isnt Futile included in the Unity asset store?
  32. Fernando_WindJesterGames

    Fernando_WindJesterGames

    Member

    Joined:
    Jun 5, 2014
    Messages:
    2
    Futile looks like just the thing I need to bring me over to Unity.

    I made this game called Grid Legion (GL) in C# XNA.
    Lots of code. I could see using Unity's scene system for some things. But trust me when I say, I need a whole lot of GL written in an entirely code centric way (or check it out on Desura).

    mmm "cross platform glory" and a growing market of awesome plugins. I cant wait!
    I can see myself porting to Unity via Futile.
    I'm going to start experimenting to see if I can get things right.
    I will post back in a bit with my progress and (hopefully not) problems.


    Other topic. Earlier today I mentioned Futile to two other programmers. It didnt market well. But then again, I really like the name because thats the way I feel about programming with forms. But hey, dont mind me. I'm just a code centric guy with a simple compiler in mind.
  33. MD_Reptile

    MD_Reptile

    Member

    Joined:
    Jan 19, 2012
    Messages:
    470
    I think the name is fine. The end user doesn't give a #$%& if your plugins are called weaklingPackageOfFail, it's all about functionality to me, and the end user never cares. I'll check this out as soon as I resurrect my failed hdd having notebook, looks cool though, I find myself hard coding lots of stuff independent of the editor to begin with, so maybe this will work for me.