PDA

View Full Version : games creation | Basics | Fill me in :)


everlite
06-30-2008, 08:12 PM
Hey guys,

I've been watching Apricot with some interest, sounds like game creation is finally in reach of the artist, or is it??

Sooo, for someone who is an artist and not a coder (and yes they're two seperate species) is it really as simple as it seems? What would it take to get going with something simple? I'm never going to recreate the next tombraider but i would like to take a character and have them move around around via a user interface, i could see a use in that. I mean this could have other practical application also, apart from games, ie architechural walkthrough, virtual demostrations.

And whats this Crystal Space .. for the dummies like me :) ??

Is it possible to give a rough outline of the process of saying taking a character and getting them walking around a room? surely it aint too hard :)

I welcome all you're insight, especially all those TD's who love to say .. Oh its simple .. just write a hundred lines of code, nothing to it! the same TD's who seem to believe everyone is born with the ability to code .. grrr, i get the feeling there's a harsh reality to this question that i just aint gonna like :)

Anyway ..

Dave.

Joat
06-30-2008, 10:08 PM
Blender game engine is relatively easy. You can build functiomality without actual coding. You use "logic bricks", which are behaviours you can attach to things.

Then again, I have never tried it, but based on vague memories on reading about it, it didn't came across as hard.

There used to be a guy in here who was like 14, and was making games at staggering speed. Shoot'em ups and driving type things.

Give it a go, and write a tutorial. =)

fktt
07-01-2008, 05:21 AM
The best place to ask that question and to learn about the GE is:
http://blenderartists.org/forum/forumdisplay.php?f=34

uncle_frankie
07-03-2008, 11:06 AM
Everlite

Yes it really is relatively simple to create realtime games and walk throughs with Blenders internal game engine. At it's most basic the process goes like this

*Create your arty scene with materials, uv textures, camera and lights. You can always import your models from another package

*Add some controllers (logic bricks) to your objects e.g. steering on a car.

*Add collision to the scene (Blender has a great physics engine called Bullet)

*Add behavior to the bad guys again via logic bricks

*Then *THIS IS THE REALLY ACE THING ABOUT THE BLENDER GAME ENGINE* You just press p in a viewport to run your game. No pipeline. No Exporting. Much much faster iteration then any game project I have worked on.

You can also add Python code to your scenes. Don't get scared though. It's a lovely language for artists and you can always cut and paste code from other peoples projects.

Make sure you have a decent OpenGL video card. If you go over to Blender artists there are loads of projects you can download and play with. Have a search for Duk Duk and the FPS template as well.

hope I've wetted your appetite? It really is a breath of fresh air and common sense compared to most realtime production.

everlite
07-03-2008, 07:25 PM
Thanks Francis, thats a great kick start explaination to get me going :)

So i guess the first thing i should investigate is Logic bricks. Is this like premade chunks of code designed to do specific things?

Whats the general overview process of using animation within characters? by that i mean, say you have a character that walks forward on keypress (up) and then jumps on keypress (space) does it tween between the animation cycles? is that a fairly simple process to plug together.

One thing that still worries me is that given all the amazingly inteligent people out there and "simple" blender technology that allows you to create easily, there's still very little in the way of interactive content produced from blender (by what i've seen). It kind of makes me think there's something very difficult that im yet to know about :) the big BUT ...

Is it worth investigating Crystal Space? Does this somehow make the job easier and more user friendly? I just know from i've seen with Apricot, looks an interesting toolset.

Thanks again, very motivated now :)

Dave.

uncle_frankie
07-03-2008, 08:55 PM
Yes the Logic Bricks are chunks of pre written code but that sounds scarey. Think of it more like lego bricks where you drag and drop connections between them. Some Lego bricks are responsible for sight, touch, AI, logic, model switching, direction etc.

Can't really help you with animation questions so I don't know if it blends them? Have a look at the first Apricot demo. The main character seems to have a lot of animation on him. Would that be good enogh for what you had in mind? http://apricot.blender.org/?p=224

I think if more people knew about the game engine there would more of it about. But big game creation is long hard process - design+artwork+game code+debugging. Your going to see a lot more static renders of Zbrush characters or cars on the interweb than finished games. So if your still interested try a simple project first e.g. Pacman

As for Blender Game Engine Vs Crystal space to quote from the Apricot Blog 'Blender has the advantage that its extremely fast to get a simple game running. CS Has the advantage that its a lot more optimized.' The Game Engine has come on leaps and bounds over the last month but it will never have the speed of a Quake or Crysis engine.

If your still intersted I recommend the old Blender Game Kit manual. Its written for an old version of Blender 2.25 but it's still fun and interesting to work through it (the games might not work on modern versions of Blender but don't worry). Here's a review of the book http://www.techimo.com/articles/index.pl?photo=60 and you can buy and download it here http://www.blender3d.com/e-shop/ it only Eight Euro!

