Start-up help

Alright guys, I am basically looking for some start-up help in using Blender to make games. Let me start by saying I am competent in other blender aspects. Modeling, texturing, lighting, that stuff I got down. The problem I have now is I don’t know what steps to take to turn my models and characters into a game.

I know how to use the basics of action blocks, but I am not confident enough to say that I am very good at it, so my first question would be if anybody has any tutorials or advice on how to advance my skills with action blocks to better my ability to develop actions and link my animations.

This however runs into the more important questions of how should I organize the files that are linked to the game. Obviously one cannot simply lump everything into one Blender file and make a game out of that, this brings me to my question, how would you guys recommend I organize said files? I love Blender and would love to stick with it as my primary program of creation for my game, however is there some sort of outside program (like unity) in which you guys would recommend exporting and organizing my models in? Or is there just a key to linking these files in Blender itself that I am not aware of?

Any help is appreciated, thanks!

-KB

Pretty simple: Add some logic to the objects (Logic Editor).

A game is nothing more than a movie but interactive ;).

Have a look at the threads in my signature (Monster’s Guides). Especially to BGE Guides can help you.

Yes, you can.
This is fine for small games as you will start with.

The other extreme (to one file distribution) is to keep nearly everything into one file.
This is pretty good

  • when you are working in team,
  • you are using a repository to store your files,
  • you want to establish updates after go-life.
  • you want to reuse data

A nice feature of the BGe is the group linking and group instantiation. You can find a guide regarding this topic in the above link.
Additional to that you can place your textures in a separate folder, your Python files, your sound files.
You can use blend files to keep: meshes, materials, actions, scenes in any combination. You can link the data from that files.

I recommend to create level files (blends) by linking nearly everything to them. So the level designer does not need to worry about modelling and logic. He just cares how to pace them into a level.

As said you can do this in any combination. Whatever fits best for you.

Before distribution, make sure all paths are relative ;).

It all depends how large-er game you are wanting to make. Actually, it’s like any big project. You have to organize things in a sensible and logical way. (hint, please learn python)

For a small file, you just lump everything into the same blend and name things properly, for a big game you need to be a little more organised.

First off there is the file structure. I try to keep it nice for the player, so I (would prefer to) have:
Game Folder:
– Data

  • Game.exe

In the data folder:
– Models
– Levels
– Scripts
– Textures

  • Menu.blend
  • Main.blend

And so on.

You have to decide on what formats you want to use (ie jpg, png, ogg)
And then you have to actually stick to how you decided to organise it.

Monster is a big fan of linking, and I like a similar method called LibLoad. This is a bge-python function that allows you to load other blend files into the currently running one. With it you can load levels, assets etc. The reason I prefer it is that it is more flexible, although more complex. Both have their advantages though.

Before I sign off and let someone else do some talking, I’ll tell you how I’ve structured levels.
Each level is purely geometry, and any level-specific logic (ie goals, keys, etc). Everything else is indicated by empties. Enemies, player spawn, mist objects etc. On top of this I wrote a script to automate creating spawn-points, this allows level designers to not even need to know the logic panel. It also speeds up making levels hugely, and avoids duplicate objects/logic in multiple blend files.
As with all programming, including games, DNRY (Do Not Repeat Yourself).

I would also get a good idea of your games play style, and stick with one, until it is that way,

I would think a tower defense game is the easiest to start with…

I learn by dissection best…

want some .blends?

Attachments

DoorLogic.blend (481 KB)CamDemo.blend (474 KB)BroBotsMouse (2).blend (1.77 MB)

amazing .
you seem really well organized .

i not found a way to come out from the mess of a “single blend”

i like this :

“”"
In the data folder:
– Models
– Levels
– Scripts
– Textures

  • Menu.blend
  • Main.blend
    “”"

what means “models” ?
is one blend with all mesh ? or (i guess,but not sure) one folder with all blend that cotain only mesh ?

and so, mesh ,and texture here disjoint ?

and the armatures where is?
and the sounds where is?

thanks anyway

by chance using the material with the option [obj] instead of [DATA]

can help ? or do nothing ?

I should have gone into a little more detail.
I’ve attached a zip with the file-structure made in full. None of the files are valid, but it will give you an idea.
Game Folder.zip (9.01 KB)

Each model is stored with it’s logic, armatures, references to sounds/textures etc.
At runtime the file ‘main.blend’ loads all the files in the models directory into the current scene (but not visible), and then loads the currently selected level, using indicated spawn-points to spawn the models.
To do this loading I have ~100 lines python, and the spawning is done via another 10 or so lines.

When I’ve finished my game project (which will be in the middle of this year), I plan to make a large-game template, with this filing structure and scripts for loading/linking/level-progression.

thanks a lot sdfgeoff.
i study it a little

PS: you not use init.py (dummy file) to found the path ?

Thank you sdfgeoff and Monster for the elaborate answers (and for Monsters awesome guides to help me further understand your methods)!

So basically what I could do for a larger game project is have one .blend file per level with each object, item, character, ect. in it’s own scene with any logic or textures that accompany them inside of a group which I would link into one “ultimate scene” to fully form the level. Then from there I could link each level, the “ultimate scenes” from each file, into a different collected .blend file to form the fully structured game.

I hope I am understanding you guys correctly on this?

As for this I am fairly proficient in Java, so I am hoping that I can pick up a book on Python programing and jump into it. After viewing Monsters guide on Python coding, at first glance it does not seem to be massively different.

Thanks again for the help, it is very much appreciated.

-KB

That’s what I do. I’m sure there are other ways that I haven’t thought about. If you have any ideas, let me know.

After a while, you’ll find that all programming languages are roughly the same (only the syntax changes), so if you know Java, python should be easy enough.