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?"
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.
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.
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.
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'...
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.
http://gamedev.stackexchange.com/ is a great place to ask game development related questions.
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.
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.
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).
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.
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.
http://burro.cwru.edu/JavaLab/GalCrashWeb/
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...
have a look at this.
Operation Guillotine is in effect.
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
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.
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.
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>.
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!
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
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.)
"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.
It has everything you need, you can write scripts in c# and it's free. 3.5 will even export to flash.
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/
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.
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.
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.
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
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!'
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.
worst story, ever. btw, i got this idea for a game where people run around and shoot each other, like wolfenstein but better....halp?
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
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.
Looks like someone doesn't know the definition of the word "amateur".
(Hint: it's not the person who wrote the headline)
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
Have a look at StencylWorks, it uses the Box2D physics engine.
http://stencyl.com
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/
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.
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.
#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
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.
http://www.scorchedplanets.com
That one sounds like similar to the idea you had
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?
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.
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.
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
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.
Since when do they post craigslist ads on the front page of slashdot?
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
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.
Sounds like you want to write Space Taxi
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.
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.
expandfairuse.org
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.
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.
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.
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!
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 :)
That's like, your opinion, man. Most amateur photographers I know think very high of their pictures of cute puppies, kitten or kids too.
Warheads
http://www.youtube.com/watch?v=Vu3jzhwK60A
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
Expertise? Amateur? (Oxy)moron.
I think they are looking for a virgin prostitute.
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.
God spoke to me
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!
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
OP should look at: http://flixel.org/
Everything you need to write Flash games with free tools.
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.
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.
mass2 = planetmass
mass1 = bodymass
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
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.
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.
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...'
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.
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 //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).
circle.graphics.beginFill(0xFF0000);
circle.graphics.drawCircle(10, 10, 10);
circle.graphics.endFill();
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.
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!
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.
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.
Required reading for internet skeptics
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.
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.
what part of this teaches him how to do 2D physics modeling?
Highschool?
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.
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.
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.
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.
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.
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
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.
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.
Do not re-invent the wheel, just use this: http://unity3d.com/
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?
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.
Required reading for internet skeptics
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.
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.
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
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
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.
The ______ Agenda
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
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. ... 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.
OReilly has a stack of books on Flash/AS development, most of which are quite usefull.
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
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.
See "gravity pods" There are two versions.
http://www.wickedpissahgames.com/games/gravitypods/GravityPods.html
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!
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.
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.
Get Unity. It has a physics engine, and you scan write your game in C#, in a day or two.
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!
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.
Go there. Read the tutorials. Ask in the forums.
You are welcome.
1. He was a java dev.
2. That doesn't change the question at all. It's the same damn thing.
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.
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.
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!
A similar game already exists, written in Python.
http://www.pygame.org/project-Slingshot-428-.html
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
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
gamemaker is coming out with a iOS / android compatible version.
l33t.