phew out of breath now.....

fktt
07-03-2008, 08:56 PM
http://blenderartists.org/forum/showthread.php?t=56842

is a thread that helped me a lot at the time i was looking into game making,
must say after apricot is finished and the new features are stable,
might try to get back into it. :)

Kelmar
07-03-2008, 08:59 PM
Is it worth investigating Crystal Space? Does this somehow make the job easier and more user friendly? I just know from i've seen with Apricot, looks an interesting toolset.

Crystal Space is going to require that you know how to program in C++, and really isn't geared for the faint of the coding heart. At least not the last time I looked at it, which was admittedly a couple of years ago.

I haven't messed with Blender's game engine myself, but my understanding is that its good for non-programmers to do some initial prototyping and a few other tasks, like scripting complex movement for animations for example.

Good Luck.

everlite
07-03-2008, 09:18 PM
Thanks Felix, great link, ashame there's no sound :)

Francis:

Now that's the kind of language i like to hear; lego bricks. When it comes to anything code related i really need someone to sugarcoat the medicine, hehe :)

Surprised to see the demo! can't wait to get back up to leeds to play it.

I'll skip the pack man and focus on something like a character walking around a room, or something simple like a character stood still, you click a button and they perform an action or something. I work in Max and have a few prerigged characters so will see about converting them over.

On a basic level how do you get a character to recognise a floor/surface? is this where bullet comes in? i guess it takes the pivot point and tells it to maintain a distance between that and the surface, unless it sits down ... hmmm ..

As for Blender Game Engine Vs Crystal space to quote from the Apricot Blog 'Blender has the advantage that its extremely fast to get a simple game running. CS Has the advantage that its a lot more optimized.' The Game Engine has come on leaps and bounds over the last month but it will never have the speed of a Quake or Crysis engine.

Hmm, thats still leaves me confused over whether or not i should investigate CS. So im guessing CS is more professional but with a greater learning curve?

And Pythons the one to learn ... man that leaves a bad taste in my mouth :)

Well, can't wait to have a play over the weekend.

Dave.

SaphireS
07-03-2008, 10:37 PM
About Logic Bricks: They're completely graphical, there's no code to deal with at all.
You add and connect them to get the behaviour you want. e.g.:

http://img157.imageshack.us/img157/46/20080704001949iu1.png

What's done here is the following: If you press the leftarrow-key, your character moves 0.1 BlenderUnits per Frame. If I had put the value in the "Force" field (instead of "dLoc"), it would have been applied physically correct as a force, thanks to Bullet.
You see it's that easy to move a character around. No coding at all.

On a basic level how do you get a character to recognise a floor/surface?

As an artist you don't have to worry about that, Bullet computes the bounding box of the object (character) for you. All you have to do is activate one button to involve the object into bullet's calculations.

Here you can read how easy it is to make an character move, either using physics or not:

http://wiki.blender.org/index.php/BSoD/Introduction_to_the_Game_Engine
(look for: Making the default cube move)

About animations:
Each animation is defined as an "action" within Blender, for example a run- and a jump animation. You can play these actions using a action-actuator (like the motion-actuator in the example above) for example if a button is pressed(or whatever sensor it is connected to). And you can define the priority of an action, for example to start the jump animation when hitting a button to jump while running (and overriding the run animation).

And all that without compiling. ;)

uncle_frankie
07-03-2008, 10:47 PM
On a basic level how do you get a character to recognise a floor/surface? is this where bullet comes in? i guess it takes the pivot point and tells it to maintain a distance between that and the surface, unless it sits down ... hmmm ..

There's probably quite a few ways of doing this

With bullet

or with a sensor that detects the distance between the feet and the floor

or if the floor is flat you just need to keep the characters height still - you don't need to worry at all with the floor just keep your character at the same height

Yes investigate CS but it will involve more pain ;)

everlite
07-03-2008, 11:03 PM
Thanks guys, a wealth of inspiration coming through now :)

Still one question im curious about, can blender (or whatever system exists) tween between animations, ie for example in a RPG such as Oblivion, you might have character with three actions walk, stop and scratch arss. Whatever program exists will perform a random series of these actions and "Tween" dynamically between each animation loop. Something i've noticed so far with blender including the video example of Apricot is that the actions (animated loops) are very sudden between each state, ie on a focused level the rodent will run then suddenly break mid animation (of the run cycle) and begin at the first frame of the jump cycle without any tweening, or appear this way, something you often see with fast paced games, but with slow paced RPGS you need a system that tweens between the animation blocks.

Dave.

