Making a game in blueprint?

Hey,

So basically we had a game in unrealscript, atleast a prototype…but im thinking about doing the transition to UE4.

About blueprint, i know kismet was level related only, in blueprint i can do gametype related stuff etc, right? And this wouldnt be inefficient and would be the same quality as something coded in c++ or uscript?

Thing is, if my programmer has to rewrite everything in c++, that would kind of suck, especially since we finished all of our gameplay features a week ago, and i really dont want to tell him “hey! it was all for nothing! have fun starting over!”.

If we can use blueprint, i can imagine that replicating the coding from unrealscript would be really fast?

A thing that just bothers me is that people always said that kismet should only be used for rapid prototyping and that it wasnt efficient, does blueprint have these same problems?

Thanks in advance, really looking forward to developing with UE4, so far im very impressed.

You can develop your game entirely with blueprints if you would like to. I’ve done several things as have others entirely in blueprints. You may still have to do some things in C++. For example I don’t believe Slate is exposed yet to Blueprints. Blueprints is fine for performance specially if its only just a prototype. Later I would transition what you can to C++ though.

Blueprints can be used for gametypes, inventory, controllers, HUD, UI, animation… pretty much anything.

Complex things should be done in C++, for the sake of both speed and your own personal sanity (Blueprints can get complex!).

The good thing is, you can come in and start prototyping with Blueprint while your programmer writes some underlying systems in C++. When you’re done, he can then take your Blueprints and create C++ to replace, enhance or work with it.

Watch this.

Common answers:

C++ beats scripting in performance.

A game can be scripted, or in this case, made through Blueprints.
There is nothing wrong in using a lot of scripts, I personally tend to prototype through scripts and then identify if the system should be rewritten with C++ or maybe isolated components should be converted.
On the other hand, I tend to write some systems from the start in C++ as well when I know that they are performance intensive and how they should work.

You need to make a case by case decision for the different solutions.
Look at your target machine, it should be able to run your game with a smooth framerate at decent graphics settings.

OK I have a question, how much slower is Blueprint compared to C++ , since Unrealscript was around 10 times slower then C(++ maybe, used in UE3) if blueprint is around 10 times slower that C++ its perfect to make an entire(without 1 or2 things) game with it.

Blueprint and C++ pretty much hold the same performance - atleast from all the testing I have seen done and what I have done personally. There is no performance draw backs from developing solely in Blueprints.

I guess the big question is, is it possible to use Blueprint Macro libraries and functions to make non spaghetti looking graphs if you code a medium sized project solely in BP? Just started playing around with BP and it seems fantastic, whereas CPP syntax is really painful after coming from C#. I watched the Solus video but there has been some debate on the Unity forums whether it started getting unwieldy because it was an earlier version of BP or whether CPP is just required to reduce complexity no matter what.

It is just how you set it up. I could have set mine up with less wires going all over but visual scripting to me means it is visual. Visual meaning as a non programmer I want to visually see what goes where. The less wires all over I have the less visual it is the harder it gets for beginners to follow. However too many wires also makes it a mess and makes it hard for that reason.
You can use Macros and Functions along with custom events to cut down on most wires and recycle/reuse entire blocks of functionality throughout, however at the end of the day it does of course remain wire based. You can do it cleaner than I did but in particular when the project becomes very big you cannot avoid it entirely.

So what we do now as next step now we are past the prototype stage is to take entire bits of node network, and rewrite them in C++ into a single BP node for easy use. We are also now moving variables over to C++ which allows us to reference them without casting, and with fewer nodes, leading to a cleaner result eventually.

So it all depends on what is important for you, how you approach and set it up, and whether you have the possibility to use some basic C++ to clean it up some further.

Thanks Hourences, very good to get this kind of feedback from someone who has actually done a nice looking game with it(video was impressive).

That has been my previous experience with visual scripting solutions as well(need to consolidate related nodes in code). Having the blueprint laid out already I imagine it makes constructing the CPP easier since you know exactly what you need to do. Will definitely play around with it and once comfortable get familiar with CPP as much as I am not looking forward to the language.