I’m working solo on a game project that I started designing (on paper) way back in 2007(!).
The time has come to start implementing some prototypes, and it seems UE4 works really well for me, because I’ve made more progress in the last couple of weeks than I have done over the last 7 years…
Xenomata UGV is a project involving remote-controlled unmanned ground vehicles. It’s a single player deal with elements of tactics, exploration, horror and quite possibly a lot of techno-babble, but most importantly a few fairly unusual mechanics. More details to follow as features gradually reach a state that’s decent enough to merit a new post in this thread.
Current state: Vehicle chassis prototype done and working well.
Watch the results here:
The main challenge now will be resisting the urge to build a proper good-looking model for the UGV… Hopefully I’ll move on right away and deal with more important framework matters instead.
So, watch this space for updates in the near future. It’s going to be a long, long, looooong ride.
Did I mention that this will take a very long time?
…make it into a segmented centipede but with wheels.
nice start, lots of lookats i take it in the animblueprint
This is looking really nice. Any chance of a longer tutorial?
Looks awesome. That anim blueprint is ridiculous
Glad you like it. The animation BP is indeed a bit freaky - but it’s just a lot of Copy Bone and Look At nodes (mostly the latter as Geodav suspected). Should perhaps be rewrite that bit in C++ later on, but then again, strangely enough, the graph doesn’t seem to have any measurable impact on performance when compared to a simpler vehicle with just a single Wheel Handler node, so maybe that would just be a classic case of premature optimization.
Regarding segmented caterpillars with wheels: There will be a train in the game (because there has to be something fast and heavy that can knock you right out when you’re not paying attention) and a train is, in fact, just a very big segmented caterpillar with wheels…
very nice, looks awesome moving across the ground:)
its not that freaky, it looks like there’s only 52 skeletal controls;)
Wow, this is insanely impressive!
Would you mind sharing some of the gotchas you ran into while working on this? What would you like for us to improve to make it easier for you and others to do similar things?
Well, thank you! I’m a bit disappointed though, that it wouldn’t take more than this to impress a UE developer
Sure, and thanks for asking. Most of the snags I hit were however outside of UE4, mainly related to the fact that I’m using Cinema 4D R12 which has some issues with the FBX export. So I had to jump through some hoops to get everything into the engine with all object/bone axes oriented in a useful way. But yeah, that’s really an external problem outside of your control.
Inside of UE, the only things that stand out as minor annoyances are some cosmetics in the animation blueprint nodes:
(image left) In the green header of the Look At node, the look-at-target is not specified, so I can’t verify its correctness at a glance without selecting it and checking the details panel. It would be great if it had two lines:
- Modify: a_bone
- LookAt: another_bone
in that order.
(image right) Further there’s the fact that the order in which the target and source bones are specified in the Copy Bone node is not the same in the graph node as it is in the details panel. The node lists Source/Target while the details panel lists Target/Source. This made me mess things up a few times.
Finally, when a certain skeletal control node is selected, it would be great if the 3D preview window in the animation blueprint editor could dim or hide the bones that are not affected by the currently selected graph node to make it easier to verify the orientation/location of the affected bones. A double-click (or something) on the graph node could also cause the camera to move in and automatically frame the bones involved.
Other than that, the whole process was as smooth as anyone could reasonably desire in this kind of context, and considering the fact that I went from nothing to a “playable” prototype within four days, it’s obvious that there aren’t any major problems anywhere in the chain.
I hadn’t even touched the animation blueprint editor or PhAT before doing this.
Fantastic work Xenome! The suspension of the vehicle looks superb. Hope to see much more!
Hello, Xenome, thanks for the feedback.
For Look at control, I totally missed the title part. I’ll also fix up Copy node.
>>Finally, when a certain skeletal control node is selected, it would be great if the 3D preview window in the animation blueprint editor could dim or hide the bones that are not affected by the currently selected graph node to make it easier to verify the orientation/location of the affected bones. A double-click (or something) on the graph node could also cause the camera to move in and automatically frame the bones involved.
That is a great feedback and I’ll add to the list. We also have more things we’d like to do with viewport/preview - i.e. you can modify in the widget for IK bones. They’re still in queue, but waiting for it.
Good to see this worked out great.
That would be awesome if you give even a pointer tutorial on how to achieve this.
This is really nice
@Sean Gribbin: Thanks, more to come, for sure.
@Lina Halper: That sounds awesome.
@RinDreamX: Yeah… I’ve gotten a bunch of requests for a tutorial… I’ll see if I can whip something up somehow, but it has to be good too, and that takes time. Will definitely try to push it near the top of the stack.
Looks amazing. Now put tank tracks on it
That’s an interesting challenge
I’ve got a pretty good idea of how to achieve that, but since I don’t need any for this project, it’s unlikely to happen, I’m afraid.
Xenome – I love love love your project Any chance you could contact me at firstname.lastname@example.org?
Looking really good so far man, nothing to add really. Looking forward to seeing more.
Thanks, that’s OK, I’ll handle the adding of bits
Some more stuff done this weekend, as illustrated in this clip:
Lots of big Blueprints. Setup was fairly smooth, although it would have been easier to do if I didn’t try to watch football at the same time… but there you go.
The key thing for this to work was to let the PlayerController subclass take (and consume) all the user input and then carefully pass it on to the correct vehicle instances rather than having them registered as input receivers themselves. Worked a treat.
I’ll have to get my UX guy (that’s me on thursdays) to figure out a way to make this as non-befuddling as possible at some point.
Could you made share the ground texture ? Haha I’m sorry… But I’m serious. I like it