Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Pristontale in Unity

Initiate Mage
Joined
Aug 31, 2012
Messages
72
Reaction score
26
I've been busy with university... I hope to have some spare time after the exams in January.
 
Last edited:
Initiate Mage
Joined
Aug 31, 2012
Messages
72
Reaction score
26
------------------------------ Update -----------------------------

Haven't had time since my last update, but I should still have the code on my broken laptop.

------------------------------ Update 17/06 -----------------------------

Haven't had the time to check if I still have the project on that broken laptop... I will, however, have a look at it within a couple of weeks. That's a promise!

Changes of the Unity Engine

Unity has changed a lot since I stopped working on this project. The biggest change being that they have started moving to data-oriented design (dubbed data-oriented tech stack DOTS) instead of conventional object-oriented design. In short this means that data and logic is separated, which allows for better programming practices and incredible optimizations. If you are interested in this topic you can read into the details . Sadly only a fraction of all functions that are currently available in the engine have been adapted to work with DOTS...

M0Yle2y - Pristontale in Unity - RaGEZONE Forums

Figure 1. Unity using object-oriented design
  • Objects, handle data and logic/behaviour

ZWxNUSo - Pristontale in Unity - RaGEZONE Forums

Figure 2. Unity using data-oriented tech stack
  • Entity Component System ECS
    • Entities, a way to reference to sets of components
    • Components, containers for data
    • Systems, logic/behaviour that modifies/accesses components
  • Job System, allows for easy multi-threading
  • Burst Compiler, compiles jobs to optimized native code instead of slow managed code

All that being said, DOTS is the way I want to go for porting PristonTale.

------------------------------ Update 19/06 -----------------------------

Experimented a bit the last couple of days:
  • Created a Bootstrap script that initializes Entities like a Player (capsule) and Enemies (boxes moving away from the Player in a circle), each with their own Components.
  • Created an EnemyMovementSystem that moves the enemies.
  • Created a PlayerMovementSystem that moves the player based on Keyboard input.
  • Created a CameraSystem that moves the camera around the Player based on Keyboard and Mouse input, which was a lot more work than it sounds because the Camera isn't ported to DOTS yet.
  • Created a crappy way to handle Keyboard and Mouse input (that works with DOTS).

My Intel Core i3-7100U processor with integrated Intel HD Graphics 620 handles 20.000 entities easily.

GrzhBE8 - Pristontale in Unity - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Last edited:
Initiate Mage
Joined
Aug 31, 2012
Messages
72
Reaction score
26
------------------------------ Update 21/06 -----------------------------

I wanted to play around with animations but I don't have my old files yet, so I dug up 3Ds Max 2012 from the deeps of the internet. Seems like there aren't many downloads around anymore for those old versions... Perhaps because they don't work very well on new versions of windows.

I am using the char and field files from the 2012 source code at the moment. Does anyone know if the complete source also has UI images?

(Bump, because I'll be working on it a lot soon™)
 
Moderator
Staff member
Moderator
Joined
Feb 22, 2008
Messages
2,404
Reaction score
723
Great to hear you are still working on this project! I myself find this idea very interesting and wanted to do something similar but I have no knoledge in 3D or even in unity. But I am willing to learn :):

If you want a teammate or something similar, or even programming related questions (I dont think you will need it though, since you've done all this work already xD) feel free to send me a PM.

Keep up the good work :):
 
Initiate Mage
Joined
Aug 31, 2012
Messages
72
Reaction score
26
Heheh I'm basically learning what I need to know as I go :):

I remember that I spent ages on manually setting the textures on the models in 3Ds Max back in 2017 (like in the video on SunnyZ's YouTube). Now I figured out that you can just save the ASE as MAX in the folder with the textures and they will apply automatically... At that point you just have to make them visible. facepalm

I noticed that some models use the same texture multiple times (for example once in a single sided material and once in a double sided material). Wonder if they did this from a performance standpoint...?
 
Last edited:
Moderator
Staff member
Moderator
Joined
Feb 22, 2008
Messages
2,404
Reaction score
723
About modeling I can not help you. I have one question though. Despite you use Unity engine to make the client side, do you need to use unity to make the server too?
Or can you use pure C without any unity stuff? Like, design your own socket system and everything else.

By the way, is this project going to be open source or you will code it just for you? Closed source?
 
Initiate Mage
Joined
Aug 31, 2012
Messages
72
Reaction score
26
I have one question though.
proceeds to ask 2 questions

I'm thinking about releasing some stuff along the way like a repackage of the models, materials and the shaders ready to be used in Unity. If it starts to become something *big* I'll consider sharing everything.

Server doesn't have to run in Unity, but it would be nice if it did as a "godmode player" kind of thing. If I'm not mistaken you could use C++ to create a DLL to do that. I wont hold you back if you want to do the networking from scratch :p:
 
Moderator
Staff member
Moderator
Joined
Feb 22, 2008
Messages
2,404
Reaction score
723
What do you mean by godmod player? But I understand, coding network from scratch would take a lot of time and no need to re-create the wheel right? :p:

Oh yea, the stuff ready to use in Unity would be nice. Then I will have something to work with to learn :): Looking forward to see it.
 
Initiate Mage
Joined
Aug 31, 2012
Messages
72
Reaction score
26
Don't know how to explain... The server would basically look like a client from the outside (with controls to navigate the game), but do server stuff in the background.
 
Moderator
Staff member
Moderator
Joined
Feb 22, 2008
Messages
2,404
Reaction score
723
hmm I see. But its not very wise, is it? I mean, if there was a way to make the server linux portable for example, we would save a lot of resources from hosting. And by the way, the server doesnt need to look like the client right? it only has to do stuff in the background like you say.

You think that is possible?
 
Initiate Mage
Joined
Aug 31, 2012
Messages
72
Reaction score
26
That godmode thing is only an idea (and isn't the most resource-friendly indeed). You could run make a server that runs on Linux (with or without Unity).
 
Last edited:
Moderator
Staff member
Moderator
Joined
Feb 22, 2008
Messages
2,404
Reaction score
723
That is good news. Hope you make enough progress, if not to share, at least we can play in a better engine :):

I'm still free for any help you might need regarding the game itself. As long as it does not involve 3D stuff hehe
 
Initiate Mage
Joined
Dec 4, 2008
Messages
25
Reaction score
4
That's so awesome, only in ragezone you see stuff like this. Good luck man.
 
Initiate Mage
Joined
Sep 11, 2016
Messages
10
Reaction score
3
Hello,
Are you still working on this?

I am with the same idea recently, and I know there's a lot of people with interest in a project like this. But if everyone comes with a different project, it kind lose the porpuse.

So I would like to know about sharing a project (its basically piracy anyway, so I dont see why not make it open).
 
Initiate Mage
Joined
Jun 3, 2013
Messages
33
Reaction score
6
Nice progress, it's good to see that you are still developing it, good luck!
 
Back
Top