Slashdot Mirror


Ask Slashdot: How To Find Expertise For Amateur Game Development?

New submitter es330td writes "I'd like to write a program that takes the old cannon game to another level, but instead of the path being a simple parabolic arc, the projectile will move through a field of objects exerting gravitational attraction (or repulsion) and the player will have to adjust velocity and angle to find the path through the space between launch point and the target.In an ideal world, this would end up as one of these Flash based web playable games, as that would force me to fully flesh it out, debug and complete the app. I doubt this will ever be commercial, so hiring somebody doesn't make sense, and I wouldn't learn anything that way either. I have been programming for almost 20 years, but the bulk of my work has been in corporate programming, primarily web (Cold Fusion, ASP & C#.Net,) or VB6 and then C# Windows GUI interfaces to RDBMS. I have never written a graphics based game, nor have I ever written something using the physics this will require. Once upon a time, I could program in C but I think I would be much better off to work with someone rather than try to roll my own unless good books exist to flatten the learning curve. Any advice on how to proceed?"

188 comments

  1. Javascript by Vixe · · Score: 4, Informative

    If you learn javascript and make it a web-based type deal, you can use something like processing js [ http://processingjs.org/ ] to handle the graphics for you.

    1. Re:Javascript by Rinikusu · · Score: 1

      Add to that Box2D as a physics engine, and you'd be half-way there. I'm partial to the impactjs + box2D stack, myself, but impact isn't free.

      --
      If you were me, you'd be good lookin'. - six string samurai
    2. Re:Javascript by Anonymous Coward · · Score: 0

      He doesn't even need that, what he is explaining is stupid easy, he can do it in canvas without any helper libraries and he'll learn more doing it at the bare bones level anyway.

      To es330td the game you are talking about has been done before, but that's no reason not to try.

      Specifically there is one worms like flash game involving guys standing on planets shooting at each other and the planets effect the flight paths of the projectiles.

    3. Re:Javascript by NoSleepDemon · · Score: 0

      Javascript is a HORRIBLE language to learn programming in, especially for games. You're much better off using Unity3D OP, they have a ton of useful tutorials and demos to help you along the way.

    4. Re:Javascript by SQLGuru · · Score: 1

      He's not learning to program. He's learning graphics. He's been a professional developer in the business space for years. He probably already knows Javascript well, so it isn't a stretch to add some canvas usage.

      If the Original Poster is in Austin, ACC has some classes taught be people in the industry. I was in the same boat you are in, so I took several of them and enjoyed them. I still bring home a paycheck from C# and SQL Server, but I dabble in games for fun. You might want to look at XNA since you have a .Net background. The Express tools are free, but I assume you already have Visual Studio. XNA will work for Windows, Xbox, and Windows Phone. Your game idea is simple enough that you could do it in Silverlight if you wanted to, but learning XNA would probably be more interesting. The hardest part is that you have to do ALL of the GUI yourself where you have traditionally relied on WinForms or ASP.NET or HTML or Razor to do a lot of work for you.

      http://msdn.microsoft.com/en-us/aa937791

    5. Re:Javascript by NoSleepDemon · · Score: 0

      I meant in general, learning a new concept in JS is horrible, especially something as intricate as games programming. If he knows C# he should be using it to program instead of JS.

    6. Re:Javascript by cgenman · · Score: 1

      Flash and Unity are also good choices. Unity supports C#, Javascript, or several others natively. Flash's Actionscript is an offshoot of Javascript, albeit an odd one. The physics themselves involved in gravity simulations are very, very simple to model. If only one body is moving (and to work as a game, only one body should be moving), just have the projectile iterate over all of the objects in the gravity list every update. Velocity += ( Distance * Mass * Scalar ) ^2

      However, he should realize that no matter the choice of engine, his game is going to look terrible. It will be a black dot on a white background at best. As much effort as he will put into making the coding side of things work, an artist would need to put into making the visuals work. And further, if he hasn't developed a video game before, a full version will be a tremendous amount of work more than he is expecting. The details really get you. How do you handle score updating? How do you reset for new games? Change state between shots? Handling player-side options? Multiple levels? Oh, you want a visual effect on colliding with non-moving gravity wells. How are those visuals triggered? How does the game stay lost-but-not-lost yet? There is just a lot more that goes into game development than people seem to initially estimate.

      Besides, you shouldn't deal with graphics until you know if the core is solid and entertaining. Consider this a first iteration, to be gone through as fast as possible. Prove out the fun first, before investing in figuring out the graphics.

    7. Re:Javascript by ghostdoc · · Score: 1

      Sure, 'cos you can use C# to do a client-side in-browser game, that's gonna work really well...oh hang on...

      Use the tool to fit the problem and learn how to use your tools. Just because most JS code is nasty doesn't mean you have to write nasty JS.

      --
      Business/App ideas are like arseholes: everyone's got one, they're mostly shit, but very rarely they contain a diamond
    8. Re:Javascript by ultranova · · Score: 1

      Velocity += ( Distance * Mass * Scalar ) ^2

      Actually, Velocity += Scalar * MassOfOtherObject / Distance^2.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    9. Re:Javascript by NoSleepDemon · · Score: 0

      Unity and Flash seem to handle games quite well in browsers.

    10. Re:Javascript by cgenman · · Score: 1

      Whoops! Thanks. That will teach me to write off-the-cuff equations while pulling an all nighter.

  2. Re:Moron by Anonymous Coward · · Score: 5, Insightful

    Er no they're not. I'm an expert amateur photographer. I do not make a living doing it, but I take works of art compared to professional wedding photographers.

  3. Rotation is the hardest stuff by mangu · · Score: 4, Informative

    Physics simulation of rotation is complicated because you are handling matrices and vectors. Google David Baraff for a good reference. Russell Smith's ODE is a good library for this.

    1. Re:Rotation is the hardest stuff by Anonymous Coward · · Score: 0

      Geometry rotation isn't hard, you just copypaste a few short functions that give you the proper matrices, if you aren't already using a library that implements those (any semi-decent graphics and physics library will contain or use general-purpose vector and matrix objects you can use for other calculations)

    2. Re:Rotation is the hardest stuff by DeKO · · Score: 1

      ODE only does rigid body dynamics, no force fields. The guy just need a basic game dev tutorial on force integration.

  4. Re:Moron by Anonymous Coward · · Score: 0

    I smell someone is going to rip this dude off...

    Game ideas are a dime a dozen. Think i had this same game idea 20 years ago... If he wants to control it. Learn to program and buy the art assets... Otherwise you usually make very little 'having an idea'...

  5. Too late! by togofspookware · · Score: 4, Informative

    Angry birds is already doing it.

    This is what someone called, uhm, 'emergent ideas', or something. You think of something new only to find out someone else announced the same project a week ago!

    --
    Duct tape, XML, democracy: Not doing the job? Use more.
    1. Re:Too late! by pjt33 · · Score: 5, Informative

      I did it three years ago as an entry for the Java4k Game Contest: Gravitational Fourks. And my inspiration was a game I played on the Acorn Archimedes in the early 90s.

    2. Re:Too late! by togofspookware · · Score: 1

      Sweet, it's scorched earth with spherical gravitational fields! I'm having a good time putting things into orbit, but the only way I've managed to hit the target so far is plowing through the planet in the middle...

      --
      Duct tape, XML, democracy: Not doing the job? Use more.
    3. Re:Too late! by emj · · Score: 4, Interesting

      There is a slightly more "flashy" version called gravitee wars. Polished and stuff.

    4. Re:Too late! by Anonymous Coward · · Score: 0

      I hit the other ship on the first try, pure luck.

    5. Re:Too late! by artor3 · · Score: 4, Interesting

      It was done in Flash games long before Angry Birds decided to do it.

      I like to call it the iPod Effect -- people assume that whatever company gets rich with an idea must have been the one to invent it.

    6. Re:Too late! by White+Flame · · Score: 1

      The oldest version I've played was on the HP48 calculators, and I think even that was a port off of some older platform.

    7. Re:Too late! by JoeCommodore · · Score: 1

      On the Amiga in 1987 it was called Gravity Wars. Still it is a cool idea.

      --
      "Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
    8. Re:Too late! by Anonymous Coward · · Score: 0

      Actualy, it's already been done by Keith Peters over at Bit-101. It's called Gravity Pods.

      http://www.youtube.com/watch?v=V3DbM15iYHA

    9. Re:Too late! by pjt33 · · Score: 1

      Well, there's a limit to how much polish anyone can pack into 4 kilobytes.

    10. Re:Too late! by asylumx · · Score: 1

      Just re-read the GP and found -- nope, he never said Angry Birds was the only one, or that they did it first.

    11. Re:Too late! by Anonymous Coward · · Score: 0

      It was done in the early 80s by HP.

    12. Re:Too late! by fa2k · · Score: 2

      Kraków (ac. Cracovia, jid. Kroke, niem. Krakau, fr. Cracovie, ang. Cracow, hiszp. & w. Cracovia) – miasto na prawach powiatu w poudniowej Polsce, siedziba wadz województwa maopolskiego, drugie w kraju pod wzgldem liczby mieszkaców[1][4] i pod wzgldem powierzchni[1]. Pooone nad Wis, na obszarze Bramy Krakowskiej, Niecki Nidziaskiej i Pogórza Zachodniobeskidzkiego. Jest jednym z najstarszych miast Polski o ponadtysicletniej historii, z wieloma wartociowymi obiektami architektonicznymi. Dziaa w nim równie wiele instytucji i placówek kulturalnych gromadzcych bezcenne zabytki. Do 1795 r. Kraków by formalnie stolic Polski[5] a do 1611 r. siedzib wadców pastwa polskiego. W latach 1596–1795, czyli do III rozbioru Polski, jako stolica Rzeczypospolitej[6] funkcje stoeczne dzieli z Warszaw, która staa si miastem rezydencjalnym króla[7][8]. Obecnie jest stolic województwa maopolskiego, a take centralnym orodkiem metropolitalnym aglomeracji krakowskiej. W zapisach historycznych jest uznawany za gówne miasto historycznej Maopolski. Do historycznej funkcji Krakowa odnosi si jego pena nazwa[9] – Stoeczne Królewskie Miasto Kraków usankcjonowana prawnie przez Rad Ministrów jak i wczeniej przez naczelne wadze pastwowe II Rzeczypospolitej, które uyway tej nazwy w swoich aktach prawnych[10][11]. Równie nazwy skróconej tj.: st. król. miasto Kraków, st.kr. miasto Kraków albo sto. król. miasto Kraków. Niektóre z tych aktów prawnych obowizuj do dzisiaj[12][13]. Na arenie midzynarodowej Kraków postrzegany jest jako "duchowe i naukowe serce Polski"[14]. W Krakowie znajduj si gówne siedziby m.in. : Polskiej Akademii Umiejtnoci, Narodowego Centrum Nauki, Europejskiego Towarzystwa Chirurgicznego [15], Polskiego Towarzystwa Promieniowania Synchrotronowego[16], Krajowej Szkoy Sdownictwa i Prokuratury[17], dowództwa Wojsk Specjalnych RP[18], Polskiego Zwizku Narciarskiego[19]. Miasto posiada równie wiele placówek kulturalnych o znaczeniu i statusie narodowym m.in. Narodowy Stary Teatr, Muzeum Narodowe, Drukarnia Narodowa, Biblioteka Jagielloska, Instytut Ksiki[20]. Miasto peni funkcj centrum administracyjnego, kulturalnego, edukacyjnego, naukowego, gospodarczego, usugowego i turystycznego. Kraków jest drugim, po Warszawie, najwikszym w kraju rynkiem nowoczesnej powierzchni biurowej[21] a take jednym z kluczowych wzów drogowych i kolejowych w Polsce. W Balicach pod Krakowem znajduje si drugi co do wielkoci polski port lotniczy o znaczeniu midzynarodowym. Wedug raportu inwestycyjnego Konferencji ds. Handlu i Rozwoju ONZ (UNCTAD) z 2011 roku Kraków jest najlepszym miejscem na wiecie do lokowania centrów usug dla biznesu[22]. Pooenie[edytuj] Kraków jest pooony w poudniowej Polsce, w rodkowo-pónocnej czci województwa maopolskiego. Miasto ley nad Wis i na jego terenie znajduj si ujcia dopywów rzeki Wisy: Biauchy (dolny bieg Prdnika), Rudawy, Dubni, Drwiny Dugiej i Wilgi. Kraków znajduje si w miejscu zbiegu kilku krain geograficznych: Bramy Krakowskiej, Kotliny Owicimskiej, Kotliny Sandomierskiej, Pogórza Zachodniobeskidzkiego, Wyyny Krakowsko-Czstochowskiej. Pooenie Krakowa sprawia, e jest on baz dla wycieczek w polskie góry, czy wypadów do malowniczej Jury Krakowsko-Czstochowskiej. Z Krakowem ssiaduj gminy: Igoomia-Wawrzeczyce, Kocmyrzów-Luborzyca, Koniusza, Liszki, Michaowice, Mogilany, Niepoomice, Skawina, witniki Górne, Wieliczka, Wielka Wie, Zabierzów, Zielonki. Gminy te nale do dwóch powiatów ssiadujcych z Krakowem: powiat krakowski oraz powiat wielicki. Podzia administracyjny[edytuj] Information icon.svg Osobne artykuy: Podzia administracyjny Krakowa i ulice Krakowa. Dzielnice Krakowa Widok na rzek Wis oraz Most Dbnicki ze Wzgórza Wawelskiego

    13. Re:Too late! by ultranova · · Score: 1

      The oldest version I've played was on the HP48 calculators, and I think even that was a port off of some older platform.

      So that is what the Antikythera Mechanism was used for!

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    14. Re:Too late! by Anonymous Coward · · Score: 0

      pjt33, do you remember anything about the game in question? Did it have two scrolling messages on the menu screen? And checkered blue/white or red/white missiles for each player?

    15. Re:Too late! by pjt33 · · Score: 1

      I recall the two players being blue and orange, the planets being grey, and the collision detecting being checked at the end of every timestamp, so a bullet could make a hole in the middle of a planet, and if you fired more on the same path you'd get a series of disjoint holes. That was one element I chose not to replicate.

    16. Re:Too late! by Anonymous Coward · · Score: 0

      You should probably read it again, the whole implication of the post is that it's new, and has been done quite recently.

    17. Re:Too late! by MisterMidi · · Score: 1

      +1 Funny. It's not even packed but then nobody would notice it's Polish :)

  6. Stackexchange by Letharion · · Score: 5, Informative

    http://gamedev.stackexchange.com/ is a great place to ask game development related questions.

    1. Re:Stackexchange by Anonymous Coward · · Score: 5, Informative

      I'm currently a student studying game programming, and http://www.gamedev.net/ has been a godsend. The forums are by far the best I've found. There is a Help Wanted section, and it varies in how serious or deadlined the projects are, so that could be a good place to find a potential partner.

      If you're familiar with C#, look into XNA. The framework is built in C#, it's free and its projects can be run on PC/XBOX Indie/Windows Phone. Other options would be Flash or the Unity engine (can run in browsers, scripted with C# or Javascript).

      I like your idea, could be a fun casual game.

    2. Re:Stackexchange by The+Optimizer · · Score: 4, Informative

      Mod parents up. I've been making games professionally for over 15 years, and I was going to mention both of those sites.

      My general advice, when asked, "How do I learn to make games" is to 1) Look around online as there are communities and resources all over, and 2) Just start making something, anything. Do it rather than talk about it. Start with something small - an early Atari 2600-class game project - and expand as you become comfortable and more knowledgeable and experienced.

    3. Re:Stackexchange by narcc · · Score: 1

      Start with something small - an early Atari 2600-class game project

      Just don't write an actual Atari 2600 game. It's fun and challenging, but ridiculously difficult.

    4. Re:Stackexchange by Anonymous Coward · · Score: 0

      I would totally veto looking into XNA for this game. It will teach you a lot about making games, and if you grab a nice free copy of the BEPU physics library the physics will be made a lot easier for you, although I don't think proper physics is what you need here. Not at all really. Calculating a trajectory is a simple formula, although it can depend on whether the point of impact is above or below the height of the cannon.

      Check out this Riemers tutorial in XNA.
      http://members.chello.at/theodor.lauppert/games/tanx.htm

      Also, your game idea is similar to a classic freeware game by Gary Roberts called Tanx, released on the Amiga in 1991. Maybe check out this screenshot, noting the weird 'pushers' and 'pullers' on the ground. These objects had an influence on the projectile within a certain horizontal range on the screen:
        http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series2D/Direction_to_Angle.php
      I highly reccomend grabbing a *cough* legal ROM and the WinUAE Amiga emulator and doing some research.

      I'd encourage some research into simple projectile motion formulas (they're easy), but all you really need to do is setr an object in motion, and then have gravity do it's work. No need to worry about wind resistance.

    5. Re:Stackexchange by Anonymous Coward · · Score: 0

      GPWiki.org is another friendly gameprog site. The info on the wiki is slightly outdated but the community is friendly and has a wide range of experience.

  7. 20+ years? You're already an expert. by Anonymous Coward · · Score: 3, Informative

    You seem to be an expert programmer, so I'll just point you to the XNA library here [http://msdn.microsoft.com/en-us/library/bb198548.aspx] and let you figure it out from there.

  8. Find the open source implementation? by Anonymous Coward · · Score: 1

    A friend of mine wrote something that sounds very similar to what you're talking about as a ruby app. It's open source (available at http://rubyforge.org/projects/planetsgame/), so you could start by looking at what he's got and tweaking, rather than trying to build from the ground up.

  9. Just do it yourself by woodhouse · · Score: 1, Insightful

    Unless you're providing some kind of financial incentive, I'm not sure why anyone would want to do it for you. But fortunately, what you're describing is doesn't sound particularly difficult. If you want to learn from the experience, you should really just do it yourself. You could put something together in C/OpenGL pretty quickly (there are lots of tutorials on the web for getting up and running with OpenGL).

    1. Re:Just do it yourself by Dahamma · · Score: 1, Insightful

      The whole post doesn't make any sense. He wants to make a simple non-commercial game for the purpose of learning, but he doesn't want to have to figure out how to program it and would like to find someone who already knows how to do it to write it for him. Wha?!

    2. Re:Just do it yourself by hawguy · · Score: 1, Insightful

      The whole post doesn't make any sense. He wants to make a simple non-commercial game for the purpose of learning, but he doesn't want to have to figure out how to program it and would like to find someone who already knows how to do it to write it for him. Wha?!

      I don't think he's looking for someone to write it for him, he's looking for someone to guide him and point him in the right direction so he doesn't spin his wheels doing something one way that's going to lead him to a dead end. Maybe he'd learn more by doing it all on his own. Or maybe he'd learn bad habits that are hard to correct later.

    3. Re:Just do it yourself by gman003 · · Score: 0

      Or C/SDL (for 2D stuff, OpenGL is often overkill).

      Actually, given his C# background, XNA may make more sense. It's essentially C#.NET with extra gaming-oriented libraries and optimization. Runs natively on Windows XP+, the Xbox360, and one of the Windows Phone types, and there's probably a Mono-based project to make it run on non-MS systems.

      Like any Microsoft environment, it's heavily documented and aimed at novices and amateurs. I've never used it much myself (I prefer C++/SDL or C++/OpenGL, myself), but I think it sounds like what the OP needs.

    4. Re:Just do it yourself by Dahamma · · Score: 1

      If that's true I guess there is a reason he can't find anyone to do this for him... who would want to handhold someone to teach them the basics required to develop a simplistic game concept as a learning exercise without being paid anything??

      I suppose that's the answer he needs to hear: you won't find a expert game developer to "partner" with you on this, so do what most other hobbyist game programmers do - try to figure it out for yourself, and when you can't then ask questions on any of the many developer forums available for that purpose. I guess many of us here probably started our hobbyist game development careers as kids (back when rec.games.programmer was the height of game development discussion) so figuring it out yourself was the only real option...

    5. Re:Just do it yourself by narcc · · Score: 1

      Judging from the question, I doubt the fellow has a strong mathematics background. OpenGL may not be the best choice for him.

      This poor guy has been writing CRUD apps for the last 20 years; how much linear algebra do you expect him to remember?

    6. Re:Just do it yourself by FrootLoops · · Score: 1

      No, you misunderstood. "he doesn't want to have to figure out how to program it" is very wrong:

      "I'd like to write a program..."
      "...In an ideal world, ... [I would be forced] to fully flesh it out, debug and complete the app"
      "...hiring somebody doesn't make sense, and I wouldn't learn anything that way either"
      "...I think I would be much better off to work with someone rather than try to roll my own unless good books exist to flatten the learning curve"

      He wants a somewhat experienced partner who might be willing to answer questions and guide him through the process of making a game. Perhaps this person might develop side-by-side with him if the project is large enough. He clearly wants to learn how to do this, he's just not sure about the best way to start. He's suggested that an experienced partner is a good way to go, and if he can find one it probably is. Most likely he should just find a good forum (several have been suggested already), pick a platform (XNA feeds into his C# experience), and start coding solo.

    7. Re:Just do it yourself by FrootLoops · · Score: 1

      How many programmers ever learned linear algebra in the first place, especially if they graduated decades ago (if they even went to college)? It's not like you need to understand linear algebra to call a library rotation routine though. Theoretically at least, I prefer quaternion rotations, which aren't even primarily based on linear algebra--just because quaternions are cuter than matrices (though I'm a pure math person).

  10. Corona SDK by Anonymous Coward · · Score: 0

    I know you said you don't want to make anything commercial, but the price is just to good to pass up; it compiles with a ton of devices as the target, and you develop using Lua. It has a great community.

    Then, if you want, you could release it for free in the various app stores, or charge a dollar and use that to fund development of an HTML version of the game based on your (functional) prototype.

  11. Re:20 Years? by gangien · · Score: 1, Informative

    Haven't interviewed a few people with 'decades of experience', that is not surprising. I just interviewed a guy with 15 years of experience that couldn't tell me how a hash table works. But he certainly new a lot of buzzwords.

  12. Oh, hi! I remember you... I think. by VortexCortex · · Score: 2

    In case you're not the same guy who posted this exact same idea already...
    >>>>/AGDG/
    is that way. You may be able to see if the person who posted similar game idea / implementation is still around.

    You can contract a freelance programmer to write it for you, then look at the source and gain understanding that way (ever played GORILLAS.BAS?).

    Alternatively, take a tutorial for getting graphics on the screen; Then moving the graphics; Then collision detection; Then apply gravity.
    Or, simply join a group of people in the modding scene for an established game engine -- ask the mod community how to proceed -- Port to flash when done.
    If you already know one language Learning ActionScript is as simple as learning the flash API and ECMAScript syntax...

  13. first small step... by Tastecicles · · Score: 3, Informative

    have a look at this.

    --
    Operation Guillotine is in effect.
    1. Re:first small step... by Tastecicles · · Score: 1

      I know, I know, bad form...

      One of the first complex programs I wrote in GWBASIC (my first serious(!) adventure in programming) was a Newtonian orbital model (I didn't actually write it from scratch, I took a simple program I found in a magazine that demonstrated the inner solar system as a realtime simulation and replaced the individual chunks of code for each body with a unified algorithm and called each body n). Basically it took n massive particles and calculated their interactions with every other particle, and plotted the resultant path each took. For n<=5 particles on a 486DX/33 it ran fine (over 50fps), but when I ramped up the number of particles the calculations tended to slow and the plot exponentially so. By the time I hit 1000 particles I was lucky to get a retrace every hour.

      This I think is where you're going to hit a problem. The more particles you have, the slower it's going to run. Unfortunately if you want a realistic physics model you'll have to calculate the interactions of every particle with every other, even if the resultant vector adjustment for each interaction is insignificant for your purposes because it *will* become significant in later frames.

      --
      Operation Guillotine is in effect.
    2. Re:first small step... by Anonymous Coward · · Score: 0

      For large simulations, you can get a huge speedup with little loss in accuracy by approximating longer-distance interactions. For example, overlay a grid on your universe. In each grid cell, calculate the total mass inside. For each particle, do the exact physics with nearby particles (e.g. within N cells) and for farther cells, treat the entire cell as one point.

  14. Maybe a better question to ask is... by Anonymous Coward · · Score: 0

    What FOS game engine would you use to write a simple 3D (maybe a MMORPG) physics based version of cannon ball? I don't really want to do my own research of things like: torque, unity or unreal on that google website thingie. I really am too lazy to think for my self so I thought I'd ask here.
    -OP

    PS I don't want to go to the library and look at books like: Beginning OpenGL Game Programming by Dave Astle, or Windows game programming for dummies by André LaMothe

  15. Well what is your purpose? by Weaselmancer · · Score: 4, Insightful

    First you say this:

    hiring somebody doesn't make sense, and I wouldn't learn anything that way either

    Ok. So you're looking at this as a learning experience. That's great. But then you say this:

    Once upon a time, I could program in C but I think I would be much better off to work with someone rather than try to roll my own

    So you're looking for someone to do this for you and not learn any coding.

    I think you need to consider why you want to get involved in this in the first place. If you want to learn game programming, that's great. Go do it. If you want to learn project management, that's good too, go do that. But first I think you have to figure out what your goal here actually is.

    I will tell you this though. Until you narrow down your scope and figure out exactly what you want, the dithering is sending up some flags. You have an idea, you say you're not interested in money, yet you want someone to write a game for you based on an idea you have, and you're not willing to pay anything to get it done. Jaded old programmers like me hear this kind of a thing and mentally translate it into "I want you to write a program for me so I can get rich from it without doing any of the actual work."

    --
    Weaselmancer
    rediculous.
    1. Re:Well what is your purpose? by Anonymous Coward · · Score: 0

      I think he/she might have meant that they were looking for somewhat of a mentor or a guiding hand in the process.

    2. Re:Well what is your purpose? by Anonymous Coward · · Score: 0

      I recall reading, in a hardcopy "computer" magazine long ago, a very good (pseudo)quote : "Never work with an idea man." The premise being, that if someone is unable to contribute meaningfully to the grunt work of a coding project, then they probably don't belong on the project. No offense, you sound like someone with a bit of general coding experience, but probably fall closer to the "idea" side of the project.
      It sounds like you would be better off hiring someone to do the code. How much time do you think you would invest, bringing yourself up to speed, to do this yourself? What is your time worth? Would that expense be better off sunk into an experienced coder capable of fast-tracking the project? You might be able to pay them enough to get the project started, set up on Sourceforge, and if the donations start coming in, keep the coder(s) coming back to hone the code.
      The digital world could use more benevolent patrons - hire a band to release a free song, hire some actors to motion-track record a CC short, hire a writer to make a CC screenplay out of something from Project Gutenberg, pay a coder to get an open-source game started. Lots of things to do, if you have a bit of money instead of the necessary skillz.

    3. Re:Well what is your purpose? by FrootLoops · · Score: 1

      Game development is a large field. There are many platforms, physics is hard for most people, especially without a good background in math, getting art/sound/music can be hard--there are plenty of reasons to want a mentor-like person when just starting out.

      Jaded old programmers like me hear this kind of a thing and mentally translate it into "I want you to write a program for me so I can get rich from it without doing any of the actual work."

      Why? There's no evidence I can find to support that interpretation, and there's a mound of evidence against it. Why would he list his coding background and invite suggestions for books to "flatten the learning curve"--to make the post more convincing? That's a remarkably elaborate deception. Under your interpretation I have to assume every sentence is filled with cunning lies aimed at finding someone smart enough to do all the work but stupid enough not to notice they're being duped, which would be impressive in itself. I find that ridiculously unlikely compared to the strong possibility that he's simply being honest.

  16. Re:Moron by alphatel · · Score: 4, Funny

    No this is totally undiscovered country. You need to hire 20 kids at $20 per hour and tell them to make the game. Have them work like two months, tell them it is okay to rip off other games. Brand your company Winga, or Singa or something unique. Copyright the game before it is done, sue everyone who tries to release anything which remotely resembles your game. Profit. Go Public. Profit more. Wait for Facebook IPO. Sell, sell, sell!

    --
    When the foot seeks the place of the head, the line is crossed. Know your place. Keep your place. Be a shoe.
  17. html5 by gr7 · · Score: 4, Informative

    Read about the canvas element. You should be able to write the whole thing in javascript. You should be able to get an extremely basic version up and running within a few hours. Just play around a bit in javascript and read about <canvas>. The physics is trivial - you store the x,y vx,vy value of everything that is moving (velocity x,y). You add vx to x every cycle through your loop. You adjust vy by gravity through every cycle. Also known as ay. And you also adjust vx,vy by every gravitational point nearby. You calculate the distance sqrt((x1-x2)^2+(y1-y2)^2 ) to each object and use gravity formula which is realted to 1/distance squared so you can get rid of that sqrt and make the code more efficient. Then find the portion of accel that is due to x and y. Anyway, it's just a few hours work. Just give it a shot - don't read any books - just find an html primer website that talks about <canvas>.

    1. Re:html5 by Anonymous Coward · · Score: 0

      The physics is trivial - you store the x,y vx,vy value of everything that is moving (velocity x,y). You add vx to x every cycle through your loop. You adjust vy by gravity through every cycle.

      This is an atrocious way to model elliptical gravitational orbits. Your trajectories will be so inaccurate after a few revolutions that you won't be able to recognize the results as remotely resembling reality.

      Compare:
      http://en.wikipedia.org/wiki/Euler_method
      http://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods

      use gravity formula which is realted to 1/distance squared so you can get rid of that sqrt and make the code more efficient.
      Optimizing a bad algorithm only makes your day worse

      Just give it a shot - don't read any books
      How the fuck did this get rated Insightful?

    2. Re:html5 by Anonymous Coward · · Score: 1

      The physics is trivial - you store the x,y vx,vy value of everything that is moving (velocity x,y)...

      This is an atrocious way to model elliptical gravitational orbits. Your trajectories will be so inaccurate after a few revolutions that you won't be able to recognize the results as remotely resembling reality...

      It depends what he's trying to do. Something like Verlet/leapfrog integration is trivial to implement and will be good enough for many purposes (e.g. casual games). But if he wanted accurate hard sphere/disk collision modeling then that would take some effort - and if he wanted accurate modeling of collisions of arbitrary shapes, well, he'd better either have a PhD in computational geometry or be prepared to use a physics simulation library written by a team of people who do.

  18. Go For It by mugnyte · · Score: 4, Insightful

    Although truly "new" ideas are a rare breed - don't be deterred. Build this yourself using all your skills and use it as a lesson. If you use a group, it might be more fun but just don't sub-out the interesting parts. Learn about them.

    Start with the core and work outward
    - movement of an object in space
    - applying single-point and universal gravity
    - collision detection
    - concurrent animations
    - 2D crash physics
    - some graphics

    Then story out something to power some gameplay
    - characters / features
    - scoring
    - co-op/vs online ideas

    Of course, the core has been done - but really this is for you to learn the basics. Once you do this, someday you can go from an actually novel idea to a game in less time. Who knows, down the road you may have a really good idea. My best wishes go out to you to persevere!

  19. There's no need for a book by nsxdavid · · Score: 1

    Seriously.... a book?

    Just Google what you want to know.

    If you've done C#, then look at XNA. It lets you do game stuff in C#. You know how to program, now just pick up things you don't know to build on that toolbox. On sites like http://create.msdn.com/ you can find all the information you need, and better yet, full functioning examples projects to pick apart and learn from.

    Why back in my day there was no Google machine. Much less any book son the subject. Now there is so much information out there, for free, you have no excuse to not just trip over it even if you take 10 seconds to look for it.

    --
    David Whatley
  20. That's a tough sell, mate. by Anonymous Coward · · Score: 0

    Think about this from the point of view of the putative person who is writing a video game for the sole purpose of tutoring you on how it works:

    You'd like to write a program.

    But you don't want to flesh out, debug, or complete the app.

    So you don't want to write a program, you want someone else to do it.

    But you don't want to hire someone; also hiring someone would mean you wouldn't learn anything.

    But since the learning curve is too steep, you don't want to roll your own.

    So you want someone to work with, not pay, to do the implementation of the idea, with no commercial prospects, and to learn something but not too much about how it works?

    My advice would be to untangle your requirements, and if it's the implementation that interests you, just start climbing up the learning curve and see how far you get before you hit "diminishing returns". (There's nothing wrong with a half-finished project that you learn from.)

  21. Physics for Flash Games, Animation, and Simulation by Anonymous Coward · · Score: 0

    "Physics for Flash Games, Animation, and Simulations" by Dev Ramtal and Adrian Dobre should be enough to get you going if Flash is okay with you. If not, go with "Physics for Game Developers", published by O'Reilly and Associates.

    As for getting somebody to write it for you for a price you're willing to pay, forget it. It's trivial enough that you should be able to do it yourself.

  22. Unity3d by Anonymous Coward · · Score: 0

    It has everything you need, you can write scripts in c# and it's free. 3.5 will even export to flash.

  23. there are lots of amateur game-making tools by Anonymous Coward · · Score: 0

    And most of them have communities of similar amateurs willing to chip in on projects like this.

    I like Stencyl, personally. A lot of what you're describing would not be terribly difficult to do in it.
    http://stencyl.com/

  24. Physics, etc by Dan+East · · Score: 4, Informative

    Well, you can look at existing physics engines, like Box2D, but it won't do what you want by default. Games of the type you're talking about simulate motion in discrete steps - usually once per frame. However, you can also decouple your motion (physics) from the rendering, but you usually only need to do that for very precise physics simulations that need to be reproducible time after time (when you decouple physics then the physics engine can always run at some fixed time interval, like 1/60th of a second, which is how realistic physics engine like Box2D function best).

    Essentially you have a simulation going, in which each object has a position in floating point precision. Each frame you calculate the duration of the previous frame in milliseconds, then you move all your objects the appropriate amount over that discrete time step. So if your frame is 10 milliseconds, and an object has an X velocity of 1 unit per second, then you increment its X value .01 units. The next frame might take twice as long to render at 20 milliseconds (maybe you have more objects, or some other multitasking app used some CPU time) so you have to move your objects twice as far - .02 units. The math is very simple. Then after moving all the objects you render them into screen space.

    As for the attractors / repulsors, you also store a velocity value for each moving object. Then each frame you calculate the distance to each attractor / repulsor, and modify the velocity based on the strength of the attractor / repulsor attenuated by (divided by ) its distance from your object. You can make it as simple or complex as you'd like. You can factor in mass, use linear or exponential repulsive effects, etc. Now if you start getting into collision detection and resolution, then things can get very complex if you're dealing with objects more complex than circles or really, really fast moving objects. For example, say you have a bullet traveling really fast, and it is heading towards a thin barrier (wall). One frame the bullet could be on one side of the barrier, and the next frame it moved so far that it is on the other side. In other words, there wasn't a frame in which the bullet was exactly in contact with the barrier. Those things can get complex to simulate, and it gets even worse when both objects are moving at the same time.

    The key thing is grasping the concept of discrete time steps, and moving objects a variable distance each frame depending on how long the previous frame took to render. You can't just hardcode the game to run at, say, 1/60th a second, because if it is running on a slower device than you tested on, or if the device is multitasking and can't spend as much processing time on your app, then things will seem to run in slow motion and be herky-jerky. The other key thing is the idea that the positions of your objects do not (and should not) correspond directly to screen coordinates. Say your world is 100x100 units. Well, when you render it, you simply scale it so that the 100 is the width of the display (if you're using something like OpenGL to do your drawing, then you just set the matrix scale appropriately). So the "real" position of the objects, and all that simulation, occurs at some arbitrary coordinate system, and then is scaled appropriately when the objects are drawn.

    As for languages, personally I recommend C++ and use OpenGL ES for rendering. Then the vast majority of your code can be used on Android, iOS, Windows, Linux, OSX, etc, but is not conducive to web-based like Flash or Java.

    --
    Better known as 318230.
  25. Re:20 Years? by Sir_Sri · · Score: 1, Insightful

    It really depends what they've been doing. I know lots of programmers who've been doing nothing related to physics or hashtables.

    As with everything though, his answer is in a book. Really any half decent book on games will give him the info he needs.

  26. Re:Moron by hawguy · · Score: 2

    I smell someone is going to rip this dude off...

    Game ideas are a dime a dozen. Think i had this same game idea 20 years ago... If he wants to control it. Learn to program and buy the art assets... Otherwise you usually make very little 'having an idea'...

    He's looking for an unpaid amateur to assist him with putting together a non-commercial app that won't be sold.

    Where is he going to get ripped off? No where did he say that he wanted to make money. Not everyone has profit as the end-goal of a project.

    Maybe if it turns out well he can make a few bucks from it before it's copied by one of the big game makers, but it doesn't sound like he expects to make any money off of it.

  27. Re:Moron by TheRaven64 · · Score: 4, Interesting

    I think that's the point of his Ask Slashdot - he has an idea for a game and he wants to play it. Asking a bunch of geeks how to implement it is the easiest way of getting something like this done. And he's right - it does sound fun, and I hope someone does implement it because I'd like to play it too.

    For what it's worth, I wrote an n-body-problem simulation / visualisation thing in JavaScript (for no serious reason, just because I wanted to play with the canvas tag and it makes pretty patterns) and it was pretty trivial. Add half a dozen lines of collision detection to that and there's your game, aside from the UI - most of the work will be in the graphics, and even then you could largely use circles and bezier paths...

    --
    I am TheRaven on Soylent News
  28. Pay for it. by Anonymous Coward · · Score: 0

    Next?

    No, seriously, the point of amateur is that it's amateur. Is this like one of those Craigslist ads 'Do work X for me and when it makes a gazillion, I'll pay you!'

  29. Just do it! (Urgh i sound like nike ad) by WombleGoneBad · · Score: 1

    You see posts like this quite a lot. "I have this idea for a game, now i just need someone to help me write it" This is getting things backwards. Concepts are cheap, execution is everything. You are a programmer, bite the bullet and get your hands dirty. In the 'programming for fun' market noone wants to write *your* game because they are busy writing *their* game. You will only attract external talent if you already have something concrete and valuable that they will want to be a part of. First thing is to pick a platform (sounds like you fancy it as a web app, so html5 or flash), then all you have to do is take it one step at a time, 'how do i get it to draw something' , then 'how can i get it to move', learning the tools and techniques as you go, and then keep going, refactoring as you find better ways of doing things.

  30. wtflolbbq by Anonymous Coward · · Score: 0

    worst story, ever. btw, i got this idea for a game where people run around and shoot each other, like wolfenstein but better....halp?

  31. You can do this by Fencepost · · Score: 1

    As at least one other person has suggested, do this in Javascript. Processing power shouldn't be an issue - consider a "swarm" or "hive" screensaver running on a 386 with a tiny fraction of the power of a modern PC.

    You have two separate areas to work on, three if you actually want it to look good (graphic design is its own thing): the physics/calculations, the animation, and making the animation not look like crap. For the animation/graphics, HTML5's Canvas may be your friend but I don't have the experience with it to say for sure.

    For the physics side, you can either dig into some matrix algebra as someone mentioned (my time doing that is 20+ years old, can't help you much) or just code a routine to calculate the effect of a force (gravity of one of your objects) at a given point in space. Something like GetVectorInfluence(ObstacleMass, ObstaclePosition, PelletPosition) returning (acceleration, angle). At each stepping point you'll call that routine once for each obstacle, then sum the resulting vectors to determine where the point is going. You can start with one and shift to the other later if it turns out to be more efficient. Start out by doing that, working with an arbitrary space and recording the position of the moving item at each tick. Then graph out your results and see if you get the kind of lines you expect. I don't know if there's any reason to bother with excluding distant points from your calculations unless your total number of objects is huge - you may find that the math to include/exclude is more processor intensive than just doing the calculation and getting a near-zero result for distant objects.

    I can't help much with the graphics, but it's basically doing a real-time chart instead of logging positions and rendering it later.

    The graphic design may be as much headache as everything else, but as I tell people "As a graphic designer, I'm a great programmer." There is frequently little overlap in these skillsets.

    --
    fencepost
    just a little off
  32. Re:20 Years? by hawguy · · Score: 2

    I'm sorry, but 20 years of coding experience and you have no knowledge on how to model the physics?
    I myself find this highly suspect; seeing as how I had to go through this simple process in the 4th month after learning how to code in Java.

    Really? You have at least 4 months of Java experience and you can't understand that not everyone has the same experience as you? He even said that experience includes coding GUI frontends to databases -- what part of this teaches him how to do 2D physics modeling? He may not even have formal computer science education, maybe he was a business analyst that took a few programming classes and moved over to development.

  33. Re:Moron by artor3 · · Score: 1

    Looks like someone doesn't know the definition of the word "amateur".

    (Hint: it's not the person who wrote the headline)

  34. commercial game engine by Anonymous Coward · · Score: 0

    I would just license a commercial game engine write a few functions for adjusting whatever physics you want and be done:
    http://www.garagegames.com/products/torque-2d

    IMO the hardest part of these off the cuff projects is the art necessary

    -jordan

  35. Might work for you by Anonymous Coward · · Score: 0

    Have a look at StencylWorks, it uses the Box2D physics engine.

    http://stencyl.com

  36. Game Coding in C#? Use Unity by Frizzled · · Score: 1

    Unity 3D lets you write in C# (or Javascript) then port to PC, Mac, WebGL, iPhone, Android -and, if rumors are to be believed, soon Windows phone.

    Free to try, not too pricey for the full version either. They have some demos to get you started, there are also a few books to help you dive deeper.

    http://unity3d.com/

  37. Congratulations! by JohnnyBGod · · Score: 3, Insightful

    You're well on your way to recreating Slingshot!

    Anyhow, if you're looking at this as a learning experience, XNA seems to be the thing where you could put your skillset to work the fastest. Python also seems like a good choice, if you're willing to learn it. As for graphics/physics/whatever, there should be libraries to help you, and surely some other Slashdotter will drop a few names shortly.

    1. Re:Congratulations! by Anonymous Coward · · Score: 0

      And by the way, here is the source: http://slingshot.wikispot.org/Downloads/Source

    2. Re:Congratulations! by Anonymous Coward · · Score: 0

      Or even Gravitas.

  38. Work for free? by Anonymous Coward · · Score: 0

    Basically it sounds like the person putting forward the question wants someone to write a game for them for free. Why would anyone want to do that? People who can would probably rather work on their own projects. The only thing I can think of would be to contact local universities or community colleges which offer programming courses and offer to work with the professors to offer a bonus credit or a co-op opportunity. Maybe some kid will offer to do the project in exchange for a bonus credit or a letter of recommendation.

    Otherwise if you want something done and you're not willing to do it yourself, be prepared to pay for it.

  39. Bone Up! by Anonymous Coward · · Score: 0

    #1: Prepare to hit the books for a while and make lots of small modular examples
    #2: check out this book http://www.amazon.com/Physics-Game-Developers-David-Bourg/dp/0596000065

  40. two suggestions (real ones, not rude comments) by Anonymous Coward · · Score: 0

    First, I'd suggest you pick your tool. Do some research. Flash AS is really easy to learn. Javascript is easy to learn, just figure out how to set up a canvas. If you want to do it in 3d, I'd suggest trying Unity3d because it uses javascript and is fairly easy, but when I was playing with it I didn't know how to do complicated things. (still don't)

    Second, if you go with flash, I really enjoyed Foundation Actionscript Animation and Advanced Actionscript 3.0 both by Keith Peters. I felt like I learned something with his books.

    Extra comment that I'm sure everyone else has made: the internet is a great place to look it up. And, for animation you need some math, the Peters books will walk you through most of it.

  41. Scorched Planets by Anonymous Coward · · Score: 0

    http://www.scorchedplanets.com
    That one sounds like similar to the idea you had

  42. Better game ideas ... by Barbara,+not+Barbie · · Score: 1

    worst story, ever. btw, i got this idea for a game where people run around and shoot each other, like wolfenstein but better....halp?

    I got this idea for a game where people run around and shoot people who submit stories like this one, like duke nukem but better ... halp?

    ... soon to be followed by ...

    I got this idea for a game where people run around and run and shoot the editors who post stories like this one, like left 4 dead 2 but better ... halp?

    --
    Let's call it what it is, Anti-Social Media.
  43. How to find expertise by Anonymous Coward · · Score: 0

    Place an ad with a job agency for a paid position (most won't charge unless you choose one of their candidates to fill the position). When the candidates come, mention that you aren't actually a company and are wondering if they will work with you for free. As programmers are a dime-a-dozen, none will have real job prospects anyway, so most will accept.

  44. Re:Moron by Nidi62 · · Score: 1

    Amateur does not necessarily mean inexperienced. Amateur just means non-professional. An amateur can still have plenty of experience, possibly even more than a professional.

    --
    The only thing necessary for evil to triumph is for it to be pitted against a slightly greater evil
  45. Re:20 Years? by Qzukk · · Score: 2

    I just interviewed a guy with 15 years of experience that couldn't tell me how a hash table works

    Yes, that guy is an idiot.

    The guy who asked? He's programmed database frontends for 20 years and you're berating him because he can't solve a simple multibody gravitational acceleration problem?

    Come back when you want to rant about how you had a Physics PhD who had 20 years of experience but couldn't explain orbital dynamics.

    --
    If I have been able to see further than others, it is because I bought a pair of binoculars.
  46. So you want free help from an expert blah blah by JeremyMorgan · · Score: 1

    Since when do they post craigslist ads on the front page of slashdot?

  47. Do it in python by dr_leviathan · · Score: 1

    This game would be pretty easy to do with Python and would be a good project to use as an excuse to learn some Python.. Either use pyglet (openGL wrapper) or pygame (SDL wrapper) modules. You can probably find some open domain 2D game examples that you could tear apart to do what you want.

    --
    Religion is poison to rationality, and we lose sight of that at our own peril. -- Lurker2288
    1. Re:Do it in python by Anonymous Coward · · Score: 0

      The easiest way to get in to game programming by far is with python using the pygame library. Get the book "Invent your own computer games with python". It's got a free pdf download but you could just support the author and buy it. It's just that good. I just taught a class of high school students game programming with this text and there was 100% success for students.

  48. I did something like this for a first year project by SJrX · · Score: 1

    I did something like this for a first year project, it involved charged particles which obeys a similar inverse square as gravity does for determining position. You basically had a fixed set of charges, that users could toggle to be between {-8,-4,-2,-1,0,1,2,4,8} * K, then you'd hit start and you'd try to get the puck to go to the goal (It was very much based on this: http://phet.colorado.edu/en/simulation/electric-hockey). It involved basically looking at F_x (the force applied in the x direction, from every other point). F_y (the force applied in the y direction, from every other point). When you sum these up you get an instantaneous picture of the scene, that is you know it's position, and you know the forces acting upon it. Then I believe I used a technique called Runge-Kutta which gets me a prediction, of where it would be in a small time slice, (say 1/20th of a second), so I moved the particle there and repeat (This was all done in Java AWT I believe). All in all it was fairly straight forward, and gave the user the experience I think you are looking for.

  49. Space Taxi for Commodore64 by thejahn · · Score: 0

    Sounds like you want to write Space Taxi

  50. Try checking out Unity 3D or UDK by Anonymous Coward · · Score: 0

    Try checking out Unity 3D or the Unreal Development Kit (UDK) since it sounds like your game would benefit from being 3D. There's a great community and resource library for both programs.

  51. Use an existing engine... by rastoboy29 · · Score: 2

    Like Torque (my favorite, that I used in my own game (see sig)).  Or check out Ogre, which is coming along nicely.

    Finding help (for free OR pay!) is nearly impossible.  Most people just don't have the staying power.  I've had many people enthusastically tell me they want to partner with me on my game, and exactly zero lasted more than a few days.  Either that, or they just don't have anything to offer.

    I made my game by myself, and it's a full featured first person shooter.  You can make your cannon game.

    1. Re:Use an existing engine... by Anonymous Coward · · Score: 0

      Like Torque (my favorite, that I used in my own game (see sig)). Or check out Ogre, which is coming along nicely.

      Finding help (for free OR pay!) is nearly impossible. Most people just don't have the staying power. I've had many people enthusastically tell me they want to partner with me on my game, and exactly zero lasted more than a few days. Either that, or they just don't have anything to offer.

      I made my game by myself, and it's a full featured first person shooter. You can make your cannon game.

      I would suggest something even easier. Construct or Flixel would be a great place to start. They are perfect for prototyping a flash game with minimal coding required. First prototype something, find out if its fun, alter the mechanics and go from there.

      Also, If you like listening to podcasts gamedevratio.net has some decent ones.

  52. Re:Moron by Jarik+C-Bol · · Score: 4, Insightful

    had this idea? heck, it has been done. googled 'spaced penguins'. I played that like, 8 years ago, and it was old then. exact concept. gravity wells, target, projectile. was kinda fun for a while, and after i beat it once, I started trying to put the projectile in orbit around various gravity wells.

    --
    I've decided to Diversify my Holdings. I've divided my cash between my left and right pockets, instead of all in one.
  53. Reinvent the wheel by BenoitRen · · Score: 1

    Unfortunately, game programmers are very secretive of their craft and won't help you much, if at all. I'm trying to develop a game myself but I'm mostly on my own.

    • Books are either for beginners or professionals. Anything in-between isn't discussed. It doesn't help that most of these books are "learn C++" or "learn DirectX/OpenGL" books in disguise.
    • Asking intermediate level questions on message boards will get you answers like "It depends." and "Try a couple things and see what works."
    • Googling information will net you a lot of tutorials that are either about really basic stuff or very advanced 3D techniques.

    Now, I'm not saying that others should do everything for me. What I'm saying is I'd like to see how other programmers have solved certain problems, learn from them, and then make my own implementation. I know there are source code repositories for open-source games out there, but they're an exercise in frustration because there's no documentation of any kind for these complex beasts. Some repositories don't even have indentation while browsing them.

    So, yeah, we're all stuck reinventing the wheel. What a waste of time.

    1. Re:Reinvent the wheel by Surt · · Score: 1

      I wouldn't say most of us are all that secretive. It's more of a case that stuff is so customized and specific to the game that generalizing to anyone else's problem represents a substantial challenge.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    2. Re:Reinvent the wheel by nsxdavid · · Score: 1

      What??? Game Programmers are NOT secretive at all. We share virtually everything! I'm sitting right now at the tail end of GDC where we spent a week of doing nothing but sharing. Where did you get that notion?

      --
      David Whatley
    3. Re:Reinvent the wheel by Anonymous Coward · · Score: 0

      In my opinion it depends very much on what you are looking for. There are tons of articles and tutorials on simple things like timestepped physics, framerate independent movement etc. Once you try to go deeper into the material there seems a lack of this. I have seen very few in depth readings on game architecture like on approaches to design your own game engine for example. Your best bet is then looking at the source of existing engines.

      Another example is game saving. There are a ton of answers on serialization and writing stuff to a file in binary or text, but almost nothing on how to best design a flexible system to do that without having to write save load methods for each game object and the codebase becoming very messy. I'm solving a problem like this for a project right now, and I plan to write an article about the result later.

      I know a lot of things are often very customized, but I've found that with some thought a lot these things are generalizable.

    4. Re:Reinvent the wheel by BenoitRen · · Score: 1

      Where did you get that notion?

      Video game industry history and my own experiences trying to find information. I thought I was clear enough on the latter.

      Correct me if I'm wrong, but GDC is for professionals (and the press), right? It's not like I'm going to get trained there even if I'm allowed to attend.

  54. Unity by degeneratemonkey · · Score: 1

    Unity3D is a game engine and authoring tool. It's pretty awesome, and a lot of people (including my company) use it commercially. Its approach to modeling a game world is sensible enough to be easy for an amateur game developer to pick up on the new and relevant concepts without being overwhelmed by technical details. At the same time the framework is robust enough that an expert developer can take it very far.

    The vast majority of its features are available in the free (as in beer) version (unity3d.com). The pro license ($1500) nets a few additional features, including the ability to build something for commercial deployment not branded by Unity Technologies.

    It sounds like you have plenty of C# experience; this is great. Unity is built on top of a customized Mono implementation and all development can be done in the C# language. The authoring tool can generate standalone Windows and OS X executables, as well as web players (using a widely available Unity browser plugin), Flash, iOS, Android, and (some day) HTML5.

    I can't stress enough how highly I recommend Unity as a starting point. You can ease your way into understanding all of the technical nuances of game development. While the documentation is a little lacking in quality (that's not to say it's terrible either), there is a great open community built around Unity, and of course there's always #unity3d on Freenode.

    Sorry if this reads like an advertisement, but I am a very happy user who prior to Unity did all of my game development in C++ on engines built from scratch. It's a great free tool, great for learning, and great for (eventual) low-cost commercial development if you ever go down that route. Cheers and good luck!

    1. Re:Unity by degeneratemonkey · · Score: 1

      As an addendum, I should note that specifically it's built on top of Mono 2, and currently supports C# 3.0 and lower. This means you get LINQ and other niceties of 3.0, but you don't get the latest and greatest language features like dynamic types or co/contravariance.

    2. Re:Unity by Anonymous Coward · · Score: 0

      I would like to second this!

      I use Unity all the time, and it's great.

      In addition, until April 8th, they're giving the Android and iOS basic versions away for free.

  55. Easy start here by Anonymous Coward · · Score: 0

    Hi,
        I'm in the same boat as you, and this is what I have to say about the subject.

          You want 2D? you can do easy with libsdl.org, which is free and gpl. (Which can compile on -->almost-- anything) (Go for OpenGl even for your 2d game to gain tons of FPS and kewl effects)
          Wanna physics in your 2D game? Go grab Box2D!
          You want easy 3D? You can go grab an engine like Unity or Ogre (You can even use your C# with MOgre for playing with models and all)

    and have fun :)

  56. Re:Moron by Anonymous Coward · · Score: 1

    That's like, your opinion, man. Most amateur photographers I know think very high of their pictures of cute puppies, kitten or kids too.

  57. Re:Moron by Anonymous Coward · · Score: 0

    Warheads
    http://www.youtube.com/watch?v=Vu3jzhwK60A

  58. How I did tetris from scratch by MickLinux · · Score: 1

    When I had a brand new PS2/30 with two floppy drives and (gasp!) MCGA, I wanted to write a game, and settled on a new arcade game I had seen: tetris. To get the game fleshed out, I first did it all in text, and then wrote a graphics front end. As the OP indicated, there was no money in it, but it was educational. But basically my advice is to ignore the graphics until everything else is done.

    --
    Correct Horse Battery Staple: 72 bits of entropy. Enter "Correct H" into google. When it generates the phrase, that's
  59. Re:Moron by frosty_tsm · · Score: 0

    Expertise? Amateur? (Oxy)moron.

    I think they are looking for a virgin prostitute.

  60. If you can code C, you can code AS3(Flash) by GoodNewsJimDotCom · · Score: 1

    I converted one of my c games straight to Flash in one week of learning the language. The syntax is almost identical! On top of this, AS3 graphic handling is waaaaay better than C/C++. I recommend picking up Flash, get Flashbuilder 4.6 from Adobe, well worth the money imo if you know C.

  61. Re:20 Years? by NoSleepDemon · · Score: 0

    Also, learning to code and javascript in the same sentence make his post even more suspect! Finally, physics is anything but simple, so many ways to optimise your calculations, so many variables you could take into account if you wanted to. But I digress, 4 months of JS is enough for anyone!

  62. 2d graphics is dead easy by Surt · · Score: 1

    Find a book on 2d graphics and start learning. It's really, really trivial. Almost nothing required beyond the ability to add and subtract.

    3d is a quantum leap more difficult, requiring matrix algebra and calculus, so I'd stay away from it unless you really want to do some studying.

    So learn what a sprite is, get one appearing on screen, start manipulating it according to the physics equations you look up, and see how it behaves.

    I'll also warn you that you aren't likely to find someone to build your game, the way you want. At best, you might find someone to collaborate with, but you won't get exactly what you want unless you are leading the process, and able to change the direction by implementing it yourself when your partner starts to depart. The world is full of people with game ideas, including pretty much 100% of those who would be candidates to build your game, and they'd typically rather work on their own idea.

    Also, i've seen the game you describe on armor games. It had squads on planets shooting at each other with a variety of weapons and the planets had varying gravity impacting the path of projectiles.
    It was pretty well done, so you might want to check it out. I'd find it for you but the search on that site is pretty useless.

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    1. Re:2d graphics is dead easy by Surt · · Score: 1

      Gravitee wars, mentioned elsewhere in this thread was the game I was thinking of.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  63. Flash without money... by Anonymous Coward · · Score: 0

    OP should look at: http://flixel.org/

    Everything you need to write Flash games with free tools.

  64. Points by Lp34dr · · Score: 1

    keys for those game are really picture, image how disappointed when those kids got angry bird but it is not Ultra High Definition Retina tweaked.

  65. you don't need physics by decora · · Score: 1

    repeat:

    xpos += xvel
    ypos += yvel

    xaccel += xforce
    yaccel += yforce

    xdist = planetx-bodyx
    ydist = planety-bodyy
    mass2 = bodymass

    xforce = g*mass1*mass2 / xdist*xdist
    yforce = g*mass1*mass2 / ydist*ydist

    ----

    if you have more than one object, do a loop through the 'force = ' stuff and use += to aggregate it.

    1. Re:you don't need physics by Anonymous Coward · · Score: 0

      Heh, xpos += xvel*timeSinceLastFrame
      ypos += yvel*timeSinceLastFrame
      Noob. ;)
      (P.S: Just kidding.)

    2. Re:you don't need physics by hankwang · · Score: 1

      quote: xforce = g*mass1*mass2 / xdist*xdist

      assuming you meant to write parentheses (xdist*xdist), if the particle coordinates are (0,0) and (0,1), then xforce would become infinite. you'd need something like
        xforce = g*mass1*mass2*xdist / pow(xdist*xdist+ydist*ydist, 1.5)

  66. oops by decora · · Score: 1

    mass2 = planetmass
    mass1 = bodymass

  67. Angry Birds Space by circletimessquare · · Score: 1

    i apologize, it looks like the original monster app has already cannibalized your idea space:

    http://www.youtube.com/watch?v=lxI1L1RiSJQ

    Angry Birds on the ISS

    (then following through to your idea of alternative gravitational fields)

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
  68. This game idea has been done by Suddenly_Dead · · Score: 1

    Just FYI. There was an online, multiplayer artillery game in space, where the players sat on planets and had to shoot each other by using the planets' gravities to manuever the shells. I even remember it having little callbacks to Scorched Earth (e.g. the death messages, "Remember the Alamo!"). It was pretty damn entertaining, I just can't remember the name.

  69. XNA by Grieviant · · Score: 1

    Give XNA a try. It allows you to create games for the Xbox or a Windows PC, and the developer license is only $100 a year. Since you have some C# experience, you should be able to get comfortable with it fairly quickly.

  70. Freelance photographers are cool by mevets · · Score: 2

    There is lots to learn from them, they etched out a niche market that most freelance programmers can only dream of,
    Often, and at least early in their career, true photo-artists will 'don the fishnets' and do weddings or whatever to keep the food supply running. That doesn't lessen their art, Everybody that took a couple of bucks for some crappy code should stammer here and move on.

    Oh, yeah and 'imagine no religion; its easy if you try...'

  71. but you do need numerical analysis and physics by mbkennel · · Score: 1

    Because that's a pretty bad way of integrating equations of motion.

    It's what I learned high school---when I actually started doing physics for real I found it was junk.
    At least use 2-nd order Runge-Kutta, you'll also need a variable time step.

    For a game it doesn't matter likely, but even RK won't actually preserve things like energy, momentum and the 3rd invariant in 2-body mechanics which I've forgotten now.

  72. Flash is perfect for this. Here's where to start. by Anonymous Coward · · Score: 0

    Go to www.flashdevelop.org and get the free FlashDevelop IDE. When it installs, it will download and setup the Flex SDK so that you'll have a working environment to start with.

    Once it's installed, create a new AS3 project.

    Open your Main.as class file. This is your starting point. When a Flash application launches, it creates an instance of this class (which extends flash.display.Sprite, giving it a bunch of display characteristics and functionality). Press Ctrl-Enter to compile and launch. This is a running, graphical program (though you obviously won't see anything in the display yet).

    Now back in the Main class, in the init() function, instantiate a Shape object. We're going to make a circle that moves across the screen just so you can see how to get animation going. With your knowledge, you can build on things from there.

    var circle:Shape = new Shape(); //shapes have a Graphics object as a property which gives them access to drawing routines
    circle.graphics.beginFill(0xFF0000);
    circle.graphics.drawCircle(10, 10, 10);
    circle.graphics.endFill(); //The Sprite class, which our Main class extends, extend DisplayObjectContainer, which gives them the ability to have child DisplayObjects added to them (like the Shape class).
    this.addChild(circle);

    Run your movie again. Now you have a stationary circle on the screen. Close it.

    When Flash apps run, there is an event that fires every time the display is updated. If we listen for that event, we can update the position of objects (as well as do other logic) to create animation, etc.

    this.addEventListener(Event.ENTER_FRAME, onEnterFrame);

    now add the handler function

    private function onEnterFrame(e:Event):void {
          circle.x += 3;
          if (circle.x > this.stage.stageWidth){
                circle.x = 0;
          }
    }

    Finally, the circle variable is out of scope in this method, since we declared it in the init() function. So change it to a class member variable by putting the circle declaration just within the class brackets. The shortcut for doing this is to put the cursor on "circle" in "var circle:Shape" and press ctrl-shift-1. (Ctrl-Shift-1 is FlashDevelop's universal smart shortcut). Press Ctrl-Enter to run.

    AS3 is closest in its features and form to Java and C#, so if you know those, you'll pick this up very quickly. To get comfortable with Flash, familiarize yourself with the Flash DisplayObject class hierarchy. Flash is heavily event based, and creating custom events as a means of creating loose coupling is quick and easy, so you'll see liberal use of this in AS3 frameworks. AS3 lacks some features, like delegates and function overloading, but has some others that come in handy, like closures, optional function parameters, and getters/setters. Most of the normal OOP skills apply - classes, inheritance, interfaces, private/public methods, etc.

    For specific questions, there are plenty of resources. http://www.actionscript.org/ gets a lot of use. You could also probably find a partner to work with on Newgrounds or Kongregate.
         

  73. Slingshot game by Anonymous Coward · · Score: 0

    Slingshot from the Ubuntu repos.....Tanks/Cannons/Worms with gravitational fields of planets to pull ur shot this way and that way......really good fun!

  74. Re:20 Years? by bipbop · · Score: 1

    Hash tables are a funny example, because I'd naively expect no matter what you were working on, you'd be familiar with some basic data structures after that many years. Physics, not so.

    But then, I suppose different developers do have different experiences. I'm curious what those programmers you know tend to work on.

  75. Re:20 Years? by narcc · · Score: 2

    I just interviewed a guy with 15 years of experience that couldn't tell me how a hash table works

    Cut him some slack. There hasn't exactly been much need for the average developer to implement their own hash table in the last 15 years. I certainly wouldn't expect the average developer to understand all the issues and complexities! Well, maybe a recent CS grad, but even then I wouldn't expect them to be prepared to discuss them in more than a trivial way.

    Though I am curious as to what exactly would have satisfied you in an interview? The only quick answers I could think of are pretty trivial -- anything more detailed and I'd likely spend the better part of the day answering that one question.

  76. Unity3d by Anonymous Coward · · Score: 0

    As a professional game programmer (you may have heard of one of my games Robot Unicorn Attack on iPhone) I would recommend Unity3d over pretty much anything else for your idea. The documentation and forums are great. It's free for the indie license and has a great asset store where you can get art,sounds, and scripts for free or for fee. It has a built in physics engine and can export to multiple platforms if needed. Plus it uses C# which you say that you know. I would not start with C++ and opengl as some suggest for a first project as this is probably a much more lower level than you need to go and XNA limits you just to the xBox and Windows and does not have a scene editor like Unity. You could do it with Objective C using Cocos2d and box2d or Chipmunk, but this approach would take a lot more time to learn than Unity. As for your idea... It's hard to say whether it will be fun. I've found that there are many games that sound fun on paper, but end up being boring. And it probably has already been done (do your research). To test whether it's fun you just have to prototype it. Don't even use real art at first. Just the primitives that come with unity (boxes, spheres, and so on) to just do the gameplay. Then if it is fun and you want to make it 2D then I would buy the Unity 2D Toolkit plugin and look for an artist that will work for a share of the profit on craigslist or something. Perhaps you could sell it on the iPhone. That's what I would do.

  77. Re:Moron by Anonymous Coward · · Score: 0

    First off, a note: I have no idea what the fuck half of your sentence met so I'm responding to what I think you intended.

    Holy shit, someone might rip him off so he probably shouldn't even do it in the first place good point. It said all over the summary that money was the motivation so this plan of action makes sense. Oh wait.. he doubts this will ever be commercial. Huh, doing shit for fun? Weird. New to me. ...but lets be honest, you knew that. You saw some slashdot comments a while back about how some facebook game company rips off other people's games and makes money off of them, and you wanted to sound smart so you just posted about that since it sounded similar and you didn't have any actual helpful input. Having said that... my advice is to look at some game dev forums, people might be willing to help out given that you explain your intentions clearly. If you sound like you're just asking for someone to program for you they won't bother reading your post so try to avoid giving off that impression in the title or something.

  78. Re:20 Years? by Anonymous Coward · · Score: 0

    what part of this teaches him how to do 2D physics modeling?

    Highschool?

  79. Re:Moron by Suddenly_Dead · · Score: 1

    Warheads
    http://www.youtube.com/watch?v=Vu3jzhwK60A

    That's the game I was looking for. It was awesome. That video is terrible and doesn't do it justice. It was basically a 'modern' Scorched Earth, in space.

  80. Cross platform games in haxe+nme by Anonymous Coward · · Score: 1

    If you want to try something new and don't mind it being 2d (which is the easiest to start with) you could write your game/prototype in haxe (http://www.haxenme.org/) and have it compile to flash, javascript, or natively to desktop, iOS and Android.

  81. Re:Moron by WombleGoneBad · · Score: 1

    First a large proportion of 'amateur' programmers are actually professionals during the day. Second, one of the best programmers I know works as a manual laborer in a fish farm. He tried the professional programmer route, but simply could not take the shit you have to put up with from incompetent managers. Thirdly I also know that the MAJORITY of professional programmers I know do not have the ability to 'make it' in most 'free' programmer ecosystems. There are a lot of stupid guys somehow survive in the corporate environment, largely because their managers value bullshitters more than talent.

  82. I don't understand by The+Dancing+Panda · · Score: 1

    I have never understood this question. Maybe I'm a little young (27), but I've been programming professionally a while (6 years), and it's all the same: programming is programming. If you understand physics, I don't get why you wouldn't know how to program game physics. Sure, It's some different libraries, and a different sort of idea of how to do things, but that should take you all of a day to learn that idea (the three methods that run continuously and what they do/mean). You're not describing something complicated. Do what you did when you learned your first language: start with something simple, and work your way up. It won't take long.

  83. Use Unity 3D by caywen · · Score: 1

    I don't work for Unity 3D, so this is not a shill. Unity 3D is an awesome tool, well worth the $400 investment. I've never seen a game development tool flatten the learning curve better.

  84. engine by Tom · · Score: 1

    Get an engine. I personally use Unity 3D, and there's a free version of that available.

    In this day and age, only the insane and the bleeding-edge write everything from scratch.

    --
    Assorted stuff I do sometimes: Lemuria.org
  85. Im a game dev, myself by Anonymous Coward · · Score: 0

    If you are already proficient with C#, then XNA is a top notch choice. you can feasably make any game with it, but performance would suffer if you planned a AAA title. (C++ is typically a better choice) XNA has an enormous amount of support on the web; tutorials, code, working games. XNA also readily targets XBOX LIVE, PC platforms, and the new Windows Mobile Phone 7.

    Another good one to target would be Android game design. Using Java on eclipse IDE. If you are unfamiliar with this environment, it can be confusing to get started. And the android framework is a bit diff in syntax/terminolgy than C#. However, Java is quite similar to the languages you already know, and shoudl be able to jump right in. Using java can support many platforms; Android, iOS, WebSites, PC, Linux.

    Game design is one of the most difficult fields of programming, so you will def have to have patience and work at it a bit.

  86. Re:20 Years? by PhrstBrn · · Score: 1

    He should be able to come up with some answer involving "hashing", "keys", and "buckets". I honestly have no idea how you would know how to use a hashtable if you didn't understand how they work. Unless you're doing really basic "programming", you're going to have to know how to use a hashtable or key/value storage.

  87. Unity = free 3D gaming + physics engine by Anonymous Coward · · Score: 0

    Do not re-invent the wheel, just use this: http://unity3d.com/

  88. Good books by Daniel+Phillips · · Score: 2

    Physics for Game Developers
    Physics for Game Programmers
    Essential Mathematics for Games and Interactive Applications, Second Edition: A Programmer's Guide [Hardcover]

    Nothing that Google can't find. Programming language: C++ because the vast majority of examples are coded in it, plus it's fast and light if you don't get too stupidly abstract. Java if you want to write for Android. This particular application will work fine with very basic Euler integration: add the forces, divide by the mass, poof you have acceleration, integrate for velocity, integrate again for position, and shazam, physics.

    --
    Have you got your LWN subscription yet?
  89. Re:20 Years? by narcc · · Score: 1

    I honestly have no idea how you would know how to use a hashtable if you didn't understand how they work.

    It should be really easy. You know, because they're ridiculously easy to use; which is why you find them used wildly inappropriately so often.

    Knowing when it's best to use one in place of another structure is an entirely different story which can depend on the specific implementation.

    That would be a much better interview question, IMHO.

    Unless you're doing really basic "programming", you're going to have to know how to use a hashtable or key/value storage.

    Knowing how to use a hash table is entirely different than knowing how it works or how to make one.

    He should be able to come up with some answer involving "hashing", "keys", and "buckets".

    If all you care about is the developer being able to use one, I have no idea why you'd expect that sort of answer? Unless they have a CS background (which doesn't seem to be the norm) I doubt they'd be able to answer the question even at a superficial level. Granted, a CS undergrad should damn well be able to answer your question. Still, I wouldn't expect anything more than the absolute basics in an interview.

  90. Re:20 Years? by gangien · · Score: 1

    A hashtable is an important data structure that is used everywhere. I think you should have a basic understanding of such a common structure. What would have satisfied me is a basic explanation of the process that get and put go through. 45 minutes and i'm basically looking for answers to 2 questions, how a hash map works and an implementation of atoi. Asking that of a Senior Software Engineer should not be problematic.

  91. Re:20 Years? by gangien · · Score: 1

    I wasn't berating him. I was simply saying, it's not surprising.

    And i wouldn't say that guy who couldn't tell me what a hashtable does, was an idiot. I just wouldn't call him a Software Engineer.

  92. Re:Oh, hi! I remember you... I think. by wmbetts · · Score: 1

    I haven't seen that file in years and years. Thanks for the post :)

    --
    "Ubuntu" -- an African word, meaning "Slackware is too hard for me". - stolen from Dan C alt.os.linux.slackware
  93. Have a look at these tutorials by Anonymous Coward · · Score: 1

    Hello there

    I have a suggestion for you - actually 2, first off graphics for your game, then which engine to use. The engine is completely free to use and gameplay can beenhanced using python scripts etc.

    Graphics:

    Unless you are a graphic artist I suggest you create an account at:

    http://www.freelancer.com/affiliates/einarpetersen/ and create your profile (please do not change url and sign up immediately as I will benefit from this - while it won't cost you a thing) then create your project and invite flashcreativo to bid on your project. you will not regret your decision, you will get high quality work at a fair price from someone that puts an honor in delivering on time and according to specs.

    About the graphic artist

    For my project I have been quite fortunate to run into a master craftsman when it comes to 3D Modelling - his name is Gustavo A. Ordoñez and he lives in Cordoba, Argentina.

    Some of his work can be seen on one of his sites www.flashcreativo.com.ar

    He is explaining a little about his involvement in a project he is doing for me at the moment at www.blogaqua.com.ar/search/label/Videojuegos - where he also has links to his teaching courses.

    He is currently working as a teacher, 3DFX artist etc. and a darn good one at that - I would definitely recommend him if you are in need of quick and to the point models

    Here are some examples of the work he is doing for me

    Mothership
    http://einarpetersen.com/blendergames/terranassault/mother.rar

    Octopus
    http://einarpetersen.com/blendergames/terranassault/octopus.rar

    Spider
    http://einarpetersen.com/blendergames/terranassault/spider_ship.rar

    Frog
    http://einarpetersen.com/blendergames/terranassault/frog_ship.rar

    The project he's doing for me is here: http://einarpetersen.com/doku.php?id=3dproject1

    If you use him send regards from me and refer to the work he has done - I'm confident he'll give you a very fair price, you can check on the projects on freelancer to get an idea of the pricing he's given me.

    And here's a list of tutorials on creating games in Blender - yes there's a physics engine built in - I suggest using simple geometric shapes to test out your concept and then replacing them with actual models like the ones above, just not those exact ones :)

    Engine (includes physics - attraction, repelling etc.):

    http://www.youtube.com/watch?v=3ZxEhZwCfh0&context=C39b9f82ADOEgsToPDskIyW-4AJlh4oFBFpI8iWEzq - Character control

    http://www.youtube.com/watch?v=A5r2dNmctFQ&feature=related - make character jump

    www.youtube.com/watch?v=SRXoFLG9XR8 - Blender 3D tutorial - 3rd Person shooter #1 - The above two in one tutorial with a slight difference

    http://www.youtube.com/watch?v=SRXoFLG9XR8&list=PL1836D2AD80A14969&index=1&feature=plpp_video - Blender 3D tutorial - 3rd Person shooter - playlist--- MY ABSOLUTE FAVORITE

    http://www.youtube.com/watch?v=3lDl9L3CzdI - how to make your character shoot in Blender3D

    http://www.youtube.com/watch?v=eyDp7vn8iAg&context=C36c9da6ADOEgsToPDskJ0IIC9yy_WMIQIex6Whf_j - adding 3D texts to game

    http://arnaud.ile.nc/sce/home - tool to create Blender3D cities with a single click

    http://www.youtube.com/watch?v=aVWz96erinc&feature=related - “The Real Way” to Fire a Gun in Blender

    http://www.youtube.com/watch?v=iG2qvhcx7jU&feature=related - Blender follow system perfect for those zombie games ;) and your attraction thing

    www.youtube.com/watch?v=H9bKw-14_Yw&feature=related - How to make and kill an enemy on blender

    www.youtube.com/watch?v=VIsFlG46-wI - Basic Enemy AI (No python) - Blender Game Tutorial

    www.youtube.com/watch?v=fAGjzdh4OKY - Blender 2.5 FPS Tutorial - Part 1

    www.youtube.com/watch?v=SRXoFLG9XR8 - Blender 3D tutorial - 3rd Person shooter #1

    http://www.katsbits.com/tutorials/blender/import-google-sketchup-kmz-models.php - Importing Google SketchUp files into

  94. Re:Moron by cgenman · · Score: 2

    I actually made a version of this as an experiment in Unity. The trajectory of the projectile has such sensitive interdependence upon initial conditions (read, chaos), that it wasn't fun to play. Most people have problems with simple parabolas. The multiplicative effects of multiple gravity sources takes it outside the realm of the pleasurable.

    If he is going to do it 1: Keep the gravitational sources stable. Otherwise it's just a mess. 2: Give the player some control over the projectile after firing. Even slight amounts of control can make all of the difference.

  95. Re:20 Years? by ghostdoc · · Score: 1

    Well start talking to an experienced C# coder about hashtables and they'll reply by talking about dictionaries.

    Maybe the confusion was on the other side of the desk?

    --
    Business/App ideas are like arseholes: everyone's got one, they're mostly shit, but very rarely they contain a diamond
  96. Flash / AS Development is pure and serious fun! by Qbertino · · Score: 1

    I'm a thouroughbreed Flash/ActionScript developer currently bemoaning the slow demise of Flash and diving into other technologies as a replacement - which, on a sidenote, are *all* a *big* step backwards in terms of development workflow and deployment for end-user applikations. Even something like Qt wether with some neat PL like Python or just the pure C++ feels like going back 20 years in time. Thus I have to say the following:

    If you want to do this project for yourself and your close friends, for fun and games with no business considerations as to wether it will run on future mobile devices - which rules out Flash a little - I cannot emphasise enough that I strongly recommend you actually use Flash for this project!

    Just dive in and see to it that your library tree stays just as clean and well ordered as your object model.

    If you are a programmer with OOP experience - which I gather you are from your descripion - you *want* to use Flash. For the simple reason that visual objects in Flash follow the exact same herarchical behaviour as programming objects in Java, AS or C++. If you plan and build you asset tree inside the Flash projects library carefully and name everything consistently, moving a load status bar is as simple as
    [code]

    progressBar._xscale = Math.round(myObject.bytesLoaded / myObject.bytesTotal * 100);

    [/code]

    The visual objects translate directly into the programming world and vice-versa. And drawing your objects with the Flash vector tools, grouping, instancing, ordering them into your object herarchy and naming them is second only to awesome sex. You have the worlds leading visual designer for the visual stuff and the most crappy editor for AS code - which is why the first thing you do is write "include 'mycode.as" in the first root movie frame and start writing you code with jEdit or some other editor that has simular top-grade AS support and patterns.

    Some tips to get you started without doing the mistakes everybody does: Don't animate your root timeline. Keep root as clean as possible. Best: Use a stage clip (object) where all the stuff happens. ... If you animate something in the timeline, put it in a seperate timeline. If in doubt wether you should turn something into a symbol (visual class), do it. Instance it and give it a fitting name. ProgressBar is the symbol, progressBar is the instance ... exactly like in code. Keep your library clean, use clearly namedfolders to stow away tweens, fonts and stuff. Name everything in use - you should be able to program, build and compile your projects entirely with only the lib and a CLI compiler. Use the Flash IDE mostly for drawing and assembly of the layout.

    If you want to be independant of an IDE for large chunks of code, get the free Flex/AS compiler for your OS of choice (OS X, Linux or Windows) and dive into CLI and bash automated compiling fun.
    OReilly has a stack of books on Flash/AS development, most of which are quite usefull. ... The AS3 Cookbook is a bit of a backstep though - you might consider deving in AS2 and getting a used copy of the OReilly AS2 Cookbook and using the FOSS Motion Twin ActionScript Compiler (MTASC) - an AS2 compiler that actually is *better* than the Adobe AS2 compiler and started the whole 'Flash for free and seperate compilers for serious developers' movement a few years back. You can use an older copy of the Flash IDE for building your asset lib against AS2 - comes cheaper.

    Bottom line:
    That sort of game? For fun? Flash/ActionScript and an old student edition of the Flash IDE for assembling your visual and audio assets. It's a technology on the slow move out - sadly - but you'll have loads of fun. Promise.

    P.S.: If for some reason Flash is a no-go, try FOSS Pygame (Python, SDL, etc. - neat package), FOSS Sqeak (Smaltalk galore!), Corona for x-platform mobile, Torque Game Engine or Unity3D. ... Beyond that you're into serious development pain with some C-language and bizarely sized libs and development pipelines. Not fun. Steer clear.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Flash / AS Development is pure and serious fun! by Anonymous Coward · · Score: 0

      I agree, flash is great fun. I used to be able to make games of this ilk (simple-to-medium complexity physics based games) in flash when I was 11 (not because I'm some whiz kid or anything, it's just genuinely fun) when actionscript just came out. I think it was flash version 5 or maybe mx.

  97. Sounds like exactly what you want is: by ldm · · Score: 1

    http://www.gameifesto.com/
    I have no experience with them, but it sounds like they're thinking along the same lines that you are - a matchmaking service for game developers.

  98. Been done- by Anonymous Coward · · Score: 0

    See "gravity pods" There are two versions.

    http://www.wickedpissahgames.com/games/gravitypods/GravityPods.html

  99. Blender Game Engine by Anonymous Coward · · Score: 1

    Go download Blender and use its game engine to make your game and use gravity like constructs to create your mini black holes. the BGE will even let you export your game as a running standalone app. Good luck!

  100. As a programmer this makes me mad by EmperorOfCanada · · Score: 1

    I am so sick of people coming to me having seen my successful apps and saying, "hey you and I should make an app together." I just tell them, "I have about 20 years of projects floating around in my head with them coming out one at a time. It would be faster for you to learn to program apps. I can suggest some great online resources."

    These bozos seem genuinely hurt that I don't want to make them a pile of cash. The only time I have collaborated on an app the other half brought a huge non programming resource to the party; Not just an idea for the next todo list app.

    So any programmer that gets involved with a relationship where one person is just looking over their shoulder saying "too big, too small, size does matter after all." should just run.

  101. Re:Moron by backslashdot · · Score: 2

    Just because it has been done before doesn't mean it can't be done again with a new twist. Look at many of the popular games in the app store such as Angry Birds or Doodle Jump (PapiJump and Sonic Jump) .. they are remakes of existing games that nobody ever heard of (Angry Birds concept is from Crush the Castle, Doodle Jump concept is from the prior iPhone game PapiJump which in turn improved on Sonic Jump) .. the biggest difference being the graphics.

  102. Easy by Anonymous Coward · · Score: 0

    Get Unity. It has a physics engine, and you scan write your game in C#, in a day or two.

  103. Sounds fun! by Anonymous Coward · · Score: 0

    I was in about the same position as you several years ago. Most of my 15 years of experience has been in corporate systems typically .NET and SQL Server type projects. When a certain phone came along (manufactured by a company that everybody here hates so I am not going to mention it), I decided to build a simple game. Between my neighbor and his friend the three of us built a fun and very simple game, which we distributed via the hated company's App Store.

    For me personally the process of learning a new language and set of frameworks, along with the positive (and yes, negative!) feedback from our users has been one of the most professionally satisfying experiences that I have ever had.

    In the end I am glad that I switched from the .NET framework to objective c, but not because of specific technology issues, but rather, for me, .NET is associated with work, and I really wanted something that seemed different that I could work on during my free time and not feel like I was still working on something that I needed to get up the next day at 6am and start the grind all over.

    My advise for you is to think about what you really want from the experience, and based on that choose the platform that you will use (will it be XNA, java, javascript, flash, obj c, etc?). In the comments so far to your question I have seen some really cool game ideas, so refer back here if you have a hard time coming up with ideas, but there are always neat game ideas floating out there that just need an implementation... (although your idea sounds really cool to me, so far!!)

    As for working with somebody - I think it is a great idea to reach out to somebody who can help you on a game. There are all kinds of opportunities to meet people who are working on a particular technology platform - one that I have had luck with is Meetup.com.

    Anyway, I wish you the best of luck and look forward to seeing a version of your game someday!

  104. this will be lost and ignored, but has to be said. by Anonymous Coward · · Score: 0

    If you are a programmer you research the problem you are tasked to solve, applying the techniques you have learned.

    The fact you ask this question implies to me that you are fucked.

      You are asking yourself to solve problems more complex than 'when a user presses this button put this thing in the database and show a dialog. This is why computer science exists.

    You will need: an undergraduate level understand of physics, calculus up to ordinary differential equations, linear algebra, algorithmic analysis, probability, combinatorics, graphics skills and many more like-minded skills. You could skip a lot of this, and use something like Unity, but you'd be better off understanding what Unity itself does, and most of the things I listed above are covered in any half-assed undergraduate program so you should know it anyway.

    Games may look like toys, but there's more real computer science, math, optimization and applied problem solving than is approached by any other software field outside of operating systems or compilers.

    There are hundreds of books on the subject, most suck. My advice is to go pick up a physics textbook, sit down at a compiler and apply it. Do the same with a puzzle book. If you can't do that, go learn about data structures and algorithms (no, *really* learn about them... be able to write real code on notebook paper without error and prove mathematically why it's optimal and correct). If you are unwilling or unable to do that, you should consider yourself lucky to have ever been employed as a programmer.

    if you think this dyksterian monologue is 'too heavy', suck it up... you should be ashamed to call yourself a programmer one sentence and ask for help implementing trivial mechanics like physics in another. They are FORM-U-LAS, you type them in along with your DA-TA.

  105. www.love2d.org by kikito · · Score: 1

    Go there. Read the tutorials. Ask in the forums.

    You are welcome.

  106. Re:20 Years? by gangien · · Score: 1

    1. He was a java dev.
    2. That doesn't change the question at all. It's the same damn thing.

  107. Code on open source projects by LetterRip · · Score: 1

    You could contribute to Ogre, Crystal Space, Blender Game Engine, or Erlicht. Or physics frameworks such as Bullet; or if AI is your interest - Recast and Detour. Or sound openal. If you are interested in the 'tool' side - then write importers/exporters for Blender; add tools that make rigging; skinning; modeling; texturing; animating; etc easier. You might also try writing importers/exporters for non opensource projects - ie Maya, 3DSMax, XSI, ZBrush - one taskthat would benefit blender users and build your knowledge of scripting and APIs for commercial 3d Apps would be to expand the .bullet importer to handle a wider variety of data. (Bullet format is the .blend format with the parser rewritten to be BSD compatible but not all of blenders features are currently handled).

    You can also find a volunteer team and program some actual games.

    You can also use commercial frameworks (Unity, etc.).

    If you are a student you could apply for 'Google Summer of Code' for one of the projects listed above and add one of the items for their wishlist if they get accepted.

  108. Re:this will be lost and ignored, but has to be sa by Anonymous Coward · · Score: 0

    I can see needing some basic knowledge of linear algebra and some calc / geometry, but diff eqs for an amateur game the guy is building for fun? Algorithmic Analysis?

    LOL

    You have no idea what you are talking about.

    The guy is not applying for a job building a deformation system for a AAA game. It doesn't even sound like he is really doing it commercially.

    Chill out, take a pill and go back to bullying somebody else.

    I love how those with no experience doing anything complex presume that since their moms say they are "1337" they act like a jerk to anybody asking a question about something they are interested in. Asking questions is just fine, and doesn't hurt anybody. If you don't want to answer STFU and don't be a dink.

  109. The best way to start is to just give it a try by Anonymous Coward · · Score: 0

    I'm a first year CS student, and I was able to make a cannon type game that fires a "projectile" along a parabolic arc in about an hour. I used a program called scratch - http://scratch.mit.edu/ (no messing with graphics libraries, easy to use). It was just a matter of figuring out the movements along the x and y axis given a specific angle and velocity, and then imparting gravity onto the projectile (which works along the y axis), to pull the object downwards. Well, if you wanted to have objects that "pull" or "push" the projectile, you'd just have to add or subtract the appropriate values to the x and y velocity based on the object's orientation to the projectile. Easy!

  110. The game already exists by yk4ever · · Score: 1

    A similar game already exists, written in Python.

    http://www.pygame.org/project-Slingshot-428-.html

    1. Re:The game already exists by steve.cri · · Score: 1

      make that at least three, including the one you mentioned. Including planets and all.

  111. start and the rest will come by Anonymous Coward · · Score: 0

    My advice is to just get started by solving one puzzle at a time. Along the way you will come across what has been done but you will also come up with plenty of ideas to make your original. I have been making flash games for fun since high school. I dont work in the software industry and have very little formal education in that area, but I have made dozens of games and even some that have made some money. BTW, I am always looking for people to collaborate with.
    here are a few of my old and recent games,
    http://englishplaylab.com/games/bescrambled/bescrambled.html
    http://baldosgate.com/
    mn2468@gmail.com

  112. Is louisvuitton3o.com reliable? by accvv03 · · Score: 1

    Certainly, it is. Here you can buy discount lv bags, gucci purses and hermes wallets of AAA quality but spend you a little money at http://www.louisvuitton30.com/ Cheap damier azur bags

  113. expert here by Anonymous Coward · · Score: 0

    gamemaker is coming out with a iOS / android compatible version.

    l33t.