Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Started learning C++

  • 17-09-2014 9:15pm
    #1
    Registered Users Posts: 191 ✭✭


    Howdy folks.

    Had a few weeks off work in August, so dived head-first into learning C++ from scratch, as you do.

    I've been racing through a couple of books and tutorials, learnt a lot, and am really enjoying it...so much so that I can't wait to get home from my job sitting in front of PC to spend my night sitting infront of a PC again.

    I'm fairly comfortable with classes and inheritance at this stage, currently getting my head around virtual functions, to give you an idea of where I am.

    So...I've a few questions. First, was it a really stupid mistake to start with C++? I can't help but notice a lot of higher level languages like C# being mentioned as better starting points for game programming. XNA was C# based, and I see Unity implements C# too.

    Secondly...sticking with C++, what is a good graphics/media library to start with? I would be genuinely happy with making very simple 2D games...clones of pong, pac-man, boardgames etc. I've been looking at SFML a little.

    And thirdly, and probably most importantly...as somebody who just wants to do this as a hobby, with no aspirations to even release a title...should I just get onboard something like Unity? I love programming, I really enjoy it for some bizarre zen reason, but the deeper I go the harder it looks to even get a sprite on the screen. Is there much coding in Unity, or is it all WYSIWYG within the editor?


Comments

  • Registered Users, Registered Users 2 Posts: 454 ✭✭Kilgore__Trout


    Hi Trine.

    Can really only offer a partial answer, as I use C# and Unity, and am not familiar with C++.

    A general view on C++ vs C# is that C++ will be faster at run-time, but C# is faster to develop with. So maybe the best choice in your case is determined by whether you are mostly interested the learning aspect, or developing a game in the shortest time possible.

    It may be worth looking into Unreal, as (afaik) it Unreal 4 will use C++ as the primary language. The pricing is highly competitive too.

    Unity does a lot of the heavy lifting for you, but you're really limited in what you can do in Unity if you aren't interested in coding. I haven't gone around counting lines, but a game I made in Unity probably weighs in at around 60k lines. The visual editor is more there for improved workflow than building a complete game. My understanding is that Unity is less complex to work with than Unreal, and much less complex than a from scratch solution, but depending on where you are with programming, and your goals, it may provide a good starting point.

    Might be good to try Unreal and Unity, and see how you feel about them. Good luck : )


  • Closed Accounts Posts: 431 ✭✭whats newxt


    TBH You should just use this: http://www.maratis3d.org/ it's very like unity uses LUA for scripting and c++ if you want to do something more fancy it's also opensource wit a MIT license so you can make game and sell them for money if you want, runs on mac linux and windows can also port to ios and android all for free.


  • Registered Users, Registered Users 2 Posts: 1,481 ✭✭✭satchmo


    If you're doing it just for the learning, and you're enjoying it, then definitely stick with C++. Switching from C++ to C# will be quite easy if you understand the fundamentals of C++. SFML is a good library too, it should do nicely for what you're after.

    As for Unity/UE4, at this stage I'd recommend you stay trying to implement things yourself rather than starting to learn an engine, especially if you're enjoying what you're doing at the moment. Again, understanding the fundamentals will make more advanced concepts much easier to pick up later. You should only start looking at engines if you find yourself wanting to make games that are bigger in scale than you think you can handle on your own.


  • Registered Users, Registered Users 2 Posts: 10,299 ✭✭✭✭BloodBath


    If you get into Engine work I'd go Unreal 4 all day.

    It's by far the best engine in terms of pricing and features with only an initial €19 giving you access to the tools/engine and source code.

    It is possible to add c# and javascript plugins to Unreal 4 as well but hey why bother. Stick with C++ and you're sorted.


  • Registered Users Posts: 191 ✭✭Trine


    Thanks guys. I think I will stick with C++ then. Unity or Unreal might be rewarding in the short term, but in the long run I'd much rather have a solid understanding of how to code first.

    The SFML library looks great by the way, has anybody here used it? Seems to have a decent community around it. There's also a SFML Game Development book which I might pick up.

    See you all same time next year when I might be able to write a pong clone.


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 1,481 ✭✭✭satchmo


    Yeah I've used SFML a bit, just for evaluation. Seems like a nice and clean API, I'd probably go with it if I was looking for a library for doing that sort of thing.
    See you all same time next year when I might be able to write a pong clone.
    Good idea, Pong's a great starting point - achievable, fun, and you'll definitely learn a few things along the way. When you're done with that, try Asteroids!


Advertisement