It's way more complicated so good luck with that...So I've been playing with UE5 recently and been having a good time. Currently working on creating melee damage calculation to feed into the combat system and its got me thinking about formulas. Decided I would like to use EQ damage calculation as a model and got a good overview from here: https://wiki.project1999.com/Game_Mechanics
Curious if anyone knows where the calculations from AC/Avoidance live? Not sure I want to do things exactly the same way but its a good reference. S Secrets perhaps you can point me in the right direction?
So I've been playing with UE5 recently and been having a good time. Currently working on creating melee damage calculation to feed into the combat system and its got me thinking about formulas. Decided I would like to use EQ damage calculation as a model and got a good overview from here: https://wiki.project1999.com/Game_Mechanics
Curious if anyone knows where the calculations from AC/Avoidance live? Not sure I want to do things exactly the same way but its a good reference. S Secrets perhaps you can point me in the right direction?
Yea, using a GAS execution calc for this portion. I'm no good at writing code, much less C++ but I have a CS degree and understand the concepts. Have been able to limp through it up to this point with the help of a hodgepodge of tutorials on the various aspects I wanted to get working. Not doing any replication on this one but figure learning GAS now is worth the effort moving forward.Are you using the Gameplay Ability System?
It can handle MMO-like ability system easily and you can specify very in-depth damage calculations.
For any complicated ability+attribute system I would recommend it.
But there is a bit of a learning curve to it, and some C++ is required.
You'd probably want to make the following first, but it's not limited to just this:So I've been playing with UE5 recently and been having a good time. Currently working on creating melee damage calculation to feed into the combat system and its got me thinking about formulas. Decided I would like to use EQ damage calculation as a model and got a good overview from here: https://wiki.project1999.com/Game_Mechanics
Curious if anyone knows where the calculations from AC/Avoidance live? Not sure I want to do things exactly the same way but its a good reference. S Secrets perhaps you can point me in the right direction?
Thanks Secrets.You'd probably want to make the following first, but it's not limited to just this:
- A Subsystem database, separate to Unreal 5, that handles storing and interacting with the values from gameplay
- An autoattack / combat system that enables tab-targeting or selective targeting, also within a Subsystem
- A component that resides outside of Unreal 5's replication loop that handles stat updating between that component and your game
- An actor that is fed the information from that component and handles HP replication to clients within your 'Unreal server', and set up your architecture to spawn an Unreal binary for every zone that handles interacting with the database layer and other zone instances
THEN you can start worrying about combat, and doing it in that component I mentioned above. You want combat to be handled per NPC/Player through a shared interface, most likely, that gets attached to a Pawn / Actor, and then separately, a singleton-style Subsystem database backend that runs parallel to the game inside of the game loop. Subsystem is designed for that interaction.
If you're trying to make an EQ-like game, I feel like Unreal will constantly be at odds with your design - but it's doable.
Also, avoid Blueprint where you can. Using the 'make native' function only goes so far. Blueprint's slooooooow compared to hiring a real-ass engineer for this stuff.
I've been dealing with an Unreal 3 project for a year and a half that implements a pseudo-RPG style interface. It's hard but not impossible to do that in Unreal.
I worked on an Unreal 4 title (should actually be out soon, im excited to see what the team did) in 2020, and I wrote a backend for that game that literally cloud-fetched the entire database from a Google Sheet so analytics folks could tweak individual values based on data warehoused gameplay habit data. It was... rough to do in Unreal 4, and I had to do a shit ton of hacky bullshit (part of that was us being green to Unreal 4, part of that was it being impossible to do without gutting parts of Engine in Unreal 4)
I can tell you right now that you'll have to pigeonhole an entire system ontop of Unreal 5 but it's far less effort than what I've been going through. Unreal 3 had a (poorly implemented) concept of C++ singletons that existed outside of the GC loop, and the Unreal 4/5 subsystem is so much better.
Thanks Secrets.
For the scale of what I'm building I'll likely just use flat data tables for gameplay values. My plan is essentially to make a single player game that mimics to some degree soloing in EQ. I'd expect less than 1000 items, maybe a lot less, maybe a dozen or so monster types, one player class/race, a few basic NPC classes, a couple dozen skill/spells at most.
I'm not doing any replication right now, only using UE GAS system so that I can work with replication on a later project if I choose to. That way I can focus on learning networking and replication at that point since GAS integrates replication and client prediction natively.
I've already got a barebones autoattack combat system with targeting that pulls data from previously mentioned data/curve tables. I still need to integrate a lot of stuff (level scaling, most of the attribute relationships with combat system etc) so I was interested in formulas to give me some ideas for how to handle that. Damage calculations are all being done in C++.
For what I'm trying to do, and the knowledge level I have, it makes the most sense to create the combat loop first then reverse engineer any data access issues I have later... or simply restart on that architecture once I have a better understanding of what I need. As Ravishing pointed out if I tried to build it "right" from where I am now, I simply wouldn't build anything. I have no doubt you're correct, but so far at least things are going pretty well and I have a clear path ahead for the time being
Yea, I figure if I ever did do multiplayer I would probably focus on a local multiplayer game with the ability to host lobbies for remote joining. I don't think I would even consider hosted servers, matchmaking, etc. I also suspect that I would just forfeit the idea of stopping cheating, with no matchmaking a person can just choose whether they want to cheat and whether they want to play with cheaters. Thinking much more early 2000's style. Maybe I'd change my mind if I spent more time learning about it. For now just having fun with what I'm doing.You will still need a single player mode if you actually want to sell it.
Are these slow because of the engine? or are they slow because after launch they're left with a skeleton crew to keep them sort of functional?I was thinking about engines this morning. Both Unreal and Unity are great at that initial get-something-running stage. Both have serious problems once maps and assets start getting larger.
My top 3 fave games are unity unity unreal in Empyrion, Eco, Conan. All 3 sprang to life out of the grass then slowed to a crawl, doing minor features here and there with major bugs taking multiple years to fix.
Are there ANY unreal / unity games that are showing fast progress in the later stages?
For conan there's no mystery why they are so slow as I have their devkit. 20 minutes to start it, then a good 15-20 before the UI will even respond to a mouse click because it has 400 threads compiling shaders etc. I'm guessing Empyrion / Eco are similar, but who knows.
I haven't followed any of these, so I don't know what their timelines have looked like, but Empyrion and Eco released in 2020 and 2018 and they're still in early access? They likely made most of the revenue they'll ever make long ago, so even if the devs didn't intend to put them on life support, that's probably what ends up happening. Once you're in early access, you've launched, and it's very unlikely that there's a mountain of money waiting on you once you change from early access to "we've really really launched". As much as devs need something like early access, it sets up some misaligned incentives from the consumer's perspective.Could be that for sure. Most development I've worked on, the greatest speed was towards the end of the project, but I've never done one of these early access / support for years things.
I mean, I really don't want to sound like I'm defending the game engines. Can't say much about current Unreal, but Unity seems to get less usable with every release, and pre-SRP versions would probably be better if not for wanting addons that don't work in older versions. But, if you can't make something in Unity or Unreal, what hope do you have? Roll your own just because Unity/Unreal are clunky? Were Funcom's games in their own engine developed more quickly and with less bugs? And if so, why did they switch?Yea Empyrion has been around a very long time. I can't remember the date it went early access but I've been playing many years. For them, almost as soon as the first early access was out, the project barely moved. The build system they started with has changed little, and it is the most impressive part. That usually makes me think whoever did it moved to another project.
Eco has had a strange life, originally being a kind of educational simulation with some educational funding. They got a big boost from the late shift guys starting big servers and streaming RP stuff. So much so that they've shifted their focus around a bit to attract that style of play.
Eco shows progress alot but in developer streams. They tend to wait a very long time before releasing anything. Boats and trains have been in the works for YEARS, and modders ended up beating them to it with boats.
Conan spins their wheels alot with redos and do-overs. Their artists are kept busy doing "battle pass" stuff. Not even really the kind of game that works for, just shoehorned in.
I'd definitely put the engine high in the blame for conan, but it might be their own customized unreal editor to blame. It almost seems single threaded.
I dunno, I think its more that the last 10% of anything takes as long as the first 90%. The initial parts of a project are fun and easy (relatively speaking). You're painting with broad strokes, going from nothing to something in a week or less, etc. etc. After some time though, you end up getting crushed by the weight of all of those decisions that were made when everything was quick and easy. Then when you realize that for some reason you need to split that visible inventory into two slots for some design decision that was made in the first week of the project and that you can't reverse because some other system has been built in parallel that relies on it. So now you have to re-import and set up every character model and piece of gear (for like the 17th fucking time) etc. etc. Or something like that lol.That last paragraph is depressing but true.
I wonder if this newish trend of releasing early and half-finished has driven the 2 dominant middleware towards being strong at that early prototyping stage, and no work gets put toward longterm large scale projects.
I've had really poor luck with Unity myself lately, but it is encouraging to watch monsters & memories get going. They are still in the very early stages but have a decent sized map in night harbour and it runs decently in game for me, and seems to work well in the editor on stream. He gets a crash now and then, but no more than I do on my small projects.
Will be interesting to see his workflow in a year or two's time when things are more bogged down.
For the first part above, I wouldn't trust Funcom to write their own stuff really. Really I could probably rephrase my original question and leave out the unreal/unity requirement. Are there ANY games that can still create and add stuff at that initial rapid pace?
Apex legends maybe? I don't know that I would call it rapid but they do make new heroes and maps fairly often.
Early everquest was cranking out an expansion every couple years.
Morrowind seemed to release a few expansions relatively quickly, and ugh that was gamebryo.
The money side of these engines would be fascinating to have a peek into. How much do they make off finished games? How much of it is mobile garbage? Do they actually get paid from these dodgy early access games or do they have to sic lawyers on them?![]()