Is Unreal Engine friendly for the one man indie game developer or is it the kind of engine best suited for multiple people with specialized skills?
The answer is both.
No engine will do your work for you, though they tend to help a lot. You'll still have to write the game logic, make the art assets, design the gameplay and put it all together. If you have the skills to do that, there's no engine that lets you produce better results in less time than UE4!
Is Unreal Engine friendly for the one man indie game developer or is it the kind of engine best suited for multiple people with specialized skills?
I would say that's more of an engine agnostic question. Most of that is going to depend on the type of game you want to make and what your skill set is. If you have no experience modeling, texturing, and animating, you will probably want to stick with a 2D engine (unless you have a game idea that doesn't rely on a ton of animation, like a racer or puzzle game). People are always going to be faster and more efficient doing what comes naturally to them.
Give me a game jam deadline and have me model, texture and animate something ridiculous like a crab and bunch of particle effects, and you can get a pretty neat looking game. Ask me to do the game logic that @Kusmeroglu or @Kashaar did on that? Never would have been finished.
Do either Unity or Unreal have good support for multiplayer out of the box or is it a slog?
UE is pretty damn good out of the box I believe. One of the Jam games I worked on with @Kashaar we did as a multiplayer arena shooter. He should be able to tell more, but it seemed pretty easy for him to get working.
Do either Unity or Unreal have good support for multiplayer out of the box or is it a slog?
UE is pretty damn good out of the box I believe. One of the Jam games I worked on with @Kashaar we did as a multiplayer arena shooter. He should be able to tell more, but it seemed pretty easy for him to get working.
Yeah. UE has a built-in network replication system that takes care of a lot of stuff for you. You still have to understand the basics of what's going on, i.e. what executes on server, what can be run on the client, and when and what the two should tell each other, etc.
The gamejam @Mvrck mentions was the first time I did any multiplayer stuff in UE at all, and it was pretty easy to figure out. At the end we had a fully functional pvp game
I don't know if Unity has something like that or how good it is.
UE networking is pretty easy to enable, you just need to think about what will run on the server and client and then write some fancy macros to let it know. RPCs are transparent
Take this opinion under advisement that it comes from someone who was seriously weighing writing my game from scratch in MonoGame and only recently started to use Unity (that is to say, the opinion of an unreasonable prejudiced and deeply stupid person):
There are two things I would recommend Unity for over Unreal: 2D games, and writing code in C#. UE4 notionally supports 2D games, but the entities that I've been using to build my Sonic-like straight up don't exist in Unreal. And while I'm a programmer by training who's written C on an embedded system, I remain utterly repulsed by C++ in all its incarnations. While you can write a lot in Blueprint, I suspect that there's going to be some point at which something you want isn't going to exist, and that means writing C++.
But in most of the other measures that matter, I'd say that Unreal beats Unity handily. The engine is built for 3D and looks damn good doing it; furthermore, they've created human-comprehensible interfaces for a lot of typical 3D subsystems (like particle engines and custom shaders) that are far more intuitive than what Unity has on offer. It kind of goes against what I said above, but where Unreal is good at keeping you away from code, it's great at keeping you away from code, and a lot of things you'd have to get from the asset store in Unity come out of the box with Unreal. ... but when it does ask you to write code, it asks you to write C++. Blugh.
***
EDIT: I remembered the other comment I was going to make! Having completed my tile-based editor, I find myself in the precarious position of having to choose a standard pixels-to-meters conversion ratio. That's the kind of thing you want to settle on before getting too far into development, but I have no idea what a good value might be other than I probably want to keep it on a power of 2 or a multiple of 8 to keep pace with common screen resolutions...
Kupi on
My favorite musical instrument is the air-raid siren.
Take this opinion under advisement that it comes from someone who was seriously weighing writing my game from scratch in MonoGame and only recently started to use Unity (that is to say, the opinion of an unreasonable prejudiced and deeply stupid person):
There are two things I would recommend Unity for over Unreal: 2D games, and writing code in C#.
Since I'm already way past the risk of appearing fanboyish, let me mitigate that for a sentence before swinging back the other way with a vengeance:
I'd add that I would also choose Unity over Unreal if you're building a low-def mobile game. In my estimation Unity has a much larger low-end mobile device compatibility. On the mobile high end though, pick UE, because have you seen this shit?
UE4 notionally supports 2D games, but the entities that I've been using to build my Sonic-like straight up don't exist in Unreal. And while I'm a programmer by training who's written C on an embedded system, I remain utterly repulsed by C++ in all its incarnations. While you can write a lot in Blueprint, I suspect that there's going to be some point at which something you want isn't going to exist, and that means writing C++.
Fully agreed on the 2D tools. Those need some serious love...
BP and C++ are extremely well integrated. Making a C++ function available in BP is as simple as adding an extra line to the header file. Since I work much faster in BP than in C++, whenever I need something done in code, I just write a function for it and expose it, then integrate that into my existing BP logic. If you start learning stuff with Blueprints like me, it's very easy to jump into C++ when needed!
The performance differences are becoming irrelevant too - 4.11 added a system that automatically compiles Blueprints into native C++ when packaging a project, and while it's still in experimental ( = beta) mode, it's only going to get improved on in future releases. BP is basically a VM on top of C++, and this removes the VM overhead completely.
But in most of the other measures that matter, I'd say that Unreal beats Unity handily. The engine is built for 3D and looks damn good doing it; furthermore, they've created human-comprehensible interfaces for a lot of typical 3D subsystems (like particle engines and custom shaders) that are far more intuitive than what Unity has on offer. It kind of goes against what I said above, but where Unreal is good at keeping you away from code, it's great at keeping you away from code, and a lot of things you'd have to get from the asset store in Unity come out of the box with Unreal. ... but when it does ask you to write code, it asks you to write C++. Blugh.
Ooor, you could use one of the third party scripting integrations community people have created. SkookumScript was just released for free on the marketplace, and there's also some third party integrations for Lua, JavaScript, and someone was even working on a C# integration.
All of which, btw, have been possible because UE4 gives everyone full access to the engine source code for no extra cost
Your post fills me with dread that, having finally said to myself "fuck wasting my life, I'm starting now", I'm going to spend up to three years on this platform game in total and then look back and say "y'know, if I'd waiting about five seconds longer, Unreal would have been exactly where I'd have wanted it to be and the game would have been fifty times better for it".
... but fuck wasting my life anyway.
My favorite musical instrument is the air-raid siren.
One important note: In the intermediate menu-type screen that loads at the beginning, and also loads if you don't touch it for a minute after the end of the game, it says "Push button to start". "Button" in this case is the space bar, since that's what the button in the machine was bound to.
Got a chance to try it out. Thoughts:
I get prompted for a firewall exception every time I start the app. What's the reason for this? Analytics?
For some reason I didn't see the tutorial on first load up. When I restarted the game it appeared, not sure why I missed it the first time.
Tutorial has a lot of text and moved to the next page before I could read everything.
The groove text is cutoff on my Mac. (It's a retina Macbook Pro)
The game might be too zoomed in. It takes awhile before you even see the first enemy, which feels kind of weird because you don't see if the objective / what the towers are doing immediately.
It's really hard to recover from a lost tower. It seems like once you lose two or more, your days are numbered. It would be nice if you could recover in some way.
Not quite sure how to play the game well, there isn't quite enough feedback as to what was a good play session vs when I am playing poorly.
Really like the concept. Will be curious to see how it develops.
I'm not sure about the firewall exception. I'm not running anything, so unless Unity or Wwise are for some reason then... it really shouldn't need any network anything.
Other than that, yeah, I've actually been noticing and hearing a lot of them. The tutorial is sort of a hack that was done in about an hour because people were totally unsure of what to do without it, and I wanted something that was a moving image for a sort of attract mode while people walked by.
The groove text thing seems to be completely random when it is and isn't cut off... it's not on the machine, but it always is on my laptop as well. Maybe there's just some setting for the Unity UI that I need to delve into.
Really the only thing that is close to "Working as intended" is that the game really doesn't have a playing "Well", as much as you're just assembling and kinda-sorta mixing the music from its pieces, and then eventually it'll fade away when you start to lose until you lose. The one thing I would think to add would be some sort of score with leaderboards to keep track.
I am planning on refining it over the next year or so, which will include stuff like "a real tutorial", "musical choices", "more player actions", and hopefully a good indication of where enemies will spawn as well as something to keep the towers from firing until they're actually onscreen. I don't want to zoom out too much because I would at some point like to put it on mobile and want there to be clarity in the places that can be hit, so I have to find some way to get that to work.
Thanks for the input though. It's really interesting to see which problems come up, like, every single time anyone plays it.
The groove text thing seems to be completely random when it is and isn't cut off... it's not on the machine, but it always is on my laptop as well. Maybe there's just some setting for the Unity UI that I need to delve into.
Might just be your text anchor settings. There should be a way to see different aspect ratios in the Unity editor. I use that to make sure my UI looks good on different devices.
Thanks for the input though. It's really interesting to see which problems come up, like, every single time anyone plays it.
Yeah I am learning to introduce beta testers slowly. People tend to pick up on same issues as each other. Once I get one round of issues fixed I add some new testers to the mix and they fix the next thing wrong with the game.
I'm hearing a lot about Blueprint, what are some real world examples of how far I can get by with just that before diving into C++?
Typically how much of a production ready game would be Blueprint vs hand crafted C++?
You can ship full games built entirely in Blueprints. I've made all of my, um, about ten (?) gamejam games entirely in BP - see here: http://www.broad-strokes.com, though I haven't updated with the last year's jams yet - and of course, they're just gamejam games, but in none of those cases did we have any problems whatsoever with functionality limits, because there hardly are any.
I know of a couple of larger-scope Indie titles that have built all their game logic in BP, and only started using C++ later on in development for optimization/platform things or to integrate plugins, such as The Solus Project which is made by a friend of mine.
In the end it depends on the developer. Some - like me - prefer to build in BP for the insanely fast iteration time, and only dip into C++ for advanced things, while others with more classical programming backgrounds prefer to write the majority of game logic in C++, and only use BP for level scripting. All that is to say: BP are a perfectly viable language for making games. AND they teach you about programming concepts you might not even know about on the sly. Plus, you can't accidentally make typos ;-)
Finally close to having my first boss attack properly, except I get a fatal error when she dies. This is all in gamemaker.
This is in the boss's attack frame, an object. Its triggered by an alarm going off.
///reset boss state back to chase
if (obj_enemy_secretary_boss.enemy_health > 0)
{
obj_enemy_secretary_boss.state = states.chase;
}
instance_destroy();
Instance_destory destroys the attack frame object
obj_enemy_secretary_boss.state=states.chase resets the boss back to chasing the player till they reach attack range.
Chase is one state and corresponding script, this all works fine until I kill the boss and get an error.
Unable to find any instance for object index '6' name 'obj_enemy_secretary_boss'
at gml_Object_obj_secretary_boss_attackframe_ObjAlarm0_1 (line 2) - if (obj_enemy_secretary_boss.enemy_health > 0)
Near as I can tell, the attack frame object still tries to run this script while the boss is dead, I already tried object exists and that gave an error.....I wonder if I tighten the alarm that triggers this script. Plus there's the fact that in the original kung fu, enemies that had health 0, lost collision and fell off the screen.
Lets see if instance_exists works better.
edit:
It worked! But the attack frame sticks around for a few more seconds after the boss dies. That's a problem....wait, did the animation even play?
At the risk of blowin' my own horn, I think my blog might be a reasonable thing to look at for coming to grips with what you can accomplish with Blueprint. http://www.joewintergreen.com.
You can basically do anything, up to a point, that you probably don't hit. If you do hit a point that you can't do something, it's probably a matter of going into C++ and making an adjustment so that you can do the thing in Blueprint. If that makes sense.
My last post with all the gifs, all that stuff is blueprint. No c++.
C++ in Unreal is pretty tame! You do most gameplay logic in the walled and garbage-collected Unreal garden anyway. The real upside is that Visual Studio is a weapons-grade debugging tool and leaves the (admittedly technically-impressive) BP debugger in the dirt.
It's aggravating how I can go from how I was on Friday, being pretty proud of what I'd just made and excited to figure out what next step ought to be, to feeling like I have no idea what I even want, that all the decisions I've made thus far are mistakes, and that everything I want to accomplish just got half a decade further away, in the span of two days and a couple forum posts.
My favorite musical instrument is the air-raid siren.
0
Options
GnomeTankWhat the what?Portland, OregonRegistered Userregular
C++ in Unreal is pretty tame! You do most gameplay logic in the walled and garbage-collected Unreal garden anyway. The real upside is that Visual Studio is a weapons-grade debugging tool and leaves the (admittedly technically-impressive) BP debugger in the dirt.
That said you can also do some pretty heavy duty C++ if you want to. I use quite a few pretty beefy features in my Unreal code because I'm comfortable with C++ (been doing it for 20 years). Unreal is really good about presenting tiers of complexity to you. You can go from Blueprint -> Walled garden C++ -> Holy shit C++ all inside the engine framework.
C++ in Unreal is pretty tame! You do most gameplay logic in the walled and garbage-collected Unreal garden anyway. The real upside is that Visual Studio is a weapons-grade debugging tool and leaves the (admittedly technically-impressive) BP debugger in the dirt.
That said you can also do some pretty heavy duty C++ if you want to. I use quite a few pretty beefy features in my Unreal code because I'm comfortable with C++ (been doing it for 20 years). Unreal is really good about presenting tiers of complexity to you. You can go from Blueprint -> Walled garden C++ -> Holy shit C++ all inside the engine framework.
It's sometimes necessary to drop down into pure C++. I'm looking at building a huge universe (damn you again Paradox why do you always make the games I want to make first...) and I just don't think it could handle having potentially hundreds of thousands of active actors
C++ in Unreal is pretty tame! You do most gameplay logic in the walled and garbage-collected Unreal garden anyway. The real upside is that Visual Studio is a weapons-grade debugging tool and leaves the (admittedly technically-impressive) BP debugger in the dirt.
That said you can also do some pretty heavy duty C++ if you want to. I use quite a few pretty beefy features in my Unreal code because I'm comfortable with C++ (been doing it for 20 years). Unreal is really good about presenting tiers of complexity to you. You can go from Blueprint -> Walled garden C++ -> Holy shit C++ all inside the engine framework.
It's sometimes necessary to drop down into pure C++. I'm looking at building a huge universe (damn you again Paradox why do you always make the games I want to make first...) and I just don't think it could handle having potentially hundreds of thousands of active actors
Very true. It's likely you're going to end up with your universe representation being pure C++, memory optimized and all that fun stuff, with a layer that creates only the actors required to present to the player. Should be fun.
I will say this though, Unreal is pretty good about actor management...so you may try it the "easy way" first and don't preemptively optimize. Unreal may surprise us.
It's aggravating how I can go from how I was on Friday, being pretty proud of what I'd just made and excited to figure out what next step ought to be, to feeling like I have no idea what I even want, that all the decisions I've made thus far are mistakes, and that everything I want to accomplish just got half a decade further away, in the span of two days and a couple forum posts.
Welcome to Game Design!
Need a voice actor? Hire me at bengrayVO.com
Legends of Runeterra: MNCdover #moc
Switch ID: MNC Dover SW-1154-3107-1051 Steam ID Twitch Page
C++ in Unreal is pretty tame! You do most gameplay logic in the walled and garbage-collected Unreal garden anyway. The real upside is that Visual Studio is a weapons-grade debugging tool and leaves the (admittedly technically-impressive) BP debugger in the dirt.
That said you can also do some pretty heavy duty C++ if you want to. I use quite a few pretty beefy features in my Unreal code because I'm comfortable with C++ (been doing it for 20 years). Unreal is really good about presenting tiers of complexity to you. You can go from Blueprint -> Walled garden C++ -> Holy shit C++ all inside the engine framework.
It's sometimes necessary to drop down into pure C++. I'm looking at building a huge universe (damn you again Paradox why do you always make the games I want to make first...) and I just don't think it could handle having potentially hundreds of thousands of active actors
Very true. It's likely you're going to end up with your universe representation being pure C++, memory optimized and all that fun stuff, with a layer that creates only the actors required to present to the player. Should be fun.
I will say this though, Unreal is pretty good about actor management...so you may try it the "easy way" first and don't preemptively optimize. Unreal may surprise us.
Well my main concerns for my case are
1) ticking. I can't have everything tick every frame but things do need to tick every frame when they are close to the camera and I don't think you can change that within an actor's lifetime
2) memory pressure. IIRC the way the allocate actors is they allocate whole pages to them - which is fine because actors are pretty beefy objects. If I have say 10k star systems each containing their own stars, planets, moons, asteroid belts, etc even if they are otherwise empty of player stuff, that could potentially just take a few gigabytes of ram in actor memory alone
3) actors that don't exist are actors that don't need to be culled every frame
My current thinking is that each star system will probably have a permanent actor and I may add and remove sub-components dynamically to represent contents based on camera position / fog of war
C++ in Unreal is pretty tame! You do most gameplay logic in the walled and garbage-collected Unreal garden anyway. The real upside is that Visual Studio is a weapons-grade debugging tool and leaves the (admittedly technically-impressive) BP debugger in the dirt.
That said you can also do some pretty heavy duty C++ if you want to. I use quite a few pretty beefy features in my Unreal code because I'm comfortable with C++ (been doing it for 20 years). Unreal is really good about presenting tiers of complexity to you. You can go from Blueprint -> Walled garden C++ -> Holy shit C++ all inside the engine framework.
It's sometimes necessary to drop down into pure C++. I'm looking at building a huge universe (damn you again Paradox why do you always make the games I want to make first...) and I just don't think it could handle having potentially hundreds of thousands of active actors
Very true. It's likely you're going to end up with your universe representation being pure C++, memory optimized and all that fun stuff, with a layer that creates only the actors required to present to the player. Should be fun.
I will say this though, Unreal is pretty good about actor management...so you may try it the "easy way" first and don't preemptively optimize. Unreal may surprise us.
Well my main concerns for my case are
1) ticking. I can't have everything tick every frame but things do need to tick every frame when they are close to the camera and I don't think you can change that within an actor's lifetime
2) memory pressure. IIRC the way the allocate actors is they allocate whole pages to them - which is fine because actors are pretty beefy objects. If I have say 10k star systems each containing their own stars, planets, moons, asteroid belts, etc even if they are otherwise empty of player stuff, that could potentially just take a few gigabytes of ram in actor memory alone
3) actors that don't exist are actors that don't need to be culled every frame
My current thinking is that each star system will probably have a permanent actor and I may add and remove sub-components dynamically to represent contents based on camera position / fog of war
Re: 1) Yes you can. Use the Set Tick Enabled function in BP, or its equivalent in C++. You can also change an actor's tick rate.
Re: 2) I would do what GnomeTank suggests and have an abstract data structure of all the things that exist (those are "fuuuun" to design btw), and build a layer on top of that to create objects for whatever the player is focused on at any given moment.
Re: 3) Very true
It's aggravating how I can go from how I was on Friday, being pretty proud of what I'd just made and excited to figure out what next step ought to be, to feeling like I have no idea what I even want, that all the decisions I've made thus far are mistakes, and that everything I want to accomplish just got half a decade further away, in the span of two days and a couple forum posts.
Welcome to Game Design!
Nnnngh... I get what you're saying, but I'm more referring to a long-running strain of defeatism and insecurity that I've been fighting with for years. And... I think it's best if I don't say more than that. I'm sorry for bringing it up in the first place.
My favorite musical instrument is the air-raid siren.
It's aggravating how I can go from how I was on Friday, being pretty proud of what I'd just made and excited to figure out what next step ought to be, to feeling like I have no idea what I even want, that all the decisions I've made thus far are mistakes, and that everything I want to accomplish just got half a decade further away, in the span of two days and a couple forum posts.
Welcome to Game Design!
Nnnngh... I get what you're saying, but I'm more referring to a long-running strain of defeatism and insecurity that I've been fighting with for years. And... I think it's best if I don't say more than that. I'm sorry for bringing it up in the first place.
I think it comes with the territory of doing something creative. I've been staring at my game too long and I don't even want to play it anymore. There is also something incredibly frustrating with caring so deeply about something and putting day after day of 12+ hours day into it and showing it to someone and having them go "eh, that's cool I guess".
Doubt is going to be natural when you have to be your own compass in uncharted waters. I just try and take it one day at a time and focus on short term goals.
All this UE and C++ talk is interesting to me. My current opinion as a C++ neophyte is that is a language that would totally sink my productive with low level nonsense that I just don't want to deal with.
Granted I don't think I have a balance opinion on the subject given that on my last C++ project;
I was on a company MacBook with no Windows, so I was stuck on XCode, which is just a terrible C++ IDE.
I was technical lead on a project that ballooned from a few weeks to a never ending streaming of one more thing. So I never took the time to setup a proper debug environment which led to nonsensical debugging strategies as I just tried to get things done.
I inherited a 15k+ codebase (50k with propriety libs) from a large well known mobile company that I am not going to name because I am going to bad mouth their code. Not the worst codebase I've worked on but it had zero documentation and most logic I had to deal with was a in a giant 2k+ file with tons of copy paste functionality.
It wasn't fancy new C++. It's been a little bit but I think it was C++ 03. So I'd be reading std library sites and realize I couldn't use any of the awesome new stuff.
Good resume project at least, but I don't want hi-light it too much because I don't want an employer to get the mistaken impression that I know what the hell I am doing in C++.
That being said, my experience working in C++ was the opposite of moving from Java to Python. As opposed to "I need this little code to do all this?" it was "I need this much code to do just this?."
Honestly, while I love Ruby and Python for writing scripts, give me type safety any of day of the week for projects over 4K loc.
C# is pretty nice, var for less typing, decent type safety. It doesn't feel especially modern compared to languages like Rust or Haskell, but functional programming is not for everyone. C# is kind of like a version of Java that isn't incredibly shitty
It's aggravating how I can go from how I was on Friday, being pretty proud of what I'd just made and excited to figure out what next step ought to be, to feeling like I have no idea what I even want, that all the decisions I've made thus far are mistakes, and that everything I want to accomplish just got half a decade further away, in the span of two days and a couple forum posts.
Welcome to Game Design!
Nnnngh... I get what you're saying, but I'm more referring to a long-running strain of defeatism and insecurity that I've been fighting with for years. And... I think it's best if I don't say more than that. I'm sorry for bringing it up in the first place.
I'll hopefully be able to finish parts 2 and 3 later this week. Would love some feedback on style, content, and all that! Do you like these kinds of tuts, or are you more of a video tutorial kinda guy/gal?
I'll hopefully be able to finish parts 2 and 3 later this week. Would love some feedback on style, content, and all that! Do you like these kinds of tuts, or are you more of a video tutorial kinda guy/gal?
I like written tutorials because the video ones often get frantic with me having to pause or rewind all the time to catch things the guy is saying
Posts
The answer is both.
No engine will do your work for you, though they tend to help a lot. You'll still have to write the game logic, make the art assets, design the gameplay and put it all together. If you have the skills to do that, there's no engine that lets you produce better results in less time than UE4!
Unreal Engine 4 Developers Community.
I'm working on a cute little video game! Here's a link for you.
Give me a game jam deadline and have me model, texture and animate something ridiculous like a crab and bunch of particle effects, and you can get a pretty neat looking game. Ask me to do the game logic that @Kusmeroglu or @Kashaar did on that? Never would have been finished.
As someone who's still learning and appreciates how far they have come with gamemaker, geck, and arcgis.....
Learn to spit out the basics without thinking, Save's you time learning advanced stuff.
http://www.fallout3nexus.com/downloads/file.php?id=16534
Dat speech to text doe
http://www.fallout3nexus.com/downloads/file.php?id=16534
What's wrong?
Unreal Engine 4 Developers Community.
I'm working on a cute little video game! Here's a link for you.
UE is pretty damn good out of the box I believe. One of the Jam games I worked on with @Kashaar we did as a multiplayer arena shooter. He should be able to tell more, but it seemed pretty easy for him to get working.
Yeah. UE has a built-in network replication system that takes care of a lot of stuff for you. You still have to understand the basics of what's going on, i.e. what executes on server, what can be run on the client, and when and what the two should tell each other, etc.
The gamejam @Mvrck mentions was the first time I did any multiplayer stuff in UE at all, and it was pretty easy to figure out. At the end we had a fully functional pvp game
I don't know if Unity has something like that or how good it is.
Unreal Engine 4 Developers Community.
I'm working on a cute little video game! Here's a link for you.
There are two things I would recommend Unity for over Unreal: 2D games, and writing code in C#. UE4 notionally supports 2D games, but the entities that I've been using to build my Sonic-like straight up don't exist in Unreal. And while I'm a programmer by training who's written C on an embedded system, I remain utterly repulsed by C++ in all its incarnations. While you can write a lot in Blueprint, I suspect that there's going to be some point at which something you want isn't going to exist, and that means writing C++.
But in most of the other measures that matter, I'd say that Unreal beats Unity handily. The engine is built for 3D and looks damn good doing it; furthermore, they've created human-comprehensible interfaces for a lot of typical 3D subsystems (like particle engines and custom shaders) that are far more intuitive than what Unity has on offer. It kind of goes against what I said above, but where Unreal is good at keeping you away from code, it's great at keeping you away from code, and a lot of things you'd have to get from the asset store in Unity come out of the box with Unreal. ... but when it does ask you to write code, it asks you to write C++. Blugh.
***
EDIT: I remembered the other comment I was going to make! Having completed my tile-based editor, I find myself in the precarious position of having to choose a standard pixels-to-meters conversion ratio. That's the kind of thing you want to settle on before getting too far into development, but I have no idea what a good value might be other than I probably want to keep it on a power of 2 or a multiple of 8 to keep pace with common screen resolutions...
Since I'm already way past the risk of appearing fanboyish, let me mitigate that for a sentence before swinging back the other way with a vengeance:
I'd add that I would also choose Unity over Unreal if you're building a low-def mobile game. In my estimation Unity has a much larger low-end mobile device compatibility. On the mobile high end though, pick UE, because have you seen this shit?
Fully agreed on the 2D tools. Those need some serious love...
BP and C++ are extremely well integrated. Making a C++ function available in BP is as simple as adding an extra line to the header file. Since I work much faster in BP than in C++, whenever I need something done in code, I just write a function for it and expose it, then integrate that into my existing BP logic. If you start learning stuff with Blueprints like me, it's very easy to jump into C++ when needed!
The performance differences are becoming irrelevant too - 4.11 added a system that automatically compiles Blueprints into native C++ when packaging a project, and while it's still in experimental ( = beta) mode, it's only going to get improved on in future releases. BP is basically a VM on top of C++, and this removes the VM overhead completely.
Ooor, you could use one of the third party scripting integrations community people have created. SkookumScript was just released for free on the marketplace, and there's also some third party integrations for Lua, JavaScript, and someone was even working on a C# integration.
All of which, btw, have been possible because UE4 gives everyone full access to the engine source code for no extra cost
Unreal Engine 4 Developers Community.
I'm working on a cute little video game! Here's a link for you.
... but fuck wasting my life anyway.
I'm not sure about the firewall exception. I'm not running anything, so unless Unity or Wwise are for some reason then... it really shouldn't need any network anything.
Other than that, yeah, I've actually been noticing and hearing a lot of them. The tutorial is sort of a hack that was done in about an hour because people were totally unsure of what to do without it, and I wanted something that was a moving image for a sort of attract mode while people walked by.
The groove text thing seems to be completely random when it is and isn't cut off... it's not on the machine, but it always is on my laptop as well. Maybe there's just some setting for the Unity UI that I need to delve into.
Really the only thing that is close to "Working as intended" is that the game really doesn't have a playing "Well", as much as you're just assembling and kinda-sorta mixing the music from its pieces, and then eventually it'll fade away when you start to lose until you lose. The one thing I would think to add would be some sort of score with leaderboards to keep track.
I am planning on refining it over the next year or so, which will include stuff like "a real tutorial", "musical choices", "more player actions", and hopefully a good indication of where enemies will spawn as well as something to keep the towers from firing until they're actually onscreen. I don't want to zoom out too much because I would at some point like to put it on mobile and want there to be clarity in the places that can be hit, so I have to find some way to get that to work.
Thanks for the input though. It's really interesting to see which problems come up, like, every single time anyone plays it.
Might just be your text anchor settings. There should be a way to see different aspect ratios in the Unity editor. I use that to make sure my UI looks good on different devices.
Yeah I am learning to introduce beta testers slowly. People tend to pick up on same issues as each other. Once I get one round of issues fixed I add some new testers to the mix and they fix the next thing wrong with the game.
Typically how much of a production ready game would be Blueprint vs hand crafted C++?
You can ship full games built entirely in Blueprints. I've made all of my, um, about ten (?) gamejam games entirely in BP - see here: http://www.broad-strokes.com, though I haven't updated with the last year's jams yet - and of course, they're just gamejam games, but in none of those cases did we have any problems whatsoever with functionality limits, because there hardly are any.
I know of a couple of larger-scope Indie titles that have built all their game logic in BP, and only started using C++ later on in development for optimization/platform things or to integrate plugins, such as The Solus Project which is made by a friend of mine.
In the end it depends on the developer. Some - like me - prefer to build in BP for the insanely fast iteration time, and only dip into C++ for advanced things, while others with more classical programming backgrounds prefer to write the majority of game logic in C++, and only use BP for level scripting. All that is to say: BP are a perfectly viable language for making games. AND they teach you about programming concepts you might not even know about on the sly. Plus, you can't accidentally make typos ;-)
Unreal Engine 4 Developers Community.
I'm working on a cute little video game! Here's a link for you.
This is in the boss's attack frame, an object. Its triggered by an alarm going off.
Instance_destory destroys the attack frame object
obj_enemy_secretary_boss.state=states.chase resets the boss back to chasing the player till they reach attack range.
Chase is one state and corresponding script, this all works fine until I kill the boss and get an error.
at gml_Object_obj_secretary_boss_attackframe_ObjAlarm0_1 (line 2) - if (obj_enemy_secretary_boss.enemy_health > 0)
Near as I can tell, the attack frame object still tries to run this script while the boss is dead, I already tried object exists and that gave an error.....I wonder if I tighten the alarm that triggers this script. Plus there's the fact that in the original kung fu, enemies that had health 0, lost collision and fell off the screen.
Lets see if instance_exists works better.
It worked! But the attack frame sticks around for a few more seconds after the boss dies. That's a problem....wait, did the animation even play?
edit: progress
http://www.fallout3nexus.com/downloads/file.php?id=16534
https://www.youtube.com/watch?v=jJjDV9oWIBk
Unreal Engine 4 Developers Community.
I'm working on a cute little video game! Here's a link for you.
You can basically do anything, up to a point, that you probably don't hit. If you do hit a point that you can't do something, it's probably a matter of going into C++ and making an adjustment so that you can do the thing in Blueprint. If that makes sense.
My last post with all the gifs, all that stuff is blueprint. No c++.
That said you can also do some pretty heavy duty C++ if you want to. I use quite a few pretty beefy features in my Unreal code because I'm comfortable with C++ (been doing it for 20 years). Unreal is really good about presenting tiers of complexity to you. You can go from Blueprint -> Walled garden C++ -> Holy shit C++ all inside the engine framework.
It's sometimes necessary to drop down into pure C++. I'm looking at building a huge universe (damn you again Paradox why do you always make the games I want to make first...) and I just don't think it could handle having potentially hundreds of thousands of active actors
Very true. It's likely you're going to end up with your universe representation being pure C++, memory optimized and all that fun stuff, with a layer that creates only the actors required to present to the player. Should be fun.
I will say this though, Unreal is pretty good about actor management...so you may try it the "easy way" first and don't preemptively optimize. Unreal may surprise us.
Welcome to Game Design!
Legends of Runeterra: MNCdover #moc
Switch ID: MNC Dover SW-1154-3107-1051
Steam ID
Twitch Page
Well my main concerns for my case are
1) ticking. I can't have everything tick every frame but things do need to tick every frame when they are close to the camera and I don't think you can change that within an actor's lifetime
2) memory pressure. IIRC the way the allocate actors is they allocate whole pages to them - which is fine because actors are pretty beefy objects. If I have say 10k star systems each containing their own stars, planets, moons, asteroid belts, etc even if they are otherwise empty of player stuff, that could potentially just take a few gigabytes of ram in actor memory alone
3) actors that don't exist are actors that don't need to be culled every frame
My current thinking is that each star system will probably have a permanent actor and I may add and remove sub-components dynamically to represent contents based on camera position / fog of war
Re: 1) Yes you can. Use the Set Tick Enabled function in BP, or its equivalent in C++. You can also change an actor's tick rate.
Re: 2) I would do what GnomeTank suggests and have an abstract data structure of all the things that exist (those are "fuuuun" to design btw), and build a layer on top of that to create objects for whatever the player is focused on at any given moment.
Re: 3) Very true
Unreal Engine 4 Developers Community.
I'm working on a cute little video game! Here's a link for you.
Nnnngh... I get what you're saying, but I'm more referring to a long-running strain of defeatism and insecurity that I've been fighting with for years. And... I think it's best if I don't say more than that. I'm sorry for bringing it up in the first place.
I think it comes with the territory of doing something creative. I've been staring at my game too long and I don't even want to play it anymore. There is also something incredibly frustrating with caring so deeply about something and putting day after day of 12+ hours day into it and showing it to someone and having them go "eh, that's cool I guess".
Doubt is going to be natural when you have to be your own compass in uncharted waters. I just try and take it one day at a time and focus on short term goals.
Granted I don't think I have a balance opinion on the subject given that on my last C++ project;
Good resume project at least, but I don't want hi-light it too much because I don't want an employer to get the mistaken impression that I know what the hell I am doing in C++.
That being said, my experience working in C++ was the opposite of moving from Java to Python. As opposed to "I need this little code to do all this?" it was "I need this much code to do just this?."
I'd be poopin' these things out
C# is pretty nice, var for less typing, decent type safety. It doesn't feel especially modern compared to languages like Rust or Haskell, but functional programming is not for everyone. C# is kind of like a version of Java that isn't incredibly shitty
Change the game, don't let the game change you.
Make Floating Rocks with the Power of Math™! (Part 1)
I'll hopefully be able to finish parts 2 and 3 later this week. Would love some feedback on style, content, and all that! Do you like these kinds of tuts, or are you more of a video tutorial kinda guy/gal?
Unreal Engine 4 Developers Community.
I'm working on a cute little video game! Here's a link for you.
I like written tutorials because the video ones often get frantic with me having to pause or rewind all the time to catch things the guy is saying
That is unfortunately more often than I'd like, but I am generally able to avoid it.