Block-Based Programming in Programming Block

Monarch Kumar shared this feedback 5 years ago
Submitted

The idea is to have simple still powerful way of programming in Space Engineers by using block based methodology like in "MIT App Inventor" or "Snap1" which will be convenient for players who don't know C++.

Like:

resize_blocks

(snip from App Inventor)

Replies (5)

photo
2

Correction: "Snap1"->"Snap!"

photo
1

I think that something more on the lines of GRAFCET or logic gate based programing would be more realistic... But as long as it includes an in-game tuto Im all for it

photo
2

Im all for this just so that programmable blocks are accessible to everybody. The key though would be backwards compatibility with all the current scripts... If thats possible then hell yes

photo
2

I think that would be nice if you can choose on which language do you whan to program it like in real life.

I am a tecnician in industrial robotics, and I have a few ideas to overhault the programing block by allowing using multiple languajes, one of these would be classic C+like we have now, but also grafect (this one is great for secuential centered progtams, is a list based programing, like; If condition "A" happens, go next stage), pseudo logic gate progaming (this one is great fo conbinational centered programs), or something like this, C but whit blocks, so is easy to learn to do it.


Anyhow, something that should be mandatory no matter what its a API wiki Integrated to the game, Siemens has It, Onrom has it, anyone relevant on the industrial automation whit a custom program to program their hardware has all the help they can give you built right in the programing software. So for me its not a excuse this being a game for not helping you by giving information about what things you can control and how.


But Im a profesional on the matter, so probably Im biased. Sorry for the semi rant...

photo
photo
2

If this were to happen then it must be optional. Programmers must still be able to write C# as they do now and the interface you describe should be a UI on top of that.

photo
2

True......Language C# is far more flexible than scripting in snap blocks and should remain part of SE programmable blocks. Rather idea of newScript Block" will be awsome.

photo
3

I actually think that what you describe would be better as a replacement for the timer block. It would allow more complex timer setups in servers where the PB is disabled.

photo
1

Timer Block to Scripting Block......Naice

photo
1

I'm thinking this would be a good way to move "programming blocks" out of experimental mode and back into mainstream gameplay. Granted you could do much more with C#. But this 1) lowers the barrier to entry and 2) enables the program to be sandboxed.

photo
1

I think this would be a GREAT option for simple, granted limited, programming on servers that otherwise do not allow programming due to the risk of custom scripts hogging resources.


I currently use timer blocks to automate airlock systems, it takes 2 doors, 2 buttons and 8 timers to function. Imagine if those 8 timers could be reduced to a single programming block.


I'd also be ok with a basic programming language that doesn't allow custom code, just simple commands.


Play Stormworks: Build & Rescue and look at their logic system.

They have individual logic blocks that you can place to do most simple tasks, but then you can make custom "micro-controllers" which have all of the same logic blocks, plus more, and allow you to do some messy programming including basic memory functions and save it as a single block you can then place (block size depends in input / output nodes which is irrelevant in this game).


If I could place a simple programming block, then enter a menu where I drag and drop a number of logic options along with all grid connected blocks, the creations I could make would be amazing. And without the risk of custom code running on a public server.

photo
photo
1

What about the language used for scenarios? It's already in the game engine, and might work.

Leave a Comment
 
Attach a file