Page 1 of 2 12 LastLast
Results 1 to 10 of 15
  1. #1
    Join Date
    Jul 2013
    Posts
    4

    Need C# Game Development Guidance

    Hey guys,
    I'm new to the forums

    I've been learning C# and game development with XNA, and I'm at a point where I need more guidance.
    I've been reading a lot of articles and they mention so many libraries and engines, that I have no idea what to start using.

    The reason I started with XNA was basically to learn game development on the programming level. I also know of MonoGame, but the way I understood it, it's just XNA that's ported to more platforms, and I managed to port successfully from XNA to MonoGame, with the same code. (which is amazing) But what I'm looking for is basically to expand XNA or to use something else entirely. And I guess you do that with using more libraries together with XNA? I'm just looking for more stuff to learn.

    So basically, what should I go for next?

    Also sorry if my post is kind of abstract, I'm kinda lost too.

    PS: I know about Unity and the other engines, but I'm really looking for stuff on a coding level, because I want to learn how things work before I go for an already made engine. It's also really convenient that Unity uses C# for scripting.
    - Strong minds discuss ideas, average minds discuss events, weak minds discuss people.

  2. #2
    Join Date
    Mar 2013
    Location
    Australia
    Posts
    217
    I looked at XNA briefly to start to learning game development but its very much a code first approach and this can be a bit daunting when your learning. Then i found Unity and it had one thing that attacked me the most, you can code in C# which i now. In terms of tooling i think its better than XNA and its cross platform. It's built on Mono Framework, same as MonoGame, witch is a .net port to other platforms that gets precompiled down.

    The big difference is that it uses c# more as a scripting language than OOP. that's not to say you can't use OOP. You tend to create an interface layer between the Unity Engine and your .net objects. Nelsons Unity videos on 3DBuzz show a really good way to do this. Particularly in the MMO video's. By doing this you can basically treat one side, all your game logic, like a standard .net application. The middle layer is just what interacts with the Unity Engine. And then of course the unity engine that does the grunt work that we don't need to worry about.

    The other thing i liked about unity is their asset store. You don't have to be an expert at modelling or affects to add them to your game.
    Last edited by nitro52; 08-06-2013 at 01:00 AM.

  3. #3
    Join Date
    Jun 2013
    Posts
    36
    I agree unity is an interesting package, and when i began wanting to program a game i did the same thing, i tried unity first, and although it is a really nice engine, when using c#, its just a scripting language like nitro said, however it doesn't allow you to use namespaces, which i hate.

    And also being that i was new to C# i wanted to write things from the ground up as well, i ended up choosing xna, but that was by far the more difficult route, unity uses c# and or java, and another language i forget, it isn't used much, so if you choose to begin with unity, chances are high you will learn some java too.

    So i guess too sum up my long incoherent ramble, look into a few of the engines, at least enough to learn how to make a basic screen, and see which one fits your style better, and learn learn learn along the way.

  4. #4
    Join Date
    Mar 2013
    Location
    Australia
    Posts
    217
    Yes the script classes that interface with the Mono Engine, the classes that inherit the MonoBehaviour class, do not handle namespaces well, i think the latest version you can still add a namespace, but all the objects these classes delegate to can be contained in namespaces and can be instantiated as object. Nelsons vids explain this in a really neat way.

    The only other thing that bothers me and many other .net developers is the magic methods that you "override" on the MonoBehaviour class. there not really overrides, it just requires a method with the a specific name to exist, which is horrible considering you need to inherit from a base class. This is where it crosses between a scripting language and an OOP language.

  5. #5
    Join Date
    Jul 2013
    Posts
    4
    Hey guys, thanks for the input, I see my thread finally got posted.

    I really think that Unity is the best way to go, but I really wanted to expand my understanding of game development through programming and understanding the libraries and the math behind things before I started Unity. I really can't even imagine how you would use C# as a scripting language in Unity because I'm that new to programming, and I haven't tried Unity. I learn pretty fast tho.

    I learned C# in 3-4 days as my first OOP language, I previously knew some concepts of programming like arrays, if statements and loops, making matrices from 2d arrays, from high school, and my direction was math. But after I learned C# I've been doing XNA for the past 15 days or so, and I can make all the simple games.

    But what do I learn from here on? Like I can make the basic game, but how do I expand it? How do they make levels only by programming? I know about tile maps but it seems really ineffective to write 2d arrays for the whole level, so how would I make a level editor and use it as a GUI to place things like in some RPG game makers. Or maybe I should start Unity and see what happens from there? I also do 3D design but I would like to know how to make a 2D game in Unity too.

    Also I looked through 3d graphics tutorials, but they're all for C++ with directX and openGL.

    Cheers!
    - Strong minds discuss ideas, average minds discuss events, weak minds discuss people.

  6. #6
    Join Date
    Jun 2013
    Posts
    36
    If your wanting to try unity, here is a tutorial i liked.
    http://www.burgzergarcade.com/hack-s...ngine-tutorial

  7. #7
    Join Date
    Mar 2013
    Location
    Australia
    Posts
    217
    a 2D Game in unity is basically a 3D game with the content and camera locked to x and y with z normally being the layer. You could do this all manually but theirs a bunch of third party extensions for Unity that are designed to help you build 2D games. This one look interesting.

    http://www.uni2d-plugin.com/

  8. #8
    Join Date
    May 2006
    Location
    Murfreesboro, TN
    Posts
    64
    stay with MonoGame. they have made XNA completely opensource, and will be expanding on it, as well.

    everything you've learned with XNA will carry over. EVERYTHIIIIING.

    and you will be able to port to damn near any platform you can think of.

    what's really awesome is that soon the guys at Mono will have even the XNA content pipeline rewritten and added to MonoGame.

    Once that happens, there will literally be no need for you to have the XNA framework, you can just use MonoGame and still write in XNA code/syntax.

    perhaps as a next step, you can look at importing box2d physics into MonoGame.
    Official Nelson talking points breakdown: programming, mt dew, coffee, mcdonalds = 96%, guns = 3%, beer, boat, island = 1%

    (4:06:05 PM) rflx: [23:03:45] <Adam1> well... he'll be running.. *puts on sunglasses* .. out of ammo. *YYEEEEEEEAAAAAAHHHH*
    (4:06:08 PM) rflx: ^^ fixed

  9. #9
    Join Date
    Jul 2013
    Posts
    4
    Does MonoGame support the 3D stuff like XNA too? Also I've heard the term making a "fork" of MonoGame to make a game, what does that mean?
    - Strong minds discuss ideas, average minds discuss events, weak minds discuss people.

  10. #10
    Join Date
    Aug 2011
    Posts
    18
    I recommend 2D toolkit if you looking for a 2D extension.

    Also smooth moves appears popular.

Page 1 of 2 12 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •