I'd like to get into game programming, where to start?

Discussion in 'Programming' started by Red Squirrel, Dec 17, 2012.

  1. Red Squirrel

    Red Squirrel Lifer

    Joined:
    May 24, 2003
    Messages:
    39,529
    Likes Received:
    932
    I have 5 years experience of server side MMO coding and ran a game server for that long (Ultima Online). I've been pondering on making my own MMO game from scratch, for Linux and Windows. Would be written in C++ and use the client-server model. I'm not too worried about the server side of things as while it will be a lot of work, I have a general idea of where to start. I probably should brush up on C++ concepts so I can code it as effectively as possible from the get go and not end up in a spaghetti mess.

    I've never coded a graphical app before, other than a few times messing a bit with Open GL. I'm just wondering where is a good place to start to learn graphical game programming. Idealy I'd like to be able to make all the 3D models in a program like Blender and somehow import them into a format that my game can read. I obviously have to code all of that as well and learn Blender but it looks like a pretty awesome tool for this stuff once I take the time to learn it.

    Is there any good tutorials you can recommend on getting started? I'm also not very artistic but that's a whole other story, if I do go through with this, I'll just have to start with the basics and get practice and go from there. I'm thinking 3D models may also be easier than 2D. 2D sprites are surprisingly harder to make than they look.
     
  2. Loading...

    Similar Threads - game programming start Forum Date
    How to make a C# program crash without "this program has stopped working" dialog? Programming Jan 26, 2017
    Question about programming habit Programming Jan 25, 2017
    Start with SQL or ACCESS? Programming Jan 21, 2017
    When you program, how wide is your editing window ? Programming Jan 14, 2017
    How many & which programming languages do you know? Programming Jan 1, 2017

  3. TecHNooB

    TecHNooB Diamond Member

    Joined:
    Sep 10, 2005
    Messages:
    7,454
    Likes Received:
    0
    try the unreal engine? and spaghetti code is ok the first time around :)
     
  4. Red Squirrel

    Red Squirrel Lifer

    Joined:
    May 24, 2003
    Messages:
    39,529
    Likes Received:
    932
    Is it free/open source? that's also a requirement if I do go with using a pre built engine. If I do go with this and it does work out, there's the potential I may charge for items or what not, so I want to stay away from anything that could have any kind of royalties attached. Not sure if the UT engine has this though, I will look into it. There's also Ogre 3D. Might look into that, actually. Anyone have experience with it?

    Also what are things to watch up for as far as copyright goes? I was thinking of making the game very similar to Ultima Online but just more modernized, but would that be copyright infringement? Like similar creature names, places etc. Not a verbatim copy per say, but perhaps I'd have one section that is, for nostalgia sake. Though I may go the minecraft route where the world is randomly generated, too. Not sure yet.
     
  5. lxskllr

    lxskllr Lifer

    Joined:
    Nov 30, 2004
    Messages:
    45,815
    Likes Received:
    336
    Unreal engine is proprietary. You can use it gratis, but will run into issues building a project around it. Check this out for libre assets...

    http://opengameart.org/
     
  6. Bulldog13

    Bulldog13 Golden Member

    Joined:
    Jul 18, 2002
    Messages:
    1,641
    Likes Received:
    1
  7. beginner99

    beginner99 Platinum Member

    Joined:
    Jun 2, 2009
    Messages:
    2,991
    Likes Received:
    33
    I suggest you first try out Blender and then maybe revise your plans. What I mean is that to create good looking models from scratch on your own is extremely difficult. Alone understanding and getting to know blender and then mastering modeling will take you months - years, full time (IMHO and if you have 0 priory 3D modeling knowledge).

    Anyway maybe this interesting for you:

    http://www.blender.org/education-help/tutorials/game-engine/

    http://blenderartists.org/forum/showthread.php?242740-Blender-Game-Engine-Multiplayer-Add-on
     
  8. lxskllr

    lxskllr Lifer

    Joined:
    Nov 30, 2004
    Messages:
    45,815
    Likes Received:
    336
    I know nothing about programming, but I think this is very good advice. To take it in a different direction, I'd look for an existing project to add effort to. Even if the project's dead, it'll give you a base to start from. See this blog post...

    http://freegamer.blogspot.com/

    A Wikipedia list of open source games. See if something looks interesting...

    https://en.wikipedia.org/wiki/List_of_open_source_video_games
     
  9. Red Squirrel

    Red Squirrel Lifer

    Joined:
    May 24, 2003
    Messages:
    39,529
    Likes Received:
    932
    Yeah for sure I will start with blender before I even get into the code part, though I need to make sure that whatever engine or method I use will be able to somehow use blender content directly. Not too sure how that would work. Perhaps I'll have to design my own format and write a conversion process or something. The nice thing is Blender is open source so I can maybe look at how files are saved and go from there.

    All models at first will be very basic, I can worry about making more advanced ones later on in the game's dev cycle. I'll probably go minecraft style at first. The thought of making full blown models like dragons is quite daunting! Though if I can break these things up in smaller parts, it may not be so bad once I feel more comfortable using Blender. So yeah, that's my first step I think. Even if I don't make a game I've kinda been eager to want to learn that program anyway. I've seen some of the stuff people have made with it, it's an incredibly powerful program.
     
  10. Merad

    Merad Platinum Member

    Joined:
    May 31, 2010
    Messages:
    2,513
    Likes Received:
    4
    Well, let me be blunt - making an MMO, particularly starting from scratch, is a task that would take dozens of developers several years to complete on a multi-million dollar budget. By all means stash those ideas away in the "one day I'd like to..." file, but if you try that as your first real project then you're on track to fail miserably.

    I'd also strongly recommend that you pick either windows or linux and focus on it exclusively at least to begin with while you learn. Not only is writing cross-platform code typically a headache, but it's pretty pointless unless you're actively building and testing on all of the supported platforms.

    Definitely get up to date on C++. As far as resources, I recently picked up Game Coding Complete 4th ed which has been a good resource so far. However, it's very windows and directx focused. Game Engine Architecture is also good, and makes some use of OGRE. Beyond that, go to gamedev.net, read a lot and ask questions.

    I wouldn't hesitate to use OGRE on small or mid-sized projects, and it's certainly good to use to handle the graphics side while you're learning other concepts. However if your goal is very high end AAA style graphics in a large world, it has performance issues that make it less viable. You can search their discussion forums to find some threads that go into the technical details.
     
  11. Markbnj

    Markbnj Elite Member <br>Moderator Emeritus
    Moderator

    Joined:
    Sep 16, 2005
    Messages:
    15,688
    Likes Received:
    8
    You could probably aspire to make a MUD, but yeah a full-blown graphical multi-user world would be a steep hill to climb.
     
  12. Red Squirrel

    Red Squirrel Lifer

    Joined:
    May 24, 2003
    Messages:
    39,529
    Likes Received:
    932
    Good to know about Ogre. I'll have to play around with it before I commit. But guess that will go for any engine. Will feel like Duke Nukem Forever while I try all the engines. :p I figure it would probably take a year before I even have a semi playable product. Lot of time will be spent writing base engine code, testing different engines/methods of doing stuff etc.

    I'll check out gamedev.net as well. If I do start this project it's definitely not something I expect to be done in a year. :p I figure at least 2 years till I'd even have an alpha out. Even that is probably generous. The nice thing is with my job I do have lot of time off though so I'll be able to get lot of coding in during this time.
     
  13. JamesV

    JamesV Platinum Member

    Joined:
    Jul 9, 2011
    Messages:
    2,003
    Likes Received:
    1
    Most modelling programs have plugins or the ability to save in different formats. I've used Maya and free modelling programs, being able to import a model from any program into Doom and Unreal engine games.

    As for making your own MMO... it is simply not possible for one person, unless maybe it is 2D and you can dedicate a decade to it's construction. I made a mod for an old game called Tribes by myself, and with that super-easy pseudocode engine, it took me a year, a large chunk of that endlessly testing and fixing bugs. This was with no original models or artwork.

    Start trying to make a mod instead of coding a game from the ground up. Unreal engine games are a good place to start. There are tons of tutorials on coding, art, mapping, etc, and you can always use the game's default models for a proof of gameplay concept (who cares if your warrior has the model of a space combatant, if you can test out gameplay easily with it?).
     
  14. Merad

    Merad Platinum Member

    Joined:
    May 31, 2010
    Messages:
    2,513
    Likes Received:
    4
    If you're writing your own 3D code it's just a matter of knowing the file format that your models are saved in so you can read & translate it as necessary to work with your engine. I'd expect most commercial engines either provide built in support for loading common model formats and/or provide plugins so that modelling programs can save to the engine's own format.
     
  15. Red Squirrel

    Red Squirrel Lifer

    Joined:
    May 24, 2003
    Messages:
    39,529
    Likes Received:
    932
    Good to know. At this point this is all long term thinking, but to at least get my feet wet with the concepts think I'll start with learning Blender to an extent where I can make basic models, and then start playing with game engines. When I originally thought of this I was thinking in terms of having to code every single triangle by hand using OpenGL but with prebuilt open source game engines I don't have to do all that hard work. The closest thing to a game I ever made was a program that makes a prism spin and it was controllable via arrow keys. :awe: So yes, I have a LOT of learning to do.

    I also have another project I want to take on and it's a server management platform, possibly will be a full blown distro (easier than trying to make my app work with all distros). Think, cpanel, but with some failover stuff added to it, and no price tag. I may take on that project first, that's a good year or two, but should help me gain more C++ knowledge before I do something even bigger such as a game.

    The difference between me and anyone else trying to take something like this on is that with my job, I get tons of time off as it is shift work, so I will have more time to work on it.
     
  16. exdeath

    exdeath Lifer

    Joined:
    Jan 29, 2004
    Messages:
    13,678
    Likes Received:
    4
    Your biggest challenge with game programming isn't going to be programming, it's going to be assets (models, animation frames, maps, textures, music, sound, etc).

    All the programming prowess in the world isn't going to make cubes and stickmen very exciting.

    This is often the most overlooked aspect for people new to game development wanting to make their own games. The programming is cake, tried and true, lots of documentation, and lots of engines already out there to use.

    For every 100 self proclaimed dime a dozen "game programmers" on the internet, you're lucky if there is 1 person who is just as talented and devoted on the art and 3D modeling side. That means 99 out of 100 aspiring game programmers will never make more than simple technology demos and never complete an actual game.

    Been there, done that, it sucks. WTB more modelers/animators who aren't already hired professionally and who have time to devote to personal projects. I need someone who can pump out a sprite sheet or animate and UV map a 3D model of a custom character from scratch in the time it takes me to whip out another demo on the NES/SNES/GBA/PS2, etc
     
    #15 exdeath, Dec 21, 2012
    Last edited: Dec 21, 2012
  17. Red Squirrel

    Red Squirrel Lifer

    Joined:
    May 24, 2003
    Messages:
    39,529
    Likes Received:
    932
    Oh yes, I totally agree, that WILL be a challenge, and thanks for reminding me since yes it is something easily overlooked. The biggest issue is copyright, I can't just grab something I think sounds or looks good. Even things as simple as the sound of a pick axe when you mine, I'll have to create myself. Not only create myself, but make sure it does not sound too close to the pick axe sound of other games. This for every single sound you can think of, like foot steps. All the textures etc too.

    For all that stuff at first I will probably make "place holder" media and hope I can find someone who wants to help with that, or find a creative commons source for premade stuff. Look at minecraft, there is basically no music, graphics are very basic and not that many sounds. So maybe it could work, but yeah I'll most likely want to not just copy the way Minecraft does it. If anything it would be a copyright issue not to mention trying to promote something that is so close to something already popular.

    That's a whole other thing too, all that work, and if the game never takes off... I need to look at it as something fun to do rather than a chore though. And that's the danger, if half way through I just get overwhelmed it becomes a chore. That's what happened with my UO server, but part of that was also because it was not my game, so not only was I working with over 1mil line of code that I did not fully write, but I was having to keep up with stuff like EA changing the packets etc... If I code it properly from ground up, that part wont be as bad. But yeah, the assets will be a beast on it's own.
     
  18. 0___________0

    0___________0 Senior member

    Joined:
    May 5, 2012
    Messages:
    284
    Likes Received:
    0
    The UDK isn't suited for an MMO because of it's networking, it is limited to 64 players, so unless you instanced the game sessions or paid $$$ for source code, you won't have a "massive" multiplayer game. Unity would work; you could even consider using Raknet or Photon for networking, I believe that both have free indie licensing, it would definitely take a load off your shoulders. Unity is free up to 100,000 USD profit and has no royalties, and it's feature rich, version 4.0 also added Linux support. It isn't CE3 caliber (The free CE3 SDK has royalties at 20%), but it's good enough. The community can also answer any question you could possibly have. Using an already existing engine instead of writing your own will save you a couple years at minimum. These are the big 3 for free engines.

    For textures: http://www.cgtextures.com/ They have thousand of textures for everything you can think of. Free for use in a commercial game. This will provide tons of textures for you to use, a free account is limited in the number it can download per day, but you can use them in a commercial game.
     
  19. beginner99

    beginner99 Platinum Member

    Joined:
    Jun 2, 2009
    Messages:
    2,991
    Likes Received:
    33
    exactly. Most time will be spent doing art-stuff and that is just a completely different thing than programming. And at least in my case I just was not exciting enough to invest much time (into Blender).

    It's similar in the web -> web designer. Even on simple web sites with no need to look very special or good I tend to "lose" much more time with design than the actual programming. But then I am no designer and it's more or less a trial and error approach (looks and positioning).
     
  20. Merad

    Merad Platinum Member

    Joined:
    May 31, 2010
    Messages:
    2,513
    Likes Received:
    4
    Oh lord. If that's really what you want, don't let me stop you... but with that approach you will never complete anything other than the simplest of games.

    Programming alone will probably take 2-3 years of constant effort to become reasonably proficient - at C++ itself, and all of the numerous systems involved in a full game. On top of that, how long do you think it's going to take to become proficient at modeling, texturing, audio creation, etc?

    There are lot of resources for free, models, textures, sounds, etc. You'd be a fool not to use them, particularly as temporary placeholders.
     
  21. Red Squirrel

    Red Squirrel Lifer

    Joined:
    May 24, 2003
    Messages:
    39,529
    Likes Received:
    932
    Oh of course if I can find something 100% free with no restrictions, I'll use that. I was more saying if the worse case scenario is I have to create everything then it will take a very long time. From quick searching there seems to be a lot out there so I might have some good luck.
     
  22. Markbnj

    Markbnj Elite Member <br>Moderator Emeritus
    Moderator

    Joined:
    Sep 16, 2005
    Messages:
    15,688
    Likes Received:
    8
    For what it's worth, check out "Indie Game: The Movie" on Netflix. Two guys can make a game and make a ton of money, but it takes a couple of years and every waking second of their lives.
     
  23. GSquadron

    GSquadron Member

    Joined:
    Sep 8, 2012
    Messages:
    172
    Likes Received:
    0
    Depends what you want to create with game programming
    Maybe it is one of the toughest things to do if you start from C++
    and becomes easier from the software you are going to use
     
  24. beginner99

    beginner99 Platinum Member

    Joined:
    Jun 2, 2009
    Messages:
    2,991
    Likes Received:
    33
    While ignoring the other 10'000 that went the same path and now live on farewell...you get my point. 99.99 % of people will be better off (money-wise) being an average corporate drone with and average pay.
     
  25. Jodell88

    Jodell88 Diamond Member

    Joined:
    Jan 29, 2007
    Messages:
    9,474
    Likes Received:
    28
    SFML
    Love2D
     
  26. trexpesto

    trexpesto Golden Member

    Joined:
    Jun 3, 2004
    Messages:
    1,237
    Likes Received:
    0
    do a mod bro