3 ms·
I've been working a lot with something similar to Blueprints. We see it primarily as a way to allow non-coders to build a lot of the game logic. As programmers,
by Agentlien 11y ago
I've been working a lot with something similar to Blueprints. We see it primarily as a way to allow non-coders to build a lot of the game logic. As programmers, we make reusable entities which are then connected to each other in a visual environment. Working in this environment requires little understanding of technical matters.
It's certainly not perfect. In practice, I quickly found that it adds a new level of obfuscation, due to the physical constraints of the 2D-space in which it is being visualized. In short, it easily becomes a mess of tangled connections and sometimes you may have difficulty physically locating the block you want to interact with.
Still, there's not a doubt in my mind that this is a great tool. Not a great tool for a team of programmers, but a great tool for a game studio as a whole. It allows designers and artists with limited technical knowledge to prototype game modes and develop user interfaces, without involving any programmers. Sure, they may need some help from software engineers who create new entities or guide them towards a cleaner design. The end result is still impressive: non-coders are building large parts of the game logic in a very intuitive way which requires no knowledge of code of any kind.
In essence, I see this type of language not as an alternative to writing code, but as an amazing tool allowing non-coders to to develop large portions of a program's functionality. Naturally, my own experience is essentially limited to the niche of game development. I don't know how useful this would be in developing, say, a website centered around an online shopping portal.
- greggman 11y agoMy experience is that stuff like blueprints is great for the smallest stuff only. Connect 3 switches to and "and" object. Connect "and" object to door's "open" input. If all 3 switches are pressed door opens. But scripting anything more complex and especially user interfaces is awful. The designers will back themselves into all kinds of corners and there will be all kinds of edge cases not handled and subtle bugs and tracking them down is very very hard. There was one company started by x-Insomniac people IIRC that decided there should be no designers scripting. All scripting should be done by programmers. Their experience was that trying to make programming easier for non-programmers sounds great, and it is for introducing people to programming concepts and enabling them to make things, but when it comes to shipping code it's not great and too much time is spent dealing with the mess of spaghetti they make. Note I'm not harshly judging designers here. Great designers make great design. I'm only saying that experienced programmers are more likely to write efficient, maintainable, bug free code than non-programmers.
- Agentlien 11y agoIt's definitely not as simple as putting your designers in front of a visual programming language and then taking a vacation. They do need to be educated in some design principles and, whenever they don't know how to solve something, they'll fetch a programmer to help them. In the end, though, when you have built up an existing team of designers and artists who know how to work in that environment, they can often train newcomers and help each other figure out some rather non-trivial stuff without it resulting in a terrible mess. Also, the way it's used where I work, the majority of these tasks are essentially shoveling data between different parts of the system and hooking existing things up to each other.