io-d
07-07-2008, 01:51 AM
Have you seen this:
Demystifying the Art of Video Games (http://blender3dtutor.com/index.php?view=article&catid=3%3Agame-developmentplanning&id=19%3Ademystifying-the-art-of-video-games&option=com_content&Itemid=2)

PoOc
07-07-2008, 09:14 AM
Hi everlite,

about your question about animation blending look at the screenshot, you can see an Action logic brick (action is a animation in blender) where you have a first parameter about the way you play the action (here just play but could be Flipper, Loop Stop, Loop End or Property), the second parameter where you put the name of the action in blender, then you define start and end frame of your action, then the response to your question blendin parameter that allow you to define the number of frame on which your action is blend with the last. Then you have priority to allow override of actions.
file:///C:/DOCUME%7E1/_Po_/LOCALS%7E1/Temp/moz-screenshot.jpghttp://apu.mabul.org/up/apu/2008/07/07/img-110642ib4tt.png (http://mabul.org/)

I hope you test the power of BGE.

Regards

Po

Boone
07-07-2008, 11:52 AM
Re: Everlite.

Sweetheart, the only decent way of making games is to learn programming.:wip:

My advice would be to learn Java with the open university: start with M255, then M257 and finally M256. Yes, you are looking at 27 months of work but you will learn the basics of Java, more advanced Java(GUIs, internet programming etc) and software development.

At the end of the day "game creator" packages come and go but languages such as Java and have been around since the 80s and even the 70s. Games are the forte of programmers: The visuals and audio are just the icing on the cake.

I've tried so many collab efforts where they are usually 20 artists(who think games are so damn cool) compared to the mere 2 programmers who are the most important players on the team. Guess what? They have ALL gone to the wall.

Still dont believe me as to how important a programmer is? Go read Masters Of Doom.

Anyway, good luck all the same.:thumbsup:

everlite
07-07-2008, 12:18 PM
Well i was kidding myself in thinking id get time this weekend to have a play, from the end of August, im taking NO work until after christmas!! i'm going to get down and work hard on my own projects :)

Anyway,

Boone:

Thanks Pet ;)

To be honest i dont want to recreate a game, i know from experience what you're saying is true, but i'd like to be able to know the basics to recreate a basic environment which one could say walk around, mainy thinking from an archviz point of view. Can you get away with know a little to accomplish such a task?

So now its Java :) So if i learn Python, this isn't enough?? you have to learn Java too? Trouble with scripting languages i think its very much a dedicated thing you need to invest time in learning, and perhaps have a genunine interest in scripting, which for me i don't it would simply be a suppliment to expanding my existing skills, mainly as an artist.

Yeh programmers are the the unsung heroes that rarely get mentioned in all areas, game, film etc..

PoOc:

Thanks for the breakdown, please keep the image linked up so i can look at it later.

io-d:

Interesting, im gonna read that tonight :)

Thanks,
Dave.

Boone
07-07-2008, 11:11 PM
Hehehehe.

Yeah, if its just for a walk-about mode then I do recall such a "walk-about navigation" feature in TrueSpace 3.1 way back in 1997 - I would be very surprised if modern apps didnt support such a feature or one that is more advanced...

Python is worth learning as its a standard in the 3D industry. Infact, its not really that much hassle to learn and would be a welcome addition to your skill set.

I would elaborate more on Java, C++ and the secrets of Castle Grey Skull but I think we've already established you only want to "dabble a bit" so I think we shall move on...

LOL - come to think about it, whatever did happen to the episode of He-Man where it finished with the following lesson?...

He-Man: "Hi there. She-Ra and I would like to talk to you about the dangers of becoming a programming nerd."

She-Ra: "Thats right He-Man: If you are ever approached by Boone from Cgtalk about becoming a programmer or the true meaning of Xdugef - kick him in the nuts and then tell an adult right away!"

He-Man: "Yes. You can tell your parents, a teacher, a minister or a Rabi.":D

everlite
07-07-2008, 11:37 PM
OoooH'k :)

Right, so the first project i have in mind, if i ever get the time .. sheesh, will be something along the lines of ... well i have two ideas, for tests .. one is a simple character, when you click the chracter they do a simple animation (think the old Joe cartoon gerbil) something simple to grasp this concept. The next test would be say a room, very simple, you want around and maybe have a door, you click the door and it opens.

And a nice little method of packaging it up :)

Sooooo, does that come under the "basics"?

The way i see it is like this:

Character test:

User clicks imput control, this tells targets character, randomly select from say .. 1 of 5 animations and play, when reach X frame return to default pose.

Room test:
This would involve some kind of user controlled camera FPS style. does it also involve bullet/dynamics to recognise the environment? prvent you from walking through a wall? anyway .. user clicks object/door .. is there a method for the doing this? then when clicked this tells door to play animation ...

