Can blender's game engine support point and click adventure?

I am thinking of creating an adventure game, with elements of point-and-click adventure game, inventory, dialogs ect…

Can this be done theoretically with blender?

1 Like

of course…

check this bgmc out - melt down

also checkout dead cyborg

1 Like

yes, but you must know python. you can get a character to move on a 2d background (monkey island) by using a navmesh or simple movement, or in a 3d environment with some more work. quick time events can be achieved by intelligent use of properties or global Dictionaries, as well as an inventary system.
as for dialog, it depends on the complexity of it, simpler dialog is easier than more complex and branched ones, but can be achieved by the use of a tree or database, or just code it into the game.
you should implement a light manager system, or you can make a 2D game and leave everything shadeless. another thing you must implement is a libLoad script to load the “parts” or levels of the game.
the hardest part of making a game is creating the models, sprites, textures and maps, because it takes the most time and effort, the rest can be done really easily if you know what you are doing.

1 Like

Thank you for your examples and explanations. You helped me

If I choose the 2d path, i could choose to draw most of the environment instead of assets. Right?
That way alot of time I can save

yes, the assets would be reduced to planes with alpha and masks. 2d adventure games had a background and then items that you can interact with over it. if you are an artist and it’s easy for you to paint in an image editing software, it would be easy to make assets quickly, you could also draw them on paper and scan or photograph them. or it could be a combination of both 2d and 3d.
a scene would be made of layers of objects, each layer at a distance from the camera, with a background layer, an environment layer over it, objects over it, and the player on top. there can also be a layer over this like columns and such. you would put invisible objects as obstacles to prevent the player from reaching certain areas and to interact with.
other games like grim fandango used prerendered backgrounds combined with 3d characters to achieve a greater number of animations and interactions. a drawn background could look good combined with cellshader characters, it depends on the style that you choose for the game.

1 Like

Thank you for the indepth insights.
This will help

A point & click is very very simple to create.

Each object the user should be able to interact can get a mouse over sensor = point. Additional you use a mouse button sensor to start the desired interaction = click.

You do not even need Python to use the point&click concept.

The complicated part is the amount of clickable objects, and to determine what should happen. Typically you consider the status of other objects (e.g. if the character can walk to another room is only possible when the door is open).

Indeed to get complex or dynamic behavior Python can help you a lot. For example: an inventory with multiple slots be able to contain different items is hightly dynamically. It would benefit from a Python implementation really much.

Also knowledge about other objects can be easier to get via a Python implementation. This does not mean it is the only solution. For example an object can notify any status change (e.g the door is now open) via message. Interested objects can deal with this messages (e.g. by changing its own status).

There are things you have to use Python. This would be a save/load system .Without python there is no real chance to do that. Even savepoints (where you store a level number ) would be hard to achive.

My arguments do not imply you need to use Python for everything.

I suggest:

  • Use Python where you have to use it.
  • In all other case use what you feel comfortable with (even Python can be a pain in the ***).

Thank you.
I will take that into consideration

I got a point and click in the resources, 99% logic bricks. It’s an old example, but still going strong today.


Even the inventory?

uhm mine? yes, all my resources works in blender

ok didn’t read it all (only the title) but sure all you need is in the resources, if you take mine or others it doesn’t matter, you can use it, or learn something from it.

you dont have to know python to create a point and click adventure

Not? how would you get the hitPosition then?

i dont know what it is needed for, but if you want to know if the mouse points on an object, you need a mouseover sensor and a message actuator.

yeah ok but that doesn’t work that well, if you have a floor of lets say 1000x1000bu and you use a mouse over+click it will always grab the center of the ground, so if you want it to work without python (only needed to get the hitposition) you need a lot of objects just to get/go somewhere.

i have never played a point and click adventure where you have to pick up a 1000x1000bu floor. there might be some strange ideas out there that cannot be done by bricks but a ormal point and click adventure doesnt need programming (except one thing and that is saving the game but if you use modular scene building and tell the player in which scene he is and let him chose the scene in the starting menu you dont even need python there)

i will pretend i didn’t hear you say that. only the worst unity asset flip crap games do that.

all games need programing. logic bricks is just another form of programing, it is a very limited form that is good for begginers and simple games like shooters, platformers and racing games. a point and click adventure is not a simple game, it is easy to code and make, but it can reach a level of complexity that is FAR easier to do with python than with logic bricks.
I will give you an example: remember monkey island when you meet the troll. you give the fish to the troll, an animation plays and then he lets you pass. for that to work you must have a fish in your inventory, you must select the fish and give it to the troll, the troll must check that he is being given the correct item, then run an animation (and prevent the player’s movements during it), and then UNLOCK an area of the scene to be used.
this can be done in python in a single script that manages all the interactions, animations, the items you have, and checks for properties on the characters to know what to do (or load text/xml files for this if you know enough python). if you want to do it with logic bricks you must repeat the same logic brick programing on every entity of every room for each situation. it would be a mess and take forever, and you will need one property for every item in the game.
another problem is when an area is supposed to change (IE the troll leaves). with logic bricks you need everything in the same blend wich takes too much memory, and you need copies of areas for after you do something to change it, or you must change it with additional logic bricks. with python you can just libLoad a blend with the area, with objects in it. if something changes you can save this and change the objects in the area, or have those copies of areas i talked about, but your main blend will remain clean and with just the essential objects (player character), and have a much better performance.

you can pretend whatever you want. that wasn’t the question. the question is do you need python for a point and click adventure and the answer in this case is clearly no.

i have not played monkey island therefore i don’t know your example but as far as i understand it i would parent the fish to the players bag and if you do so it follows the player whereever he is. when you want to give the troll the fish, you open your bag, mouseover the fish and click it. the fish than sends a message “fish”. the troll has got a message sensor that reacts at “fish” and a near sensor so the player can only use the fish, when he is near the troll. problem solved. i dont know, what all the problems are that you are writing about, but i dont see why these shall appear when you do it like i wrote. and still the question is “do i need python for a point and click adventure” and still i dont see why you need it. there might be users out there who dont want to use python and if you tell them “you have to, otherwise you cannot build a point and click adventure” it is not only wrong, but unfair because they cannot build a game they wouldlike to build only because you tell them something wrong.