Go Back   AnandTech Forums > Software > Programming

Forums
· Hardware and Technology
· CPUs and Overclocking
· Motherboards
· Video Cards and Graphics
· Memory and Storage
· Power Supplies
· Cases & Cooling
· SFF, Notebooks, Pre-Built/Barebones PCs
· Networking
· Peripherals
· General Hardware
· Highly Technical
· Computer Help
· Home Theater PCs
· Consumer Electronics
· Digital and Video Cameras
· Mobile Devices & Gadgets
· Audio/Video & Home Theater
· Software
· Software for Windows
· All Things Apple
· *nix Software
· Operating Systems
· Programming
· PC Gaming
· Console Gaming
· Distributed Computing
· Security
· Social
· Off Topic
· Politics and News
· Discussion Club
· Love and Relationships
· The Garage
· Health and Fitness
· Merchandise and Shopping
· For Sale/Trade
· Hot Deals with Free Stuff/Contests
· Black Friday 2014
· Forum Issues
· Technical Forum Issues
· Personal Forum Issues
· Suggestion Box
· Moderator Resources
· Moderator Discussions
   

Reply
 
Thread Tools
Old 12-17-2012, 06:58 PM   #1
Red Squirrel
Lifer
 
Red Squirrel's Avatar
 
Join Date: May 2003
Location: Canada
Posts: 27,816
Default I'd like to get into game programming, where to start?

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.
__________________
~Red Squirrel~
486dx2 @66Mhz turbo, 8MB ram, 512MB HDD, sound blaster 16 + 2x cdrom, Trident 1MB video card @ 640*480, 56k high speed modem.
Red Squirrel is offline   Reply With Quote
Old 12-17-2012, 07:50 PM   #2
TecHNooB
Diamond Member
 
TecHNooB's Avatar
 
Join Date: Sep 2005
Posts: 7,445
Default

try the unreal engine? and spaghetti code is ok the first time around
__________________
Sushi is good

Quote:
Originally Posted by brianmanahan View Post
smoblikat you fool, you fell victim to one of the classic blunders! the most famous of which is "never post your actual pay in an ATOT brag thread", but only slightly less well known is this: "never post your actual pay when alkemyst is online!!" hahahahaha
TecHNooB is offline   Reply With Quote
Old 12-17-2012, 08:26 PM   #3
Red Squirrel
Lifer
 
Red Squirrel's Avatar
 
Join Date: May 2003
Location: Canada
Posts: 27,816
Default

Quote:
Originally Posted by TecHNooB View Post
try the unreal engine? and spaghetti code is ok the first time around
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.
__________________
~Red Squirrel~
486dx2 @66Mhz turbo, 8MB ram, 512MB HDD, sound blaster 16 + 2x cdrom, Trident 1MB video card @ 640*480, 56k high speed modem.
Red Squirrel is offline   Reply With Quote
Old 12-17-2012, 10:08 PM   #4
lxskllr
Lifer
 
lxskllr's Avatar
 
Join Date: Nov 2004
Location: Somewhere over the rainbow
Posts: 38,362
Default

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/
lxskllr is offline   Reply With Quote
Old 12-18-2012, 07:16 AM   #5
Bulldog13
Golden Member
 
Bulldog13's Avatar
 
Join Date: Jul 2002
Posts: 1,609
Default

check out http://unity3d.com/ game engine
__________________
One hour of life, crowded to the full with glorious action, and filled with noble risks, is worth whole years of those mean observances of paltry decorum, in which men steal through existence, like sluggish waters through a marsh, without either honor or observation. - Sir Walter Scott

C# Programming Thoughts
Bulldog13 is offline   Reply With Quote
Old 12-18-2012, 09:31 AM   #6
beginner99
Platinum Member
 
Join Date: Jun 2009
Posts: 2,194
Default

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-hel...s/game-engine/

http://blenderartists.org/forum/show...iplayer-Add-on
beginner99 is offline   Reply With Quote
Old 12-18-2012, 05:02 PM   #7
lxskllr
Lifer
 
lxskllr's Avatar
 
Join Date: Nov 2004
Location: Somewhere over the rainbow
Posts: 38,362
Default

Quote:
Originally Posted by beginner99 View Post
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).
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_o...ce_video_games
lxskllr is offline   Reply With Quote
Old 12-18-2012, 10:41 PM   #8
Red Squirrel
Lifer
 
Red Squirrel's Avatar
 
Join Date: May 2003
Location: Canada
Posts: 27,816
Default

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.
__________________
~Red Squirrel~
486dx2 @66Mhz turbo, 8MB ram, 512MB HDD, sound blaster 16 + 2x cdrom, Trident 1MB video card @ 640*480, 56k high speed modem.
Red Squirrel is offline   Reply With Quote
Old 12-19-2012, 06:06 PM   #9
Merad
Golden Member
 
Join Date: May 2010
Location: NC USA
Posts: 1,924
Default

Quote:
I've been pondering on making my own MMO game from scratch, for Linux and Windows.
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.

Quote:
There's also Ogre 3D. Might look into that, actually. Anyone have experience with it?
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.
Merad is offline   Reply With Quote
Old 12-19-2012, 06:17 PM   #10
Markbnj
Moderator
Programming
 
Markbnj's Avatar
 