i dont know :)

anyway ..

Dave out.

everlite
07-07-2008, 11:41 PM
And where do i learn Python from!! Everything i've seen so far is along the lines of, "So you've learnt C++ and Java and now want to dabble with Python, well i assume you understand the basics here's the rest"!!

Any tutorials that are artist friendly? with absolute basics, ideally put to use with blender .. ?? pleeease dont just tell me to go to blenderartist forum :)

Dave

uncle_frankie
07-08-2008, 09:13 AM
Python Programming for the absolute beginner

http://www.amazon.co.uk/Python-Programming-Absolute-Beginner-Michael/dp/1592000738/ref=sr_11_1?ie=UTF8&qid=1215508396&sr=11-1

it's well written and even funny for non geeks

it will make you a better person

PoOc
07-08-2008, 09:36 AM
Hi everlite,

here are some links to start with BGE :
Blender noob to pro (http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro#Blender_Game_Engine.28BGE.29)
Game engine FAQ (http://wiki.blender.org/index.php/Game_Engine/FAQ)
Blendenzo tuts (http://www.blendenzo.com/indexTuts.html)
Files test of logic bricks (http://download.blender.org/demo/test/LogicBricks246.zip)
Graphics Demo (http://download.blender.org/demo/test/graphics-demos-2.43-preview1.zip)
Physics Demo (http://download.blender.org/demo/test/physics-2.43-physics-testfiles-5.zip)
Blender Art Mag (http://www.blenderart.org/issues/) (issues 6 and 14)
Game engine Doc (http://wiki.blender.org/index.php/Game_Engine)
Blender summer of doc (http://wiki.blender.org/index.php/BSoD/Introduction_to_the_Game_Engine)
...

Regards

Po

fktt
07-08-2008, 10:07 AM
plenty of resources for learning python @ python.org

http://wiki.python.org/moin/BeginnersGuide

and whats wrong with ba.org? :D

everlite
07-08-2008, 10:33 AM
Thanks, i'll have a look tonight :)

ba.org is great, but sometimes it gets used as a one answer solution to any blender related question, "just go to ba.org, that'll help" ... urg!! that dont answer the question though :)

Dave.

everlite
07-08-2008, 10:35 AM
are there any tutorials that are specifically related to blender?

fktt
07-08-2008, 11:28 AM
http://www.google.com/search?hl=en&q=blender+python+tutorial&btnG=Google+Search

PoOc
07-08-2008, 11:45 AM
Hi Everlite,

here are some links to start with BGE :
Blender Summer of doc (http://wiki.blender.org/index.php/BSoD/Introduction_to_the_Game_Engine)
Noob to pro (http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro#Blender_Game_Engine.28BGE.29)
Blender Art Mag (http://www.blenderart.org/issues/) (issues 6 and 14)
Blendenzo tuts (http://www.blendenzo.com/indexTuts.html) (with one for python : Beginning BGE python)
Game engine doc (http://wiki.blender.org/index.php/Game_Engine)
Game engine FAQ (http://wiki.blender.org/index.php/Game_Engine/FAQ)
Logic bricks test files (http://download.blender.org/demo/test/LogicBricks246.zip)
graphics demo (http://download.blender.org/demo/test/graphics-demos-2.43-preview1.zip)
physics demo (http://download.blender.org/demo/test/physics-2.43-physics-testfiles-5.zip)

Regards

Po

everlite
07-08-2008, 07:30 PM
Thanks for the links :)

So is it possible to generally say what areas i would need to use Python in when using it with Blender?

fktt
07-08-2008, 08:53 PM
Advanced stuff really, i have seen an implementation of per-object LOD done in python for the bge and such, though i do believe that simple arch-viz walk-trough probably don't really need python much at all. :)

There's a 'fps template' so to speak for the camera to that has some scripting in it, that can be found online, so you don't really have to script it your self, though surely python can be very handy knowledge, obviously any way's. :)

PoOc
07-08-2008, 08:57 PM
Hi everlite,

using a scripting language with an application, like python with blender, is not an obligation. It's just more easy to make some automatic task, or to access function in a different way. I think you don't have to learn python if you just want to make a walkthrough in a scene. There is logic brick facility and you can use other user script without understand how it works. But if you are curious, learn to code is very good, and understand how it works and to create too.
It's not a true response, but it's what i think.

Regards

Po

ysvry
07-11-2008, 02:36 AM
id say just start with the logic blocks and see how far you get, then if you need more functionality you can seek a way to do it with python scripts, In that way you know what kind of python functionality you need to google for. I think that the things you wanna do, you probably can do without P and just use the logicblocks.

CGTalk Moderation
07-11-2008, 02:36 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.