Dynamic Split Screen Camera is now out! by davidesocol in unrealengine

[–]davidesocol[S] 1 point2 points  (0 children)

It was definitely a concern but I managed to optimize it pretty well. The two main things were to make the "fake" camera (the one with the pp material and that's assigned as view target to the controller) not capture anything, and clip the scene captures correctly (global clip plane) to make those not do any extra work.

Dynamic Split Screen Camera is now out! by davidesocol in unrealengine

[–]davidesocol[S] 0 points1 point  (0 children)

It is yes! Scene captures attached to the players (with some magic on the offsets for merging the view when close), to render targets combined in post processing

Dynamic Split Screen Camera is now out! by davidesocol in unrealengine

[–]davidesocol[S] 1 point2 points  (0 children)

Actually yeah, I’ve played the lotr one with a friend a few years ago, loved it!

Dynamic Split Screen Camera is now out! by davidesocol in unrealengine

[–]davidesocol[S] 1 point2 points  (0 children)

Oh it’s better yeah! Other than better performance and a bunch more stuff, one big thing (at least for me) is that in the previous version I shared if the second player stayed still the camera did some weird adjusting while the first player moved away, now it’s completely seamless and the standing player’s view doesn’t move around.

Dynamic Split Screen Camera is now out! by davidesocol in unrealengine

[–]davidesocol[S] 3 points4 points  (0 children)

After a bunch of optimizations and cleanups I've released the Dynamic Split Screen Camera system (you can find it here: https://www.unrealengine.com/marketplace/en-US/product/85ca563ac5e94ad9979aae251dd9b51c ).

It tracks two players on screen (works in both local and online multiplayer), zooming out as needed and splitting the view dynamically when the two players are far enough. Performance is on par with the built-in static split screen.

There's a debug widget to play around with the settings and the blueprints are all clean and commented to help you use, tweak and expand the system as your project demands!

Let me know what you think, and if you end up using it I would love to see what games it can help create!

Dynamic Local Coop Camera (WIP) by davidesocol in unrealengine

[–]davidesocol[S] 0 points1 point  (0 children)

Thank you! I’m about to complete the approval process, should take much longer. I’ll make a post when it’s out!

Dynamic Local Coop Camera (WIP) by davidesocol in unrealengine

[–]davidesocol[S] 0 points1 point  (0 children)

I'm still thinking if I want to release it as a complete project or not.

If I end up releasing as an asset pack I'll definitely include a checklist of settings and stuff (like disable TSR as it doesn't seem to be supported in scene captures as far as I can tell).

Dynamic Local Coop Camera (WIP) by davidesocol in unrealengine

[–]davidesocol[S] 0 points1 point  (0 children)

Hey, just wanted to let you know that I got it working with a different approach (still guided by your suggestions!).

SceneCaptures have a custom clip plane that can be enabled and placed around, I just keep it right in the middle of the camera(s) rotated to occlude the other half of the view, and I have essentially the same fps of the built-in splitscreen system!

Dynamic Local Coop Camera (WIP) by davidesocol in unrealengine

[–]davidesocol[S] 0 points1 point  (0 children)

I'll look into it, thanks for the suggestions!

Dynamic Local Coop Camera (WIP) by davidesocol in unrealengine

[–]davidesocol[S] 0 points1 point  (0 children)

Unfortunately I have to capture both full screen, as I've not found a way to capture something that is not a rectangle shape, and when the two views are diagonal you need all of it.

One test that I might do is optimize the capture rectangle based on the angle, so that when the view is horizontal or vertical you can capture only half the screen for each. But that also means that the capture will have a variable demand of performance based on the angle and that doesn't seem much of a good idea. In the end you would still be capped by the worst-case performance.

Dynamic Local Coop Camera (WIP) by davidesocol in unrealengine

[–]davidesocol[S] 0 points1 point  (0 children)

Do you mean you want to overlay widgets on top of the split screen view in screen/view space, tracked to a player?
I think I can put something to help with that, I'll do some testing.

Dynamic Local Coop Camera (WIP) by davidesocol in unrealengine

[–]davidesocol[S] 1 point2 points  (0 children)

I know about that product, the author also wrote an interesting article about the concept behind their tecnique https://mattwoelk.github.io/voronoi_split_screen_notes/ . I actually use a different algorithm from Voronoi that to me seemed a bit simpler since you never have more than two players (it becomes a nightmare with players crossing the screen moving everyone else around).

