Unreal Engine Data Roundtable Discussion

  Рет қаралды 2,438

_benui

_benui

Күн бұрын

Пікірлер: 7
@v1vendi
@v1vendi 2 жыл бұрын
We had quite an interesting solution in my team. All the balancing data (abilities params, speeds, etc) was stored as JSON on a separate web server, and it was downloaded and parsed every time a game started. We could tune this params in realtime, and didn't need to recompile the deployed game with new params, just restart the match. Also it helped us maintain multiple presets of game params and switch between them during tests easily. There was only a problem with versioning data, because we didn't store it in VCS, but currently I think that the best option is storing a JSON in repository, load it to some external server on startup/deploy and then read the data from the network, still with option to edit it online
@v1vendi
@v1vendi 2 жыл бұрын
Also for editing JSON we made quite a simple tool, that generates HTML form for any JSON on the fly. No validation, but it took around 2-3 days to develop and quite easy to maintain and extend
@ThePseudologos
@ThePseudologos 2 жыл бұрын
@@v1vendi Sounds very useful. Would be very interested to hear how you get the data back into unreal properties. a) How do you identify the target of the data (e.g. abilities are UObjects so how would that work) b) How do you set individual properties or do you invert the process everything knows how to read its properties and on startup parses the JSON?
@v1vendi
@v1vendi 2 жыл бұрын
@@ThePseudologos so basically, there's one huge USTRUCT, and a subsystem, that stores current selected preset id (default is stored in .ini), and requests one large JSON from web server on game server startup. This JSON gets parsed with FJsonObjectConverter::JsonObjectStringToUStruct and stored in subsystem property Every ability, or any other configurable thing (character speed, jump height, weapon fire rate) gets a property directly from subsystem in blueprints or in cpp: MyConfigSybsystem->GetCurrentPreset()->AbilityParams->MyAwesomeAbility->BananasPerSecond On testing clients there's also a trivial UI dropdown where you can switch selected preset (rpc to server), and server calls an event that notifies abilities and other actors about config change. Change can be even done realtime without match restart, but more cleanup and update logic is too much overhead for a testing feature, so we just restart the match
@sebastianavena
@sebastianavena Жыл бұрын
Thanks for sharing this, I'm taking the same approach and it's nice to have an actual experience from people that did the same :)
@kalleskit
@kalleskit 2 жыл бұрын
You've earned yourself a subscriber. Tack!
@GarethNN
@GarethNN Жыл бұрын
Really great discussion, super informative! Do the other folks who took part have channels I could follow?
Myth-Busting “Best Practices” in Unreal Engine | Unreal Fest 2024
49:46
Why Video Game Graphics Degrade - And Who's to Blame?
15:12
Radical Cap
Рет қаралды 835 М.
Every team from the Bracket Buster! Who ya got? 😏
0:53
FailArmy Shorts
Рет қаралды 13 МЛН
#notGDC 2023 | Know, Do, Feel
43:19
_benui
Рет қаралды 1,8 М.
I made maps that show time instead of space
10:44
Václav Volhejn
Рет қаралды 1 МЛН
Предел развития НЕЙРОСЕТЕЙ
18:53
Onigiri
Рет қаралды 211 М.
It's Not Your Fault You're Behind In Life - A Software Engineer's Struggle
15:13
UE4 Tutorial: Character Health Bar UI Using C++
22:01
_benui
Рет қаралды 15 М.
AI Copyright Claimed My Last Video
24:11
Venus Theory
Рет қаралды 729 М.
UE5 - Data Storage Using Object Class
26:36
3 Prong Gaming
Рет қаралды 8 М.
Generative AI is a Parasitic Cancer
1:19:55
Freya Holmér
Рет қаралды 257 М.
Python laid waste to my C++!
17:18
Sheafification of G
Рет қаралды 189 М.