blender 2.5 new approach for Game Logic

Hi,

please see new game logic editor, http://dev.blender.ir/new-blender-2-5-game-logic-editor

http://dev.blender.ir/images/blender-ge-ui2.png
i’m waiting for your comments, suggestions, and questions.

note that, it’s not complete and needs more developments.

So you select a controller and it just shows the sensors and actuators attached to it? No mass of confusing, criss-crossing lines?! That makes way too much sense! Looks nice, though.

yes, controllers are the start pint, but its possible to see all sensors/actuators.

hmm…
Pros:

  • less clutter, controllers become separated to represent different actions/behaviors, maybe more structure.
    Cons:
  • Less overview, it looks like it would be harder to do more complicated setups since you can’t see everything at once.

It’s a nice effort but I rather wait for nodes.

I think its a lot better than the current logic editor in 2.5, it also looks like it could be made vertical so it possible that it can be added to the properties window?

I don’t know if the scroll boxes allow this but it would be nice if you could resize them.

I really like it and i think its cool. but could you elaborate more on how we see what is connected to what?

Is this in the 2.5 svn? I’d check myself, but am having trouble compiling.

hmm…
Pros:

  • less clutter, controllers become separated to represent different actions/behaviors, maybe more structure.
    Cons:
  • Less overview, it looks like it would be harder to do more complicated setups since you can’t see everything at once.

It’s a nice effort but I rather wait for nodes.

I think he said there was a view all button. And nodes??:eek:

How can we have a quick overview on what is connected to what for example?

You can’t tell how you setup the connections and easily find which is connected to what with that.

When you have a sensor connected to 2 or more controllers and they’re connected to multiple actuators how can that be visualized? Or two sensors connected to the same controller how is that visualized?

It looks like a nice way to bring 2.5 style logic editing to the BGE but the visualization of what it connected needs to be worked on.

thats what i was leading into with my question.

how will we be able to view what is connected to what? 0_0 i actually liked the lines.

Perhaps another idea would be the ability to place gaps or blank spaces between items (in the 2.4x logic brick setup).

Here’s what I’m thinking: One of the situations where it gets a little confusing is when you have one controller with 8 sensors (say for a script), and the next controller with one sensor. The visual problem is that the sensor in slot #9 corresponds to the controller in slot #2. Wouldn’t it be better if the controller got moved down to line up with its sensor?

Wouldn’t it be better if the controller got moved down to line up with its sensor?
Not a bad idea. But mmm…
Then you would also line up the actuators? But what if controllers from the first object are connected to actuators that belong to the second (or third) object?
It would be very hard to manage.

Nice idea , and maybe the connections can be signed with different colours.
but I think we cant avoid the real solving problem, need move whole logic editing to
node editor window.

I feel like this ruins the strength of logicbricks.

Logicbricks have been really cool because of their accessibility and readability. They’ve never been designed for complicated systems… that’s what python is for. I’d really like to see them stay the same. The states system already helped manage things quite a bit, and deactivating the bricks of different objects (an old feature) is really nice for some more organization.

Logicbricks only get inconvenient/unreadable if you’re not organized, and somebody who’s not organized is going to have problems with readability no matter what system you use. For complicated systems, logicbricks + python can be extremely powerful and extremely simple.

Like others have said, a lack of a general overview really hurts this design. Checking a little “connected” box is a step downward in readability and simplicity.

What I would suggest for improvements to the logic brick system:

  • Have each set of logicbricks be a datablock, just like materials. It would make bricks easier to copy from object to object, and it’d allow us to save memory for large games (each object would use the same LogicBricks set).

http://www.samtregillus.com/blenderstuff/images/logicbrickdatablock.jpg

  • When you mouse over a controller, grey out all of the links that aren’t connected to it, while keeping links that are connected black. This would help visually for those who insist on not learning python or being organized.

http://www.samtregillus.com/blenderstuff/images/logicbricklinks.jpg

  • Have ways to filter sensors/controllers/actuators by type. Just like there’s a “Sel”, “Act”, “Link”, and “State” buttons, there could also be a drop down box that shows only a certain kind of sensor/controller/actuators. If I wanted to view easily only Keyboard sensors connected to Python controllers, it would be easy.

http://www.samtregillus.com/blenderstuff/images/showtype.jpg

  • A way to duplicate a logicbrick INSIDE of the GameButtons panel. Maybe each brick could have a “duplicate” button that created a copy of that brick. Example: I have a property sensor looking for the property “health” at value 0. I click copy, it creates another property sensor ALSO looking for “health” at value 10. I can change the value in the new one to 3, instead of creating a new property sensor, typing in “health” and 3.

http://www.samtregillus.com/blenderstuff/images/duplicate%20logicbrick.jpg

Obviously this all isn’t the best way to design it. These things could definitely be placed in different locations. However, I really don’t think that a complete redesign is either necessary or practical… if we can fix the existing systems problems by adding functionality then we shouldn’t need to reinvent the wheel.

-Sam

I don’t really see this as an improvement over something that worked well 90% of the time. ie. if you compare the old one to the new one. You could easily see the relationship between what bricks are connected to what… what type of actuators, controllers and sensors are without having to manually select them from list to get their info to appear.

It’s great that you are trying to re-design… but as a starting point I would write a list of all the existing functionality to make sure you are not making the interface worse by forgetting all that can be done with the old interface… Maybe we can help write that up in this thread? People can write what they found useful on the old one?

Also the main question should be asked… what is the main problem with the old interface? As far as I can tell the old interface gets complicated with lots of bricks. With minimal bricks you can easily see what going on. So the design should add… not take away. So I would focus on logic brick management for large numbers of bricks… but it needs to be presented in a much clearer way. So the new interface should rather fix these existing problems not potentially create new ones by starting over from scratch :wink:

I think it would be better to go for some kind of nodes representation seeing as they are pretty much nodes in already in everything but display…

If the only reason for the re-design is to get it to fit into the 2.5 design paradigm then that’s a bad approach. It should be designed to be better, not to fit in with something else as the cost of lost functionality. Anyway it’s still early days… but I guess this is almost like a wip thread of a game heh heh, when people say come back when you’ve got something more functioning… heh heh :wink: But making this work is not an easy task… I would say it’s lot harder to attempt to get this right than the other parts of the blender interface.

I hope this post doesn’t sound too negative… I think it can be improved but it still needs a lot of work and I realise it’s still early days :wink:

Looks nice and neat, the 2.5 style is very cool. Some initial worries about this proposed change tho.

Thats what I was thinking, although its hard to judge it too harshly at the moment without actually trying it, we’re just seeing 1 screenshot here of a proposed change.

I agree, accessibility and readability have been very important when making a game, being able to see all the logic bricks and their exact settings all at once is important (to me anyway) It makes editing and major changes very fast and straight forward.

It can easily get very cluttered with the old way however, but the user had the ability to change this by using the little ‘minimise’ arrow button at the top right of the logic brick. This is one of the main strengths of working with logic bricks in my opinion, being able to visualize all logic bricks all at once, with only the ‘active’ ones being 100% visible with all their settings etc right there ready to change. From first impressions this new setup hides a lot of logic bricks in the background, although as zaghaghi states:

So maybe its not so bad.

But like I said, its hard to comment properly without trying it out for yourself, interesting to see though.

Add flowgraphs. That’s the only way to improve logic bricks if you ask me.

@Kay_Eva do you have any pics of flow graphs? Could you post some in this thread? Would be cool to see. Also I really like sambassadors suggestions.

Samassador’s suggestions seem so good that maybe he should be Zaghaghi’s logic system mockup designer, Zaghaghi writes the code and he makes the mockups?