Join Date: Sep 2005
Posts: 12,826
Default

Quote:
Originally Posted by Merad View Post
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.
You could probably aspire to make a MUD, but yeah a full-blown graphical multi-user world would be a steep hill to climb.
__________________
Everytime I try to tell you, the words just come out wrong

**
Some meaningless scribbling of no account

The 4th Realm

Arts and Letters Daily - Get some culture
Markbnj is online now   Reply With Quote
Old 12-19-2012, 06:29 PM   #11
Red Squirrel
Lifer
 
Red Squirrel's Avatar
 
Join Date: May 2003
Location: Canada
Posts: 27,816
Default

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. 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. 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.
__________________
~Red Squirrel~
486dx2 @66Mhz turbo, 8MB ram, 512MB HDD, sound blaster 16 + 2x cdrom, Trident 1MB video card @ 640*480, 56k high speed modem.
Red Squirrel is offline   Reply With Quote
Old 12-20-2012, 03:09 PM   #12
JamesV
Golden Member
 
JamesV's Avatar
 
Join Date: Jul 2011
Location: Cleveland, OH
Posts: 1,742
Default

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?).
JamesV is offline   Reply With Quote
Old 12-20-2012, 05:39 PM   #13
Merad
Golden Member
 
Join Date: May 2010
Location: NC USA
Posts: 1,924
Default

Quote:
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.
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.
Merad is offline   Reply With Quote
Old 12-21-2012, 09:36 PM   #14
Red Squirrel
Lifer
 
Red Squirrel's Avatar
 
Join Date: May 2003
Location: Canada
Posts: 27,816
Default

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. 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.
__________________
~Red Squirrel~
486dx2 @66Mhz turbo, 8MB ram, 512MB HDD, sound blaster 16 + 2x cdrom, Trident 1MB video card @ 640*480, 56k high speed modem.
Red Squirrel is offline   Reply With Quote
Old 12-21-2012, 09:52 PM   #15
exdeath
Lifer
 
exdeath's Avatar
 
Join Date: Jan 2004
Posts: 13,473
Default

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

Last edited by exdeath; 12-21-2012 at 10:00 PM.
exdeath is offline   Reply With Quote
Old 12-21-2012, 10:25 PM   #16
Red Squirrel
Lifer
 
Red Squirrel's Avatar
 
Join Date: May 2003
Location: Canada
Posts: 27,816
Default

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.
__________________
~Red Squirrel~
486dx2 @66Mhz turbo, 8MB ram, 512MB HDD, sound blaster 16 + 2x cdrom, Trident 1MB video card @ 640*480, 56k high speed modem.
Red Squirrel is offline   Reply With Quote
Old 12-22-2012, 12:46 AM   #17
0___________0
Senior Member
 
Join Date: May 2012
Posts: 284
Default

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.
0___________0 is offline   Reply With Quote
Old 12-22-2012, 02:11 AM   #18
beginner99
Platinum Member
 
Join Date: Jun 2009
Posts: 2,194
Default

Quote:
Originally Posted by exdeath View Post
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
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).
beginner99 is offline   Reply With Quote
Old 12-22-2012, 11:39 AM   #19
Merad
Golden Member
 
Join Date: May 2010
Location: NC USA
Posts: 1,924
Default

Quote:
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.
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.
Merad is offline   Reply With Quote
Old 12-22-2012, 11:51 AM   #20
Red Squirrel
Lifer
 
Red Squirrel's Avatar
 
Join Date: May 2003
Location: Canada
Posts: 27,816
Default

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.
__________________
~Red Squirrel~
486dx2 @66Mhz turbo, 8MB ram, 512MB HDD, sound blaster 16 + 2x cdrom, Trident 1MB video card @ 640*480, 56k high speed modem.
Red Squirrel is offline   Reply With Quote
Old 12-22-2012, 12:26 PM   #21
Markbnj
Moderator
Programming
 
Markbnj's Avatar
 
Join Date: Sep 2005
Posts: 12,826
Default

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.
__________________
Everytime I try to tell you, the words just come out wrong

**
Some meaningless scribbling of no account

The 4th Realm

Arts and Letters Daily - Get some culture
Markbnj is online now   Reply With Quote
Old 12-22-2012, 01:39 PM   #22
GSquadron
Member
 
GSquadron's Avatar
 
Join Date: Sep 2012
Posts: 170
Default

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
GSquadron is offline   Reply With Quote
Old 12-22-2012, 02:42 PM   #23
beginner99
Platinum Member
 
Join Date: Jun 2009
Posts: 2,194
Default

Quote:
Originally Posted by Markbnj View Post
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.
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.
beginner99 is offline   Reply With Quote
Old 12-26-2012, 09:12 PM   #24
Jodell88
Diamond Member
 
Jodell88's Avatar
 
Join Date: Jan 2007
Location: Sweet T&T
Posts: 6,919
Default

SFML
Love2D
__________________
“Defend the weak, protect both young and old, never desert your friends. Give justice to all, be fearless in battle and always ready to defend the right." - The law of Badger Lords
Jodell88 is online now   Reply With Quote
Old 01-12-2013, 03:02 PM   #25
trexpesto
Golden Member
 
Join Date: Jun 2004
Posts: 1,237
Default

do a mod bro
trexpesto is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 12:49 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.