MonoGame / XNA developers?

Hi guys.

Any gamedevs using MonoGame in this forum?
Would be keen to learn from you guys as I'm currently using MonoGame to build a 2D top-down game / engine.

Also, would anyone be interested in setting up a Slack group for MakeGamesSA?

Cheers

Comments

  • edited
    I used XNA for a few years, made a few games with it, one of them was recently released on Steam, another has passed Greenlight...

    2D in XNA is pretty simple and you can do a good job of making a game with it. Once you go over into 3D things get a little complicated, XNA doesn't contain many helper classes, just the basic engine stuff. So you need to make your own material classes, camera classes and virtually anything else you can think of. The default shaders do an ok job, but you end up making your own shaders, it's basically a very low level experience, also it's a pretty steep learning curve.

    I hate to end on a negative note, but you are better off switching to Unity or Unreal, those engines make your job so much easier, you will spend 80% of the time actually coding your game and 20% fighting with the engine, it's the reverse for XNA.

    I realize that you want to make a 2D game, but the progression to 3D is a lot harder in XNA...

    I hope that helps.
  • Thanks man.
    The building the engine part and going low-level is actually the reason I chose to go with MonoGame :)

    I realize if you want to build a game the Unity & Unreal engines are definitely the route to take without a doubt.
    "Make games not engines", although this isn't my case.

    Thanks for the feedback though
  • @fjlaubscher: How do you know what to make your engine do? Do you have some sort of guideline or very concrete set of capabilities? I fear that without those, you're basically trying to make a house without having lived in one. (This tends to end up with houses that have a roof and walls, but no plumbing or windows)
  • @dislekcia Yeah, I'm busy building an engine quite similar to something used in Hotline Miami or Crimsonland. A dead simple top down shooter. At the same time I'm busy building a game using the engine so it's not like I'm not using the engine.

    I see this as a learning process and I do not wan't a solid game at the end of it. I want to understand how engines work and what they should do.
    I enjoy it ;)
  • @dislekcia Yeah, I'm busy building an engine quite similar to something used in Hotline Miami or Crimsonland. A dead simple top down shooter. At the same time I'm busy building a game using the engine so it's not like I'm not using the engine.
    Have you decomposed that spec into a set of problems?
    I see this as a learning process and I do not wan't a solid game at the end of it. I want to understand how engines work and what they should do.
    I enjoy it ;)
    This is a common assumption. The best way to learn what an engine needs to do is to use existing engines and see how they've implemented various different solutions to the problems of different kinds of game development. Without a solid starting base of knowledge (or a cheat sheet to access), muddling your way through tends to get tedious by the 5th rewrite of your scene datastructure because you've just read about a new way to do LoD or whatever.

    Don't let my questions discourage you. I just know that my own engine writing only became effective when I stopped trying to be "unspoiled". Your odds of success are just pretty low right now ;)
  • edited
    I can't give much advice, because it has been a few years. But XNA was the first "game" framework I ever used. I started using it back when the ZuneHD came out.

    A bit after that I wrote a 3 part series on XNA tutorials in PCFormat magazine about how to make a top-down zombie shooter. Did any of you ever read those? (I'm assuming they were pretty bad, but I can't find a copy to check. I lost the files and PDF's long ago).

    It is worth noting that XNA isn't really low-level at all. If your aim is to understand how the underlying bits work, then it might be worth going a step deeper.
  • Thanks @roguecode.

    Yeah I've been contemplating digging into C++ and OpenGL rather than using Monogame, but for now I'm really enjoying working with Monogame.
    This post was more just a feeler to see how many XNA / Monogame devs there are on this forum.

    Haven't checked any XNA tutorials just yet, but I'll see if I can find some online :)
  • I really don't think you have learn xna to learn how engine works. Because xna may be a little outdated. The only book I recommend is : Advanced Game design with HTML5 by Rex Van der Spuy. The book will cover everything you need to know about creating a professional 2d engine. The guy is a great teacher. By the end of the book, you will have an engine similar to cocos2d-js, but much simpler to use than cocos2d-js. If you don't know html5, You also have to get his early book, Foundation game design with html5. I don't know why this guy is calling this books game design when all they talk about is programming. The other book I recommend on html5 is: Building JavaScript Games by Arjan Egges. The book focuses more on object oriented programming and reads like an academic book, but by the end of the book you would have created four complete polished games to be playable on any devise, a painting game, a 12 level platfomer, a match 3 game and a puzzle game. At the end of the book there is an interview with one of the creators of angry birds and also Mark Overmars, the creator of Game Maker Studio, Mark also helped write the XNA version of the book. Buy going back to xna

    Here are the few books I recommend on xna:

    1.
    Aaron Reed
    Learning XNA 4.0: Game Development for the PC, Xbox 360, and Windows Phone 7 ...
    The book will teach you everything you need to know about xna, both 2d and 3d, but the book is not focused on the detail. Is just that it explaines xna very well.

    2.
    Learning C# by Programming games by Argan Egges, Jeroen Fokker and Mark Overmars. As you have noticed same authors, The book is the Xna version of the JavaScript book I mentioned above. At the end you get the powerful engine + four polished games.

    Gudluck
  • edited
    There are a lot more people here that use C#, and even more specifically use XNA/MonoGame still. I am currently working in XNA again because I challenged myself to finish making a game again rather than just building something half-assed and incomplete and using XNA made it much easier for me to progress.

    Good places to look if you need extra reading are:
    http://www.riemers.net/ - riemers XNA tutorials for 2D and 3D (and the dx/OpenGL stuff is good too).
    Look at existing engines and ideas, such as: afru which was made by a local dev for fun ( https://code.google.com/p/afru/ ) which lead to eventually RapidGame ( https://github.com/TRex22/RapidGame/ )
    There are more but have to pay attention in lectures now, will add what else I have later.
    Good set of tutorials - http://rbwhitaker.wikidot.com/xna-tutorials
    Unfortunately Ziggyware and Sgt Conker both have dissapeared though, they had a lot of cool XNA based work.

    Finally first and foremost don't hesitate to ask questions here if you get stuck.
  • Awesome, thanks @skinnyboy and @edg3

    I'm not really struggling that much with Monogame at the moment but I'll be sure to check out those tutorials.
    I built a basic 2D Tile based engine which also includes a level builder.
    Just spent a few days fixing up my collision detection after realizing that when rotating a rectangle (using spritebatch.draw) it also transforms the position of the rectangle depending on what you set the rotation origin :D

    I'm making good progress though and really enjoying working with Monogame.
    I've tried Unity as well, but it wasn't for me, I prefer to do things the hard way.

    Thanks for the feedback guys!
  • Some of the biggest problems I had in XNA had to do with material switching. The setup time on shader environments in XNA is non-trivial, so to catch a very sneaky framerate hitch we had to implement material and draw call batching. This was only a huge issue on Xbox though, as there the framerate was locked to specific rates - so the game would run at 60fps and then have a couple of frames drop to 30fps if we got unlucky with draw setup.
Sign In or Register to comment.