I wanna make a game. Will I regret <del>XNA</del><ins>MonoGame</ins>?


  • Trolleybus Mechanic

    So I want to make a game, because fuck you, that's why. Stop judging me.

    Anyways, my initial toying around is with Visual Studio + XNA-- because I have a copy of Visual Studio and XNA is free.

    Will I regret this? Is there some hidden "FUCK YOU LORNE HAAHAHHAAH" thing I won't discover until 100+ hours into coding? Is there a different game framework I should use, or does it not matter?


  • BINNED

    Isn't XNA abandoned by this point?

    If you want C# I'd say go MonoGame. Basically, it's almost the same thing (for reference Terraria got ported from XNA to MonoGame, maybe you can find some info on how much work that was if you're interested) and you get it being multiplatform for free.



  • @Onyx said:

    Isn't XNA abandoned by this point?

    Last I heard, yes.



  • @Onyx said:

    Isn't XNA abandoned by this point?

    Talking to a guy who uses Windows XP.

    Will his Internet Explorer 6.0 even be able to load the MonoGame site and initiate the download?


  • BINNED

    Oh, also, all of the games I own and played that I know are written in MonoGame work beautifully on Linux. I expect there are no issues on Win and Mac either.

    In case anyone is wondering they are: Terrria, Bastion and Transistor.

    I probably have more but those I know are MonoGame. Not a huge fan of C# myself but you know, these convinced me that MonoGame is probably rather nice.


  • Trolleybus Mechanic

    @cartman82 said:

    Will his Internet Explorer 6.0 even be able to load the MonoGame site and initiate the download?

    IE6? Yuck. It's Netscape Navigator 4, thank you very much.

    @Onyx said:

    MonoGame

    I do like the idea of multi-platform, will check it out.

    @Onyx said:

    Isn't XNA abandoned by this point?

    If by "abandoned" you mean they did a final release in 2013-- and it still comes up in the top searches for "game development framework Windows"-- and the only reason it was final release'd is because it doesn't fully embrace the Metro cancer-- then yes, it's "abandoned".

    Of course it still is:

    1. fully featured
    2. available
    3. documented
      3.1) working
      3.11 for workgrounds) free to download

    So I take "abandoned" with a grain of salt.


  • Trolleybus Mechanic

    MonoGame Documentation

    Welcome to the MonoGame game library documentation hub.

    WORK IN PROGRESS

    😢

    The fucker's been out for SIX YEARS! This isn't off to a good start.


  • BINNED

    Well, I wouldn't be surprised of most of that documentation applies to MonoGame as well. As in, it's an open source port of XNA. From what I gathered it's not 100% exact duplicate, but it's damn close.


  • Trolleybus Mechanic

    Okay, experience so far:

    • Download: One click on the large DOWNLOAD button got me a setup.exe. No downloader, no filling in forms. 👍
    • Install: Double click, pick my version of VS2010, no need to uncheck "install ask.com toolbar", installed in ~15.7 seconds. 👍
    • Import my test project. Aside from renaming one asset from "walking-dude" to "walking-dude.png", It Just Worked. 👍

    I'm sold. I'll switch over to MonoGame.



  • XNA is a solid platform, but it is abandoned, and likely won't survive windows 10/whatever is next very well.

    Some options are

    1. Unity3d (If you go this route, primarily focus on visual studio code, and use unity ONLY for direct display. You have two choices if you go this route: Use only .Net 3.5, or build a bridge to allow for local translation of .Net 3.5 to 4.5+) Unity3d has a free version you can get your feet wet with, but it limits a lot in terms of visual studio integration and debugging. Out of the box, it supports builds for windows, linux, mac, android, playstation, nintendo, and xbox - but to actually publish those builds the non-pc platforms are all about $1500/pop (that's on top of the professional license, which is also $1500)

    2. Unreal engine 4, In general this will create higher quality games than Unity3d will, but it doesn't directly support c# if that's your goal. (It's C++ focused) I don't have a lot of direct experience with this engine, though I'll probably be trying it soon. Chances are it's going to suffer from a similar issue to unity, where it's still better to have a bridge. Out of the box, I believe it supports windows/mac/linux/android/playstation/xbox, unknown about nintendo. The licensing has a full out purchase model, but it also has a freemium model that allows you to pay only when you actually publish and make money (though i haven't reviewed the licensing in a while, so advise you to read it yourself.)

    3. Mono game removes a lot of the restrictions on a specific .Net version, outside of what the mono platform supports in general. It doesn't come with any direct designers though if memory serves, so a lot of your time will be making tooling for your game. This isn't exactly bad if you're looking to just get in the weeds and learn, but you're not going to be shielded from the complexities of graphics programming (IE: opengl/directx), and you're going to have to build your own content pipeline (IE: modeling, animations, etc)

    Overall, I'd recommend experimenting with unity and unreal first, but either one that you go with, treat the front end engine as a DISPLAY HELPER ONLY and you will save yourself a ton of issues when the engine mechanics change between versions, or if your platform requirements change.


  • Discourse touched me in a no-no place

    @Lorne_Kates said:

    Netscape Navigator 4

    1998 called ... and said it doesn't want that POS back either, actually.


  • Banned


  • BINNED

    @Gaska said:

    [Piston!](http://www.piston.rs)

    It's Serbian? Wow! Balkan crew represe....

    ... oh, no, Rust. BAH!


  • Trolleybus Mechanic

    @FrostCat said:

    1998 called

    DID YOU WARN THEM THAT PEOPLE WOULD BE OVERUSING THAT XKCD CARTOON!?!?!???!!?!


  • Banned

    7/10 had to check username.


  • Discourse touched me in a no-no place

    @Lorne_Kates said:

    XKCD CARTOON

    1997 called back and said something about an episode of Seinfeld called The Comeback.



  • XNA has been dead for like 5 years. So yes. Yes you will.

    Use MonoGame instead. It works in VS. It's 95% compatible with XNA. It's supported on every major OS. And it's supported.

    EDIT: oh and find whoever recommended XNA and tell him to stop time poddin'.



  • @blakeyrat said:

    5 years

    TIL 2013 was five years ago

    Also TIL when people stop releasing updates to software, the software becomes unusable.

    I had always thought that Community Server1 was unusable even before they stopped updating it.


    1 Just in case we go back to Community Server after we switch to NodeBB.



  • If you want to be crazy like me, you could also build your own stack. However, I started my project in 2010, back when companies still wanted ~$10,000 for a license to use their engines. These days, there's less reason to go to such lengths.

    It almost * goes without saying that engine choice is going to depend on the requirements of your project.

    *Because I did say it!


  • area_pol

    I have no information about XNA, but I use Unreal Engine 4 and I would like to recommend it.

    • frequently updated, a lot of work is put into making it friendly to the developer
    • free for non-commercial, if you sell the game you give then 5%
    • built-in replication for multiplayer
    • program using C++ or their visual scripting system or both
    • beautiful graphics
    • multi-platform (including mobile and HTML5)

    What kind of game do you want to build?



  • Wouldn't Unreal or Unity be a little overkill for a 2D mobile game? Just wondering since I'm also thinking of doing my own game.

    Also, for me, the most hard part of a game is always going to be the assets like sounds and sprites/models.


  • BINNED

    @Eldelshell said:

    Wouldn't Unreal or Unity be a little overkill for a 2D mobile game? Just wondering since I'm also thinking of doing my own game.

    Depending on what you want to do, Qt might not be a bad choice. I wouldn't go about building platformers or racers in it if you want to just knock it out quickly, but for simple 2D puzzle-ish games... I'm not sure how .NET stuff works on Android/iOS, but I have tested Qt stuff on Android and it works great. If you don't need any heavy computations it's all doable by using JavaScript, too, no need to delve into C++.

    @Eldelshell said:

    Also, for me, the most hard part of a game is always going to be the assets like sounds and sprites/models.

    + ∞



  • The new version of unity has a 2d editor, so no on that count. Unreal might be a little over the top unless they've released a 2d editor that I missed.


  • BINNED

    I'm playing with it right now. There's a preset for it, but not sure if it's a 2D thing or just the whole "lock the camera" deal. I'd test but it's still doing... something with assets in the FPS template and I want it to finish and test it (testing the Editor on Linux).



  • You're talking about the top down space shooter demo? It's definitely not a 2d fps. (If you got bootcamp that's the wrong one)

    You want this: https://www.assetstore.unity3d.com/en/#!/content/11228


  • BINNED

    Oh, no, I mean Unreal. Which is not really progressing... No idea what it's doing. Restarting...

    Well... it's kinda 2D (I moved the editor camera on purpose)?


  • area_pol

    @Eldelshell said:

    Wouldn't Unreal or Unity be a little overkill for a 2D mobile game?

    On the other hand, they make packaging for various mobile platforms easy.

    @Onyx said:

    (testing the Editor on Linux)

    I recently discovered that CodeLite IDE works well with Unreal on Linux (if you want to do some C++).


  • BINNED

    Hmmm... might give it a go, thanks.

    Didn't try to wire in the C++ stuff yet, only got this working today. I'd prefer to get it going with Qt Creator though, since I'm used to it already, and barring a few nice things I wish it had, it's actually pretty good and I genuinely like it.


  • area_pol

    @Onyx said:

    Didn't try to wire in the C++ stuff yet, only got this working today. I'd prefer to get it going with Qt Creator though, since I'm used to it already, and barring a few nice things I wish it had, it's actually pretty good and I genuinely like it.

    Yeah, I also like QtCreator but when I tried it with Unreal, it failed to load the project.
    In CodeLite the autocomplete worked out of the box, and it seems to have most of the features I like in QtCreator.

    A great feature of Unreal's "blueprint" system (visual scripting) is that it integrates with C++ very well. In C++ you declare a property or a method of a class, in the editor you can set the default value for the property, and call / implement the methods with visual scripting.



  • @Groaner said:

    These days, there's less reason to go to such lengths.

    this. nowadays rolling your own stack only makes sense if you really want to deal with the inner workings of graphics generation


  • Trolleybus Mechanic

    @Adynathos said:

    What kind of game do you want to build?

    Something Diabo/Dungeon-Siege esque, whatever that genre of game is called. I haven't exactly decided if it would be fixed-camera isometric "2D" (Diablo), or free-camera "3D" (Dungeon Siege).


  • area_pol

    @Lorne_Kates said:

    Something Diabo/Dungeon-Siege esque, whatever that genre of game is called. I haven't exactly decided if it would be fixed-camera isometric "2D" (Diablo), or free-camera "3D" (Dungeon Siege).

    In that case Unreal should be the right tool for the task.



  • @Adynathos said:

    - frequently updated, a lot of work is put into making it friendly to the developer

    This could describe a lot of the solutions available, but as someone who has had to make a few custom tools for asset management, I'd say that having good tooling is equally important.

    @Adynathos said:

    - free for non-commercial, if you sell the game you give then 5%

    The only risk here is if you get into several such agreements, and suddenly you're paying out almost half of your sale price to licensing fees.

    @Adynathos said:

    - beautiful graphics

    This is usually a measure of how talented your artists and shader developers are, since most modern engines support pretty much the same stuff. I think we need to get away from attributing visuals to engines, since it leads to lots of idiots thinking that garbage assets can be turned into prettiness, and it might also stem the flow of idiots who say that a game has "DirectX 9 graphics" when it's running under an OpenGL renderer*.

    That said, if I were starting fresh today, I'd probably go Unreal.

    *It's like hearing your mom say, "I'm surfing the World Wide Web," but much more annoying and wrong.


  • Trolleybus Mechanic

    MonoGame experiences so far:

    Found two small bugs in their Content Pipeline UI. Doesn't respond to OK in a "new item" dialog box. Deleting the last item in a folder removes the folder from treeview UI.

    Filed two bugs. They were both responded to right away by the dev team. Patches applied. Fixed. 👍

    Using MonoGame 3.4. They made some breaking changes to what versions of .fbx models they use. This means that almost every single MonoGame tutorial out there has broken, since they don't use FBX 2011 or above. I understand the reasons WHY they made that change (Autodesk fudged around with licensing, so they can't support those old versions AND remain open source and free).

    So 👎 ... I had to learn how to convert .fbx files, how to manually import .xna files directly after the pipeline-- and a bunch of other stuff. So in some ways, that's 👍 because now I understand much more about the whole pipeline.

    Thusfar, I have a 3D checkerboard, with a single model on it. I can move the camera around using the mouse (screen edges to tilt and rotate, scroll to zoom). I can WASD around the single robot model on the board. I'm now working on clicking on an arbitrary location, having the model turn to face that spot then move towards it.



  • @Lorne_Kates said:

    Thusfar, I have a 3D checkerboard, with a single model on it. I can move the camera around using the mouse (screen edges to tilt and rotate, scroll to zoom). I can WASD around the single robot model on the board. I'm now working on clicking on an arbitrary location, having the model turn to face that spot then move towards it.

    Fuck that, just name it "an even newer kind of adventure" and cram it on Steam Early Access. You've already done more work than that asshole did.



  • @Lorne_Kates said:

    Using MonoGame 3.4. They made some breaking changes to what versions of .fbx models they use. This means that almost every single MonoGame tutorial out there has broken, since they don't use FBX 2011 or above. I understand the reasons WHY they made that change (Autodesk fudged around with licensing, so they can't support those old versions AND remain open source and free).

    So 👎 ... I had to learn how to convert .fbx files, how to manually import .xna files directly after the pipeline-- and a bunch of other stuff. So in some ways, that's 👍 because now I understand much more about the whole pipeline.

    FBX is kind of annoying because it's a licensed format, and the set of inexpensive tools to get from format Q to FBX is...limited. At the same time, it's one of the most feature-rich formats for animated asset interchange. I use Ultimate Unwrap 3D to handle converting various versions of FBX and DAE to Ogre's asset format (basically, XML), which is quite helpful.

    That said, FBX is much less painful to deal with than if some asshole gives you a .MAX file. To open one of those, you need an Autodesk product since the format relies on internal constants and algorithms within 3DSMax et al. to correctly derive what the asset should look like.

    You will probably have to write some tools to do some of your own processing within your asset pipeline. For example, I made a tool that cleans up character skeletons so that animations can be reused on multiple characters, and another tool that splits full body animations into upper and lower halves so that a character can, for example, fire a rifle while strafing left.



  • @Groaner said:

    and another tool that splits full body animations into upper and lower halves so that a character can, for example, fire a rifle while strafing left.

    EDF! EDF! EDF!!!



  • @blakeyrat said:

    Fuck that, just name it "an even newer kind of adventure" and cram it on Steam Early Access. You've already done more work than that asshole did.

    The intensity of the colors is disturbing. But it also makes me feel a bit better about the state of my project.



  • @blakeyrat said:

    EDF! EDF! EDF!!!

    This? I think I've seen something like this before on a console long ago.

    Looks like it'd be a good fix for the lack of Serious Sam games since circa 2011.



  • 2017 on Xbox 360 is better, but yes. EDF! EDF! EDF!!!

    There are two kinds of video gamers, those who have played EDF and those who are lame losers.

    Classic Game Room HD - EARTH DEFENSE FORCE 2017 review Pt1 – 07:56
    — Classic Game Room

    (Note the animation when the guy strafe-runs, which is hilarious.)



  • @Lorne_Kates said:

    Filed two bugs. They were both responded to right away by the dev team. Patches applied. Fixed. 👍

    What? These guys clearly have no idea how open-source is supposed to work. Do they even have a forum ready to track their bug reports?

    Filed under: do they even disable interactions in read only mode?


  • 🚽 Regular

    @blakeyrat said:

    There are two kinds of video gamers, those who have played EDF and those who are lame losers.

    😭


  • 🚽 Regular

    That does look like fun.

    I like that your health meter shakes when you take damage while the rest of the HUD remains still. XD

    And billboard graphics for the powerups!



  • It's pure game.

    Like if you took like, I dunno, a game with all the bullshit in it. Say Halo 4. And squeezed all the bullshit out. And just took the pure game part. So, it's like it has physics-- but only the BARE MINIMUM physics required to make a fun game. It has character animations, but only the BARE MINIMUM character animations required to make a fun game. (Thus the hilarious swivel-torso when strafe-running that reminded me of EDF in this thread.) Etc. It feels like no effort was put into anything, and yet it's so amazingly fun.

    One thing he doesn't mention (I don't think?) is EDF 2017 has vehicles too, but they're all hugely broken so you don't bother ever using them. Except the helicopter, which is hugely broken in the OTHER DIRECTION and if you get in it it's a free win, since you can fly higher than the alien projectiles. They just didn't give a shit. It's awesome.


Log in to reply