1. #1
    Stood in the Fire KBWarriors's Avatar
    10+ Year Old Account
    Join Date
    Feb 2012
    Location
    Azeroth
    Posts
    477

    How Do You Make PC Games?

    Something I've always wanted to do is make PC games but I've never pursued it. I'll be doing my own research as well, but how exactly do you go about doing this?

    I don't have prior development experience but I just want to know everything that's involved in the process of making a small scale game (what languages, programs, etc).

  2. #2
    Moderator chazus's Avatar
    10+ Year Old Account
    Join Date
    Nov 2011
    Location
    Las Vegas
    Posts
    17,222
    I've developed a few smaller games for an in-house studio, as well as done QA, code, and testing for a number of larger games as well.

    You need to be a bit more specific in your question. What languages do you know? Do you have a budget? What audience are you trying to reach?
    Gaming: Dual Intel Pentium III Coppermine @ 1400mhz + Blue Orb | Asus CUV266-D | GeForce 2 Ti + ZF700-Cu | 1024mb Crucial PC-133 | Whistler Build 2267
    Media: Dual Intel Drake Xeon @ 600mhz | Intel Marlinspike MS440GX | Matrox G440 | 1024mb Crucial PC-133 @ 166mhz | Windows 2000 Pro

    IT'S ALWAYS BEEN WANKERSHIM | Did you mean: Fhqwhgads
    "Three days on a tree. Hardly enough time for a prelude. When it came to visiting agony, the Romans were hobbyists." -Mab

  3. #3
    Stood in the Fire october breeze's Avatar
    10+ Year Old Account
    Join Date
    Feb 2012
    Location
    Australia, aka Outland
    Posts
    405
    You can start by the mother of all advanced programming languages: C
    You might become confused about C, C++, visual C and C#.net, but remember, after all, they are all C. I recommend you C#.net, as it is easier to follow.

    Then you might need to have look through DirectX and OpenGL, as the basic game components.

  4. #4
    Unity is a pretty popular game engine lots of indie games are being developed on these days. But yeah, it's based on C/C++. But the basic version is free, so yeah!

    Last I checked, their website was www.unity3d.com, but that seems to be down right now for some reason, so...idk what happened to it.

  5. #5
    Moderator chazus's Avatar
    10+ Year Old Account
    Join Date
    Nov 2011
    Location
    Las Vegas
    Posts
    17,222
    Quote Originally Posted by eschatological View Post
    Unity is a pretty popular game engine lots of indie games are being developed on these days.
    At the last Global Game Jam I went to, about a good third of the groups there were using the Unity engine. I don't have personal familiarity with it beyond that.
    Gaming: Dual Intel Pentium III Coppermine @ 1400mhz + Blue Orb | Asus CUV266-D | GeForce 2 Ti + ZF700-Cu | 1024mb Crucial PC-133 | Whistler Build 2267
    Media: Dual Intel Drake Xeon @ 600mhz | Intel Marlinspike MS440GX | Matrox G440 | 1024mb Crucial PC-133 @ 166mhz | Windows 2000 Pro

    IT'S ALWAYS BEEN WANKERSHIM | Did you mean: Fhqwhgads
    "Three days on a tree. Hardly enough time for a prelude. When it came to visiting agony, the Romans were hobbyists." -Mab

  6. #6
    I know this opinion, is in many circles very un-popular but damn it here I go. You have zero experience and you do not understand what it takes to create a game. So do not even touch C or C++. Instead go for the program Game Makes. It will give you an over view of the general steps needed to create a game . After that you can see where your strengths lie and go from there. Another good thing about Game maker is it's community, you will always find teams looking for people to make a game with and I would highly suggest doing that after you've put a few hundred hours into it(and you will need to have put that much time into it before your at their level btw).

    I see no reason for someone interested in game development to jump right into learning a programming language when there are tools like game maker and modding tools for other games available.

  7. #7
    I am Murloc! Ravenblade's Avatar
    15+ Year Old Account
    Join Date
    Jul 2008
    Location
    Germany - Thuringia
    Posts
    5,056
    Game makers are good for case studies and small-scale projects but if you want to be flexible and take matters in your own hands in the long term you just have to go and learn a programming language instead. Learning C/C++ can be a bit tough and requires patience but it really gives you the most flexibility, efficiency and performance in the end and it's very rewarding to have knowledge in it. Some people stick to C# but it is really not advisable for large scale due to resource and performance constraints but for anything below it might work. I know Endless Space is written in Mono which is essentially a cross-platform C# adaptation and the same game is also using the Unity engine for 3D. Suffice to say performance issues are one of the most reported issues for that game but there are others like Armada 2526 which runs fairly okayish. Or in short: C#-based games are a little bit like BASIC games of the old days.

    In regards to engines there's engines which come with an API and others who are similar to game makers like the UDK which is by the way free up until 50,000$ profit (last time I checked) but it also requires knowledge of graphical and motion techniques. Speaking of which if you want to start out 3D you won't get around stuff like modelling and stuff like texture mapping. Similar is true for sound but usually sound is far less complex than graphics.

    Also before you start making a game think about what you want, who you want to play this game and stay realistic in terms of scale. Don't start big if you have zero experience. In fact start small and never forget to conceptualize and to keep the KISS principle in mind.

    Gamasutra and Gamedev.net usually have some very interesting articles for newbies and advanced programmers.

    My experience with game programming dates back to early 2000s though when I was tasked to overhaul an online strategy game. I basically rewrote the ANSI C based engine in C/C++ and overhauled some mechanics there. The graphical part was minimal but still - if you had the choice between DX and OpenGL then for portability's sake go for OpenGL. Essentially after you learned to cope with OpenGL's intricacies you will probably be thankful to have gone through the arduous process of learning it.

    In general if you really want to do it the real way then expect at least a good year or two of learning and practising before you prototype your first game. Otherwise find people who know to do all the stuff you can't do but share your vision and just work as designer and manager behind
    WoW: Crowcloak (Druid) & Neesheya (Paladin) @ Sylvanas EU (/ˈkaZHo͞oəl/) | GW2: Siqqa (Asura Engineer) @ Piken Square EU
    If builders built houses the way programmers built programs,the first woodpecker to come along would destroy civilization. - Weinberg's 2nd law

    He seeks them here, he seeks them there, he seeks those lupins everywhere!


  8. #8
    Deleted
    C/C++ is not really a newbie language when it comes to coding, i would start with something like java or python and build of from there. There are books you can order from a lot of places that takes it from a really basic perspective. Doing something simple in 2d would be a lot better then messing with a advanced 3d game engine like unity for starters.

    http://stackoverflow.com/
    This website is great if you need somewhere to ask for help if you come accross isues you cant figure out.

  9. #9
    to make a good game yourself you really do need a bit of an artistic flair, for the most part the programming can be learned eventually over time, but for all the art work that goes into the game it all need to be designed.

    which is why most games are made by teams of ppl, so a handful do the art others do the sounds and the programmers wrap the whole thing together.

  10. #10
    Immortal SirRobin's Avatar
    10+ Year Old Account
    Join Date
    Mar 2012
    Location
    Counciltucky
    Posts
    7,145
    Quote Originally Posted by KBWarriors View Post
    How Do You Make PC Games?
    Anyone else have, "Well when a publisher and developer love each very much, or get really drunk." come to mind?
    Sir Robin, the Not-Quite-So-Brave-As-Sir-Lancelot.
    Who had nearly fought the Dragon of Angnor.
    Who had almost stood up to the vicious Chicken of Bristol.
    And who had personally wet himself, at the Battle of Badon Hill.

  11. #11
    This is how you make video games

    (Warframe) - Dragon & Typhoon-
    (Neverwinter) - Trickster Rogue & Guardian Fighter -

  12. #12
    Deleted
    Sugar spice and good DLC price!

    Do not forget to debug game engine!
    Last edited by mmocda5509483c; 2013-04-30 at 12:42 PM.

  13. #13
    Deleted
    Quote Originally Posted by eschatological View Post
    Unity is a pretty popular game engine lots of indie games are being developed on these days. But yeah, it's based on C/C++. But the basic version is free, so yeah!

    Last I checked, their website was www.unity3d.com, but that seems to be down right now for some reason, so...idk what happened to it.
    There was an excellent article in the latest PC Gamer (UK version) regarding Unity. It goes on to say that you actually don't really need to know much at all about programming. The way Unity is going means that you can basically purchase sections of code, models, sounds etc. and bolt them all together.

    Also, bear in mind that if you really don't want to learn programming you can always take a look at RPG Maker (other software is available).

    There are lots of different options open for you. If you really are interested then, yes, take a look into learning C/C++. If you have no programming experience whatsoever, then I would personally focus on something a little simpler, such as Python or VB.

    Good luck!

  14. #14
    There are MANY MANY ways to make PC games, like already said before, programming in C, JAVA and etc.

    But if you are a newbie you should totally go with an engine, you dont really need experience with them and you can achiev good results really fast.

    Gamemaker: Its a good engine, very easy to learn, its problably the best place to make your first game, you can do a very small one in like 1 day and send it to your friends, it will export as an .exe and dont need coding.

    Stencyl: Stencyl is a very powerfull engine, you can make professional flash games (like the ones in kongregate or newgrounds) and even export to iPhone, its more complicated than Gamemaker buts its worth it, dont need coding, it have its own way to do the programming stuff, ands its very easy and intuitive, also good tutorial over the web and in the official site.

    Unity 3D: A more advanced engine, but if done right, can make great PC games (both 3d and 2d), you will need to code and model and it will not be easy for a starter, but its a professional tool. You can see many games that are in sale on Steam that were made with Unity.

    But remember one thing: Making games is HARD, at least if you want good results and even earn some money, specially if you want to do this alone, for small games its pretty much resumed on Game Design, Music, Art and Programming, you can do all alone, but it will take time and a good amount of work, but it's all woth it

    You can also program in Flash Professional, its not hard but you will need to learn the language (ActionScript) and do a lot of coding.

    In my experience you should just pick a engine and make a very small game as your first one, finish it and send to friends to see them play your creation, dont expect nothing good for your first time, but you will get better the more you produce.

    Good luck and have fun ~

  15. #15
    Merely a Setback Adam Jensen's Avatar
    10+ Year Old Account
    Join Date
    Aug 2010
    Location
    Sarif Industries, Detroit
    Posts
    29,063
    Generally, in my experience, I used a suite of programs. I toyed with a suite known as 3d Gamestudio several years ago. There was a level designer, a model designer, a script editor (it used a language called C-Lite but could also use C++.) My interest never grew into a fulltime hobby and I haven't toyed with it for years but what I do remember has stuck with me:

    Making a simple game is A LOT of work.

    I made a very simple game, or so I thought. Never finished it because I couldn't figure out a work around a bug in the code, but the premise was simple. There was a fortress on one end of a valley (done in 3D modeling.) Hordes of various stick figures would attack your fortress. You had a view from a hill and a variety of weapons (and limited ammo except a pistol with infinite ammo) and you had to shoot the stick figures (and eventually tanks) before they got within range of your fortress to shoot at it. You could upgrade the fortress to have snipers, rocket launchers, etc, after every level. And you could buy ammo for various weapons, including a nuke that could clear the field.

    It worked, at the lower levels, but when there were more and more enemies, the behavior was erratic, models would fly across the screen and didn't behave properly. But I learned a lot from the experience. It was a lot of work though, creating rudimentary AI (consisted of "move forward, attack at X distance,") programming different types of enemies, programming different types of helpers, working on a GUI for the game's store and gameplay interface, modeling the necessary models, building the level.

    First of all, you either need a team, or you need to be good at both model design, graphic design and coding. It is a lot of work to deal with all three aspects at once.

    You have to understand that coding is babysteps. You take walking for granted, but when you code a model to walk, you have to deliberately tell it to play its walking animation, to move in a direction at a certain speed and to detect collisions. Fortunately with Gamestudio, the collision detection is built into the scripting so that's one thing I didn't have to learn.

    Modeling requires that you know the techniques required to manipulate vertices and polygons to get the shapes and figures you need. You also have to understand that more polygons = more required processing power = fewer computers can handle your game. So for an RTS for example, you wouldn't want an excessively high polygon count in models for soldiers the player will build hundreds of, but for an FPS you might want high polygon models for characters you'll see up close. You'll also have to understand vertex animation or bone rigging or both. You'll have to understand how to "unwrap" a model onto a texture in order to skin it. (and understand the difference between a model, a texture and a skin!!!)

    Level design was the most fun aspect of it, I thought. If I were a full time game designer, this is all I'd care about doing and let the other guys deal with the programming. Building interesting zones and populating it with gadgets, picking out textures for the walls that fits the game's theme (is it SciFi? Medieval? Contemporary? Alien?) It's fun but Gamestudio did not have a good editor. 3DS Max can handle this I believe just as well as it can handle a model.

    The scripts all put it together and depending on what you use for an engine, it might be C++, C# or their own language (though suites with their own language are typically not very professional, or they might be limited in what they can do, but they can be helpful to beginners.)

    In short, there's a lot of work for even a simple game.

    Oh and I never wrapped my head around more complex AI and pathfinding, that stuff's complex!
    Putin khuliyo

  16. #16
    Old God -aiko-'s Avatar
    10+ Year Old Account
    Join Date
    May 2010
    Location
    The House of All Worlds
    Posts
    10,918
    Quote Originally Posted by eschatological View Post
    Unity is a pretty popular game engine lots of indie games are being developed on these days. But yeah, it's based on C/C++. But the basic version is free, so yeah!

    Last I checked, their website was www.unity3d.com, but that seems to be down right now for some reason, so...idk what happened to it.
    Unity is a great engine to play around in. It supports all of the major languages so if you have any programming knowledge it's pretty easy to get started. There are a lot of great youtube tutorials and the overall community is great at sharing resources and helping out. Another really cool thing to know is that Unity is able to take advantage of the Oculus Rift. It's as easy as dragging a controller prefab into the scene (the only downside being it requires a pro license). Definitely check it out if you are serious about starting a PC game.

    If you are completely new and just want to get some experience in, the RPG Maker series is pretty good for beginners. The most recent releases (RPG Maker XP and RPG Maker VX) both support the Ruby programming language, so they can do some pretty powerful things. If you have no programming experience at all, the "events" system in the RPG Maker series lets you do basic to advanced scripting with a very easy to use and easy to understand interface (clicking on options, basically, letting you avoid typing the code out yourself). The engines are meant for 2D graphics, so it makes for a really easy way to create a gaming world with simple assets. There have been some pretty popular RPG Maker games, too, like To the Moon so it's not like your experience with RPG Maker would go to waste.

Posting Permissions

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