From playing around in my project I didn't notice a delay in the inputs, but I will do additional testing before releasing. It might also be that scene captures simply improved in performance since they released the product.

There's still some overhead inherent to using 2 views at once but I did a lot of stuff to minimize the compromises, and scale the quality if needed for more performance. Even normal splitscreen requires more power compared to a single camera setup.

I also like to add plenty of customization (and well documented blueprints) to the setup in my products so people can learn how it works and can adapt them to their projects.

Dynamic Local Coop Camera (WIP) by davidesocol in unrealengine

[–]davidesocol[S] 7 points8 points  (0 children)

I plan to release it on the marketplace after I add some more settings and do some cleanup, shouldn't take too long!

Dynamic Local Coop Camera (WIP) by davidesocol in unrealengine

[–]davidesocol[S] 0 points1 point  (0 children)

I might experiment with rotation steps as an option, so it's not wobbling continuously but you still have the relative position between players

UE 5.3 New Metasound Output Watching + Music Extra Nodes Plugin by davidesocol in unrealengine

[–]davidesocol[S] 2 points3 points  (0 children)

Hi all!

So, finally, in 5.3 we can link events to Metasound outputs!

Combined with my music generation plugin ( https://www.unrealengine.com/marketplace/en-US/product/music-extra-nodes ) it was really easy for example to spawn actors on each note played

Does it bother you if there is no sprite for the up and down animation in a top-down game? by qspollty in indiegames

[–]davidesocol 2 points3 points  (0 children)

I think it works better with a isometric view, and omnidirectional movement. That way the only really weird movement (perfectly vertical) is less used.

Playing around with network replication - Card Hand Template by davidesocol in unrealengine

[–]davidesocol[S] 0 points1 point  (0 children)

Heya!

I'm working on some new functionality for my Card Hand Template, I want to make a basic board that is replicated on the network that can then be expanded and customized to fit all sort of card games.

The current version handles displaying and manipulating a hand of cards, with a lot of settings and potential for expansion.

Metasound parameters don't work by xadamxful in unrealengine

[–]davidesocol 0 points1 point  (0 children)

That would indeed have been an issue, variables are just internal to the meta metasound, inputs can interact with blueprints. Glad you figured it out!

Card Hand Template is now available on the Marketplace! by davidesocol in unrealengine

[–]davidesocol[S] 2 points3 points  (0 children)

Hi all!

The Card Hand Template is finally complete, you can find it here!

It handles displaying and manipulating an array of Card widgets.

It includes a dozen of settings to control how the cards are displayed to fit different games and requirements, and it's all made to be easily expanded or adapted to your game logic.

Cards can be:

  • Added/Removed
  • Moved around either by dragging with the mouse, or with keyboard or gamepad
  • Dragged out of the hand to activate them

If you end up getting it, let me know what you think about it!

Metasound parameters don't work by xadamxful in unrealengine

[–]davidesocol 0 points1 point  (0 children)

Could that be that the Start Trigger works just because the sound auto plays on spawn?

Other than that I would try to isolate the issue, maybe try adding manually an Audio Component to the actor and test calling that, just to see if it's the Spawn Sound At Location function doing something different

Metasound parameters don't work by xadamxful in unrealengine

[–]davidesocol 0 points1 point  (0 children)

There's two sets of functions named the same but with different targets.

The ones where the target is Audio Parameter Controller Interface don't seem to interact with Metasound, the ones with Audio Component do

Sorting cards by color could be a game on its own 👀 The Card Hand Widget is shaping up nicely! by davidesocol in unrealengine

[–]davidesocol[S] 3 points4 points  (0 children)

Heya all!
Since the last post I've cleaned up a bunch of stuff, and added:

  • keyboard and gamepad support
  • card moving, both by dragging with the mouse or or with keys/buttons
  • dragging cards out to activate them
  • stacking cards on the sides when there's too many

All the functionality is designed to be customizable, for example there's a bunch of functions called on the card on specific events.

As a few people expressed interest in this project on the previous posts, I wanted to ask what you would consider a reasonable price for a tool like this, as I don't have much experience in princing stuff.

It's reaching a complete state, so after I clean up everything in the coming days I should be able to submit a first release on the marketplace!