Thread: New to game making

  1. #16

    Join Date
    May 2005
    Posts
    1,042
    To be fair to mcotter he is referring to GameBlender, which makes it possible to create interactive games using Blender models and animations using Python scripting and logic bricks.

    "Game Blender is used by inserting "logic bricks," "controllers" and "actuators" to control the movement and display of objects in the engine. Game Blender is also able to be extended via the Python programming language. Game Blender is bundled with Blender 3D which can be downloaded freely from Blender's official website, http://www.blender.org/."

    http://en.wikipedia.org/wiki/Gameblender

    He's not interested in coding the game engine, he's simply interested in learning how to use Python and logic bricks inside GameBlender. This is akin to modding or using a pre-built engine, so I really don't think it's useful to keep telling him how hard it is to code an engine from scratch.

    With that said, I don't really know how much use we will be. The experienced people on these forums tend towards writing the actual engine themselves, relying upon more 'universal' mathematical conceps. Using another program requires somebody with experience specific to that application (GameBlender in this instance), and I personally haven't created anything with GameBlender.

    The only reason I even have Blender is to have a wider range of file formats that I can fiddle with (e.g. to export and import, such that I can convert models to my own .ntmdl format).
    I'm not immature, I'm refined in the opposite direction.

  2. #17
    Registered User
    Join Date
    Jan 2008
    Posts
    70
    I started programming with Torque Game Engine, and I have nothing but good things to say about it (except that it will make you want to do a fps, which is a bad idea). I would point anyone looking to start out in that direction (maybe start with Torque2D now that it's around). I was able to switch from Torque Script directly to c++ with the help of CPlusPlus.com (a book would have been better in recollection ). I've never heard of Blender Gaming, and that alone makes me skeptical about it. (Thanks to BobMcGee for pointing out that he is using that btw). If you're going to use an engine, I would start out with a game like missile command, or another arcade game. Ballistics aren't too hard (especially if the engine is doing it for you), and that will get you started on something.

    Build your games iteratively!

  3. #18
    Registered User
    Join Date
    Mar 2008
    Posts
    65
    Oh, finally, something constructive. Thanks, bob mcgee! Okay, so now that we have gotten of the pessimistic page; if I need help, this would be a bad place to ask then? Also, I'm thinking that here might not be te best place for python questions then? Okay. I will get expirience from this game and then get advice on how the real hard core stuff works when we are done. We should eventually have a website where you can play it. I will post it up here for criticism and to deter future pessimism. "The greatest workers are those who see into their future and gaze upon success." I also have to add though, that I pointed out that I was using blender game, and I got more pessimism, and that even if I wasn't, I wouldn't give up. So about my questions, if this isn't the place to be asking for blender/python help, I guess I'll see you guys when I have a bit more experience.

  4. #19
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    There is nothing wrong with any of the posts in this thread. All of them are very truthful and if we told you this was easy or what you want to do inside of blender or whatever you use was going to be easy we would be lying to you.

    If you really want something easy then I suggest you forget about game programming. If you don't mind researching, reading, coding, and ultimately failing quite often then you just might have a chance. We see your type a lot around here and enthusiasm is great but without the skills and knowledge to back it up it will get you just past the opening title screen and thats about it.

    Nothing about programming and/or creating a game is easy. However it is very rewarding, can be fun, and during your journey you will learn a great deal. Programming games is really still a black art that has few manuals that show how to do it right. It is a different brand of programming that has much different challenges than what you may face in a non-game oriented code line.

    Even using someone else's engine goes far beyond just plopping down objects and throwing scripts at them. Eventually you will have to get into some 3D mathematics to do what you want. After all the research and time invested I have a fairly decent terrain renderer, a decent start to a 4x space game, a 2D tile engine, and several little 2D games like Asteroids and side scrollers. Keep in mind all that took a great deal of time and I'm still dissatisfied with most of the results. Others on here have had similar experiences so we are not just being pessimistic we are being realistic. Pessimism is being negative without due reason or just for the sake of being negative. Realism is not blind ignorance of the facts but rather facing them head on, addressing them, realizing their impact or relevance, and using creative solutions to resolve the issues they present.
    Last edited by VirtualAce; 04-16-2008 at 09:19 PM.

  5. #20

    Join Date
    May 2005
    Posts
    1,042
    if I need help, this would be a bad place to ask then?
    I personally do not have experience with GameBlender, or even the Python programming language.


    I also have to add though, that I pointed out that I was using blender game, and I got more pessimism
    ...
    Okay, so now that we have gotten of the pessimistic page
    The misconception was mostly your fault, as you don't currently know enough to properly ask your questions (e.g. your opening statement should have clearly said 'I am not interested in coding the engine from scratch'). Also, when you refer to 'Blender,' not 'GameBlender,' you are technically making a reference to a modeling/animation package, not something for making interactive software. We're not out of the 'pessimistic page' (which I found to be a rude comment), we're out of the page where you now know the difference between coding your own engine and using somebody else's. Bubba does in fact use Blender (not GameBlender) for producing models. If he wanted to, jumping into Python and logic blocks would be a trivial task compared to the heavy duty programming he's used to. If you got on his good side I'm sure he'd still be able to help you.

    In the meantime I've found some tutorials for you:

    http://ltc.smm.org/gamestudio/tutorials/blender

    http://www.ncsu.edu/project/stemgaming/blender.html

    http://www.ingiebee.com/tutorials/Bl...e%20Engine.htm
    I'm not immature, I'm refined in the opposite direction.

  6. #21
    Registered User
    Join Date
    Nov 2002
    Posts
    319
    the key in programming is to learn new peices of code each day , its along process but there is alot to learn in this field , just practice with small code and try and think of creating something , and if you can , take 1 step further and add more things to it , thats how i am learning to program games.

    i started with first
    createdevice
    render vertices
    transformations
    camera
    lights
    materials
    textures
    mesh

    i still need to learn pixel shader , but the rest above i learnt very slowly
    i dont use blender , i use 3dx max and export my .x with panda exporter
    Last edited by Anddos; 04-17-2008 at 04:12 AM.

  7. #22

    Join Date
    May 2005
    Posts
    1,042
    Anddos, he's not looking to write the engine.
    I'm not immature, I'm refined in the opposite direction.

  8. #23
    Registered User
    Join Date
    Oct 2006
    Location
    UK/Norway
    Posts
    485
    After what I understand you are trying to create a large game, not just a simple 2d puzzle or something like that?

    Creating something like that without any programming experience is going to be hard. Using python and a game engine makes it easier, but you still have to program.

    I know there are several "click and drag" game maker programs out there. I think Game Maker or something is one of them. That would be the fastest and easiest way to get started.

    If not, best of luck

  9. #24
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459
    I'd say too many people dive in to the rendering without actually understanding the maths. That's like building a car without knowing how to build.

  10. #25
    Registered User
    Join Date
    Oct 2006
    Location
    UK/Norway
    Posts
    485
    I'd say too many people dive in to the rendering without actually understanding the maths. That's like building a car without knowing how to build.
    I made a Ray Tracer without knowing any math at all. When I started I could not tell the difference between dot product and E=MC2 :P

    Debugging was a bit crap though :P

  11. #26
    The Right Honourable psychopath's Avatar
    Join Date
    Mar 2004
    Location
    Where circles begin.
    Posts
    1,071
    Quote Originally Posted by zacs7
    I'd say too many people dive in to the rendering without actually understanding the maths. That's like building a car without knowing how to build.
    It can be done. IMO, it really only becomes a problem when you want to move beyond what the API can do without you knowing.
    M.Eng Computer Engineering Candidate
    B.Sc Computer Science

    Robotics and graphics enthusiast.

  12. #27
    Dr Dipshi++ mike_g's Avatar
    Join Date
    Oct 2006
    Location
    On me hyperplane
    Posts
    1,218
    To be fair to mcotter he is referring to GameBlender, which makes it possible to create interactive games using Blender models and animations using Python scripting and logic bricks.
    Oh, I had never heard of gameblender before. It sounds easier, but then the games i was making in the past were in a version of Basic designed for games. So its still possible to make a mess even with very high level languages. Or maybe thats just me, lol.

  13. #28
    Registered User
    Join Date
    Mar 2008
    Posts
    65
    Okay, so I henceforth conclude arguing on the basis of mutual benefit through forgiveness. Though arguing can create strong debates and lead to the passion of challenge, growth is best found when sought by a whole.

    So, anything constructive will be appreciated and anything otherwise will be promptly ignored. Here is what I'm gonna need to do.
    The guy needs to move (blender can easily manipulate coordinates), and that shouldn't take too long.
    The guy is gonna need to shoot. I know how to get the barrel fire, but I have no idea how to have the bullet land where he is aiming.
    The camera angling will be parented to his gun, and that needs to be controlled by the mouse. Again I have little idea, but I think my friend might be able to help with that.
    I will need enemies who shoot back. There I am utterly clueless.
    And I need to do health, witch will be easy with Python.
    Thanks again to everyone, and one more apology. (Once again I owe Bob for hitting the mark dead on.)

  14. #29
    Registered User
    Join Date
    Dec 2006
    Location
    Scranton, Pa
    Posts
    252
    Gameblender has its own community, forums and tutorials, have you posted any of your Qs there? I'd bet those familiar with this engine would be of far better help to you.

  15. #30
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Okay, so I henceforth conclude arguing on the basis of mutual benefit through forgiveness. Though arguing can create strong debates and lead to the passion of challenge, growth is best found when sought by a whole.
    Ok?

    Anyways.

    1. The guy needs to move (blender can easily manipulate coordinates), and that shouldn't take too long.
    Then it shouldn't take long to figure it out in Python if you know the language. Normally you have an up, right and look vector. Moving along the look vector equates to walking forward and backward. Moving along the right vector equates to strafing left and right. Moving along the up vector equates to flying up or flying down.

    2. The guy is gonna need to shoot. I know how to get the barrel fire, but I have no idea how to have the bullet land where he is aiming.
    This is a simple vector operation. You can do this several ways. One way is to raycast the bullet instead of having it become an actual object in the world. The raycast is the simple parametric form of a line or P(final) = P(origin) + shoot_vector * distance. Normally you could use the shoot vector to perform a ray intersection test with the bounding volume of your object. Once that passed you would then do a triangle intersection test on the mesh itself to see which ray the triangle hit. Once you computed that you would then compute the barycentric coordinates of the ray intersection within the triangle. From there you would then fire off some type of 'hit' message which would then deduct health, etc.

    3. The camera angling will be parented to his gun, and that needs to be controlled by the mouse. Again I have little idea, but I think my friend might be able to help with that.
    In an engine this is handled by the camera class. The player's gun is pointing down the look vector of the camera. To translate the gun to the correct world position you would have a vector in local space that represented the location of the gun relative to the local origin. Then you would multiply the inverse world transpose matrix of the object with the local translation matrix of the gun to move it to the correct location.

    4. I will need enemies who shoot back. There I am utterly clueless.
    Enemies will have to 'rotate to face' your player and fire. The rotation can be done via quaternion slerp or it can be done via euler angles and axis-angle rotations. To do this you first find the up vector. This can be done by creating a ray from the player to the target and crossing it with the player's look vector. This will give you the up vector relative to the current player orientation. Once you have this you compute the dot product between the look vector of the target and the ray to the player. This is the amount of rotation or the angle of rotation you will need. All that is left now is to find the axis of rotation - which just happens to be the up vector. So if you rotate (target.look dot rayToTarget) about the up vector you just computed you will snap to or rotate to the player and vice versa. To smoothly rotate you linear interpolate between the current vector and the target vector you just computed. Once this is done you can set a flag that the target is now ready to fire. You fire the gun of the target at the player and use the bullet calculations I provided above in the previous answers. To add some randomness you would add a vector offset to the actual vector to the player. The offset would be a direct representation of the accuracy or skill level of the attacking object.

    5. And I need to do health, witch will be easy with Python.
    Health can be done via simple scalars. Reduce the health on hits by a constant amount or by an amount based on which bounding volume of the player was hit. The head bounding volume would obviously reduce or completely eliminate any health thus killing the player. Other bounding volumes would have a lesser damage amount.
    Last edited by VirtualAce; 04-17-2008 at 07:08 PM.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. 20q game problems
    By Nexus-ZERO in forum C Programming
    Replies: 24
    Last Post: 12-17-2008, 05:48 PM
  2. beach bar (sims type game)
    By DrKillPatient in forum Game Programming
    Replies: 1
    Last Post: 03-06-2006, 01:32 PM
  3. PC Game project requires c++ programmers
    By drallstars in forum Projects and Job Recruitment
    Replies: 2
    Last Post: 02-22-2006, 12:23 AM
  4. Game Engine Link Prob
    By swgh in forum Game Programming
    Replies: 2
    Last Post: 01-26-2006, 12:14 AM
  5. Lets Play Money Making Game
    By ggs in forum A Brief History of Cprogramming.com
    Replies: 1
    Last Post: 09-04-2001, 08:36 PM