The new forums will be named Coin Return (based on the most recent vote)! You can check on the status and timeline of the transition to the new forums here.
The Guiding Principles and New Rules document is now in effect.

Game Programing Questions

koconutmonkeykoconutmonkey Registered User regular
edited June 2008 in Help / Advice Forum
Hello all. My buddy and I have come up with a game concept we want to play around with. I have a few questions for those that have gone down this route. Before that, I have done some basic programming while getting my AA degree in networking, but nothing major beyond that.

What language/ program do most amateurs use to make homebrew games? Target would be PC.

Is it possible or feasible to license older game engines, ie Quake II.

We know this will take forever in a day, but it is a project we have been talking about for years and its time to dig in. Thanks

Time to roll the dice.
koconutmonkey on

Posts

  • Monolithic_DomeMonolithic_Dome Registered User regular
    edited June 2008
    Good news, The quake 2 engine is Free and Open source.

    I assume since you are interested in the quake 2 engine that you are looking to make a 3D game. Unless you feel like coding a 3D engine from scratch you are probably better served by making a "Mod" as opposed to a "new game" (the distinction between those two is arbitrary, but I'm using it here to mean not making your own engine).

    Basically you are going to start with a game, say quake 2, and replace all of the "data" of the game (this includes models, levels, textures, sounds, scripts for what happens when, etc) with your own "data." I don't know jack about actually doing any of that, so I can't really help you there.

    There are lots of different ways to make games, though. You've got pygame, flash, various free 3D engines (torque is another one). To answer your question we really need a bit more detail, including:

    2D or 3D?
    Some sort of information as to "genre"?
    single or multiplayer?

    Monolithic_Dome on
    [SIGPIC][/SIGPIC]
  • amateurhouramateurhour One day I'll be professionalhour The woods somewhere in TennesseeRegistered User regular
    edited June 2008
    From what I hear it's pretty easy to get into development on the 360 arcade platform, and it would be a good way to get some quick notoriety if your game is good.

    I think the dev kit is like a grand, and something like $50 a month to license it afterwards.

    or something like that.

    if you're going to code if from scratch, python does some good stuff.

    amateurhour on
    are YOU on the beer list?
  • DocDoc Registered User, ClubPA regular
    edited June 2008
    I'll second the python, if only to give you some good software design experience. It lets you easily complete an implementation once you have a solid design planned out. Hell, you could even just prototype it in Python, then finalize it in some other language later. Point of interest: EVE Online uses Python (a special stackless version, anyway) for just about everything but the core graphics engine.

    Know this, though: you should be spending at least half of your "development" time on coming up with software architecture on paper or on a whiteboard. Then maybe 30-40% on implementation, then 10-20% on testing and QA. Don't just sit down and write code, that's how you get frustrated.

    Doc on
  • koconutmonkeykoconutmonkey Registered User regular
    edited June 2008
    Cool great ideas. I think that we want to be able to market it, so good stuff. We might try the marketplace idea for parts of the game, as it will have multiple features to it. We dont really want to let too much out of the bag yet, as we are excited about the idea. Thanks for the info guys.

    koconutmonkey on
    Time to roll the dice.
  • koconutmonkeykoconutmonkey Registered User regular
    edited June 2008
    Doc wrote: »
    I'll second the python, if only to give you some good software design experience. It lets you easily complete an implementation once you have a solid design planned out. Hell, you could even just prototype it in Python, then finalize it in some other language later. Point of interest: EVE Online uses Python (a special stackless version, anyway) for just about everything but the core graphics engine.

    Know this, though: you should be spending at least half of your "development" time on coming up with software architecture on paper or on a whiteboard. Then maybe 30-40% on implementation, then 10-20% on testing and QA. Don't just sit down and write code, that's how you get frustrated.


    Excellent thanks for the tip!

    koconutmonkey on
    Time to roll the dice.
  • LewishamLewisham Registered User regular
    edited June 2008
    Depends what you're trying to do, but XNA I think is probably the way to go.

    Pythin with PyGame is a fine choice too.

    Lewisham on
  • aperlscriptaperlscript Registered User regular
    edited June 2008
    Holy linkage, Batman.

    I 2nd the XNA idea. Grab Visual C# Express here, just grab what you need don't install all the gigs of extra shit. Then grab the XNA libraries here.

    There are some games you can compile and run, that run the gamut from simple 2d to full-on 3d racing (!), which you can grab here. There's a great starter walkthrough for a toy 2d sprite game on MSDN.

    I love ripping on Microsoft so it pains me to say this, but they actually have something cool with XNA. Being able to deploy 1 codebase on Windows, Zune, and Xbox360 is pretty amazing.

    aperlscript on
  • .kbf?.kbf? Registered User regular
    edited June 2008
    I have done some basic programming

    How basic?

    Video games are really the pinnacle of complexity when it comes to programming. If you've never attempted to make a game before(especially a 3d game which requires at least a basic understanding of modeling and good level design not to mention the programming)

    Personally I would suggest starting out with something simple (I.E. Pong) complete with a menu and a good looking design to sharpen your teeth on.

    Also if you decide to go down the mod route there's always the Source SDK.

    .kbf? on
  • koconutmonkeykoconutmonkey Registered User regular
    edited June 2008
    Great links and ideas. My coding experience has been very limited, mostly in VB6 from a few years ago. Yes I totally expect this project to take years. If the programming doesnt work out for me, then I have a few friends I can bring into the fold. Its just one of those things I want to try in life.

    Thanks for the links and advice so far.

    koconutmonkey on
    Time to roll the dice.
  • GihgehlsGihgehls Registered User regular
    edited June 2008
    You're better off either not working on your idea right now or breaking your idea into smaller pieces. Basically, you need to be able to make a pong demo before you can make a big 3d game.

    Gihgehls on
    PA-gihgehls-sig.jpg
  • WezoinWezoin Registered User regular
    edited June 2008
    When you get to the 3d stage though, I'd highly recommend Torque (www.garagegames.com) for only $100 you get the same engine used for Tribes 2, and a huge community supporting it to make it easier. You get the full source code (C++) and therefore can make any changes you need. It's got alot of easy to use tools as well.

    Another benefit to Torque is the Torque Shader Engine, I believe its around $500, that you can add on to pretty up your game and make it look really close to commercial game quality graphics. Although, I'd get the game functioning in vanilla Torque first to test out ideas and balance it all well.

    Also, listen to what everyone is saying about starting out small. Make your pong/breakout/whatever other simple game you can think of first. And with your idea, take a look at it and figure out how you could make a demo version, because thats really what you should be aiming for as your game (For instance, maybe you have a game with 20 or 30 weapons, make the game with 2 or 3, just shrink the work down, and add more later. It'll make it less likely for you to say "this is too hard, i'm giving up".) I give this advice as a compulsive over-aimer and complete flunkout. I have been part of many indy game projects before, everytime we have lost interest because we bit off more than we can chew.

    Wezoin on
  • JasconiusJasconius sword criminal mad onlineRegistered User regular
    edited June 2008
    I think XNA would probably be pretty hard for starting out, it's not designed for novice programmers.

    I think the Python idea is the best one I've heard, even for just prototyping the code out.

    Python is a very easy fun language and there's lots of cool libraries out there for it.

    If it's good enough for NASA and Google, it's good enough for you.

    Jasconius on
    this is a discord of mostly PA people interested in fighting games: https://discord.gg/DZWa97d5rz

    we also talk about other random shit and clown upon each other
  • zilozilo Registered User regular
    edited June 2008
    Also you should probably expect to spend the next three to five years learning what you need to know about programming to get started, if you keep at it and don't get frustrated and take huge breaks.

    I've seen many a fledgling game programmer get broken on the rocks of software engineering; best of luck, it's not easy :)

    zilo on
  • mspencermspencer PAX [ENFORCER] Council Bluffs, IARegistered User regular
    edited June 2008
    There are many who view game development as new product development (NPD) and measure a game product's value only by its market success or profit potential. Does this include you? Are you primarily interested in making money?

    There are also many who view game development as artistic expression, and want to create a game to share their art with the world, spread joy and entertain people, become "Internet famous" and increase their chances at breaking into the industry proper, or other reasons not directly related to creating and selling a product for money. Is this you?

    No matter which way you go, you need a game design. Game designs are VERY HARD to do well. Even if you become a total game design nerd like myself and read articles and books about game design, the things you learn will never make you a great and successful game designer. Sure you'll be able to talk intelligently about games and think deep thoughts about what a particular game does right or wrong, but all of that gets you no closer to being successful at the creative process of coming up with a new game design that people will enjoy playing so much that they give you money.

    Fear not though: you can still experiment with a game design on a low budget. I constantly recommend people try to implement a scaled-down version of your game idea in board-game form.

    1) make some flexible game pieces. Take some index cards, leave some whole and cut some into various smaller sizes, and take the whole mess to a copy shop and pay a few dollars to have them laminated. Also buy some fine-tip dry erase markers. Bingo, all purpose game pieces!
    2) Find The Fun! Strip your design down to the core, essential decisions and gameplay mechanics that still capture the functional 'soul' of your innovative design without requiring huge amounts of bookkeeping. Just like an author writing a book, you will create too much and then start trimming and killing and cutting until you have a tight, functional core of gameplay.
    3) Playtest! Don't just imagine how your game mechanics will likely work: set up a game board and really play it, playing the part of various types of players, smart, stupid, etc. What does success feel like, and what does failure feel like? Invite friends over and "DM" this game for them. Make sure they understand this is intended to be a video game, so they should please ignore the slow pacing.
    4) Iterate! If your first attempt is already super-fun, you're amazingly lucky or your standards are too low. Refine your design and repeat until you've found consistent, repeatable fun for your players.
    5) Create the simplest possible implementation that still preserves the fun you found. 3D is sexy and first person shooters are popular, but if your game plays just as well top-down with 2D sprites then you need to make a top-down 2D game. Tech and graphical enhancements for the sake of being "cutting edge" are the domain of seven figure budgets and large teams, and that is not you.

    I know you asked programming questions but even in software development, requirements elicitation is at least as important as good implementation. Sure it's nice to pick a toolkit or platform and start writing software toys, to build your skills, but if you're really excited about making a game then I recommend you take some time to find a fun design, figure out what kind of tech is REALLY required to achieve that design and focus your efforts there.

    Like many previous respondents I'm also pretty technical -- currently pursuing an MS in Comp Sci -- so maybe after a month or two when you're sure you know what your game design really requires, we'll be glad to bury you in helpful but contradictory advice about how to build your game.

    mspencer on
    MEMBER OF THE PARANOIA GM GUILD
    XBL Michael Spencer || Wii 6007 6812 1605 7315 || PSN MichaelSpencerJr || Steam Michael_Spencer || Ham NOØK
    QRZ || My last known GPS coordinates: FindU or APRS.fi (Car antenna feed line busted -- no ham radio for me X__X )
  • koconutmonkeykoconutmonkey Registered User regular
    edited June 2008
    Wezoin wrote: »
    When you get to the 3d stage though, I'd highly recommend Torque (www.garagegames.com) for only $100 you get the same engine used for Tribes 2, and a huge community supporting it to make it easier. You get the full source code (C++) and therefore can make any changes you need. It's got alot of easy to use tools as well.

    Another benefit to Torque is the Torque Shader Engine, I believe its around $500, that you can add on to pretty up your game and make it look really close to commercial game quality graphics. Although, I'd get the game functioning in vanilla Torque first to test out ideas and balance it all well.

    Also, listen to what everyone is saying about starting out small. Make your pong/breakout/whatever other simple game you can think of first. And with your idea, take a look at it and figure out how you could make a demo version, because thats really what you should be aiming for as your game (For instance, maybe you have a game with 20 or 30 weapons, make the game with 2 or 3, just shrink the work down, and add more later. It'll make it less likely for you to say "this is too hard, i'm giving up".) I give this advice as a compulsive over-aimer and complete flunkout. I have been part of many indy game projects before, everytime we have lost interest because we bit off more than we can chew.


    Yes with out a doubt we will start out with small chunks. We will probably end up just being the idea guys and find some other coders, we just want to see if we can do it really. Our first "big" project will probably be just a xbox live style game. That is if Xbox live still exists in 5 years, lol.


    To mspenser: None of this is about money. Me and my buddy have been life long gamers and we just feel that it would be cool to make a game. We also have not seen this concept yet, and we love the genre. We are looking at this as a culmination of our geekdom. We have spent years discussing what we like in a game, so I think we are setting out to do just this. If we sell one copy of the game, cool, but its more about a game we would enjoy.

    Fantastic idea about the board game. That will really illustrate the concepts we want to get down. Man this is going to be fun!

    koconutmonkey on
    Time to roll the dice.
  • DrFrylockDrFrylock Registered User regular
    edited June 2008
    First, my usual advice:

    http://forums.penny-arcade.com/showpost.php?p=2554801&postcount=26
    Yes with out a doubt we will start out with small chunks. We will probably end up just being the idea guys and find some other coders, we just want to see if we can do it really. Our first "big" project will probably be just a xbox live style game. That is if Xbox live still exists in 5 years, lol.

    Now I don't want to get discouraging here, but I've seen variants on this theme many, many times before. Some small group of gamers decides that they have an idea for gaming so revolutionary and so compelling that it will be able to attract coding talent just from the sheer awesomeness of the idea. This basically never happens. Ideas are easy, execution is what's hard. And coding is a big part of that execution (art is the other big part).

    The bad news for you is that any coder that's even remotely competent is actually in relatively high demand in this market, since everything now runs on software. Yes yes I know that coding jobs are all being outsourced to India, but believe me I don't know too many top-notch programmers who are starving. In fact, I don't know too many top-notch programmers at all - they're quite a scarce resource. As I noted in my above-linked post, programming is programming, in a lot of ways. It's about the same amount of fun programming a business app as it is programming a game. So, if you can make $65,000 a year programming someone's business app or $0 programming someone's game idea, it's sort of a no-brainer.

    If by "find some other coders" you really meant "find some coders and pay them $65,000 a year to implement our idea" then that's wonderful. But if you're looking for free slave labor, you're going to be disappointed. Also, "a share of the eventual profits" or "experience" are not compelling alternative to "cash." Money talks.
    To mspenser: None of this is about money. Me and my buddy have been life long gamers and we just feel that it would be cool to make a game. We also have not seen this concept yet, and we love the genre. We are looking at this as a culmination of our geekdom. We have spent years discussing what we like in a game, so I think we are setting out to do just this. If we sell one copy of the game, cool, but its more about a game we would enjoy.

    Hrm...

    This part of your post also does not inspire confidence that you have perspective on the situation. Let's go back to the old car analogy. Making a full-scale game is about the same amount of effort as constructing a car from scratch. Even if you can buy some of the individual parts, you're still going to have to shape metal, cut and sew leather, fabricate shifter knobs, etc. I'm really not kidding about this.

    So, you've come to H/A saying "I want to build a car from scratch with zero experience, what should I do?" And people here are saying "hold your horses, cowboy. If you have zero experience, why don't you try making an RC car first and see how that goes."

    But the posts you're writing say: "gotcha, well, we'll start small and we'll build a motorcycle instead." And, as American Chopper shows, two guys with 15 years of experience each, a shop full of very expensive tools, and about 6 months of concerted effort can indeed make a motorcycle. However, you've only got one of these three ingredients - the time.

    Now, OK, maybe you're just using this idea as an impetus to learn new things. That's wonderful and noble. If you accept that at the end of it, you're probably going to end up with some mangled pieces of metal and leather on the garage floor that don't look like anything, but you've learned more about metalworking and leathercraft and that was the goal all along, wonderful. However, as zilo noted, this is a hard path: it's frustrating to put in a lot of effort on something with little to no output and not get discouraged. This is why small (we're talking teeny tiny) goals are critical, to establish a forward path of incremental results.

    So, if you're serious, here's what you want to do:

    First things first, post your concept on this thread. We promise to be nice. Get over the thought that someone is going to steal your idea. Again, ideas are cheap, execution is hard. Here's a wonderful post explaining why it's idiotic to be secretive:

    http://lostgarden.com/2005/08/why-you-should-share-your-game-designs.html

    Second, describe some teeny-tiny bite-sized tasks you think you could do that would help you get a few baby steps closer to this goal. We can also help with this by suggesting a couple things that might actually be doable at your level, but only after you describe your concept.

    Third, do one. Then you will have taken your first steps into a larger world.

    DrFrylock on
  • koconutmonkeykoconutmonkey Registered User regular
    edited June 2008
    Wow pretty harsh, but true words there. The point of this thread was to get some ideas on where to start. I didnt want to start down the path of the wrong coding language. We are just in the idea phase of a very long process, and we understand this. We are setting out to do a project that we want to do and if it ends up like slag a few times, then that is the process of learning.

    Thanks for the links, and I will send if off to my friend. He is the one who started out with the idea, so I have left it up to him to discuss the details. It is an idea that sounds like fun to us and I cant recall playing one. I will work on getting the clearance to discuss it, as that article really swayed me. Thanks again for all the advice.

    One other point here, we are doing this as a hobby, not as a potential to get a job in the business or make money. I am totally expecting to win the lottery with tickets I dont purchase before I design a hit video game.

    koconutmonkey on
    Time to roll the dice.
  • XerciusXercius Registered User new member
    edited June 2008
    Hi, I am the other guy he was talking about. When he mentioned other people helping us code, it would be other people we know, this is going to have a ridiculously low budget and we have no real delusions of grandeur (other than being fantastically excited about our idea).

    I'll start off by saying I can't build a car. If we continue with that analogy then my experience with Game Programming amounts to my experience with changing the tire of said car. Not Much.

    I concur with my friend, this is hardly about making money. Though the idea that we could make a little money if we do decide to put a whole hell of a lot of work into this is nice. We wouldn't want to make it expensive because if we get it to a point where we think people would enjoy it, it would be more about seeing what they think and getting others to play it with us.

    I want to build this game because to my knowledge it does not exist and I want to play it. I want to play it right now and can't. I would say there are definitly games very similar, very very similar, but no game that I know of does what we want our game to do.

    I like the Torque idea, our game is a combination of both 2D and 3D game play and Tribes 2 is the first game I thought of when trying to think of older 3D engines we might be able to use (dont take that as a game comparison, far from it).

    To be honest, however, the concepts and ideas have grown to the point where the 2D experience could be a full game and the ideas we had for the 3D portion of the game make it feel very gimmicky to us, so we could build it without the 3D components all together and it would be a complete game (at least in a indie/delusions of grandeur sort of way). The gimmick is what sells this idea to us though, and we would more than likely develop them separately to garner experiences to use when designing the final vision.

    Im not prepared to share the concept yet, let me gather everything my friend and I have talked about and present it to you as a whole idea. At first I was afraid someone would steal it (I will read the Lost Garden article after this) but Im not looking to get rich from this or anything and now that I am thinking about it go ahead and steal it once I've posted it, I still want to have a crack at making this game but if someone else gets to it first just let me PLAY IT! :)

    Xercius on
  • WezoinWezoin Registered User regular
    edited June 2008
    When you say that the 2D experience could be a full game, I'd suggest that you at least make that your starting point. Ignore 3D all together if you can make the game work in 2D. Then you can 1) see if it is fun, 2) reduce the work load a ton, and 3) see if its worth adding the 3D elements.

    When you say that the 2D experience could be a full game it really makes it sound like this is a HUGE game you're planning to make, and probably not likely to be finished unless you break it down into elements. Set goals for yourself, and don't pull the common diet problem of "Oops I ate a slice of pizza now im going to eat a cake because its ruined".

    Wezoin on
  • LoneIgadzraLoneIgadzra Registered User regular
    edited June 2008
    If you've never done any game programming at all, thinking of a big project is a laugh.

    Make pong (or some other simple game) first.

    Use Python/pygame.

    LoneIgadzra on
  • Smug DucklingSmug Duckling Registered User regular
    edited June 2008
    Tetris is another good one to try.

    Smug Duckling on
    smugduckling,pc,days.png
  • WezoinWezoin Registered User regular
    edited June 2008
    Yeah, from a programming standpoint, it'd probably be easiest to do Tetris first, then Pong (because you need more fluid motion of the ball than you do of the bricks in tetris) then move on to a side-scroller type thing (think one or two levels of Mario) and then you'd probably be ready for your own 2D game. If you wanted to move into 3d, I'd then say start playing around with Torque (after you've done all the 2D stuff)

    Wezoin on
Sign In or Register to comment.