-
Notifications
You must be signed in to change notification settings - Fork 27
Where to start? #90
Comments
Also, is there a reason this project prefers ServUO over others? |
Nope |
I would like to develop the threejs-native branch |
Also I'm locally refactoring the project using typescript. and the result will be published in a separate repository https://github.com/lamo2k123/uojs |
Hi Tyler! Thanks for showing interest in this project. I don't actually recall which branches were being worked on. You could probably start on either branch. But yeah, there's no particular reason using ServUO, other than it's what I'm used to. I think probably the best place to start is just getting the project setup right now and just playing around with it. Aside from that, I think experimenting with different ways of transferring data would be next. Right now, a huge problem is just trying to efficiently transfer static game data (like images, static & tile info) to the client. I honestly don't even know where to start with this part but it's pretty crucial. There needs to be a server to send things like images to the client, and the current one is way too inefficient (it's written in non-native js and is really, really slow). I personally think the next step is building a server that can:
|
@kevinhikaruevans - I am able to login via uojs2 web client coupled with ServUO. So, I'd say that I'm off to a good start, 👍 . I think I will get started with:
|
This is a great project! @tylerssn You can check this post about the packets: |
@criminalx - Funny, I literally just closed that tab (for the article you linked to) to circle back here to see if this was the best source for packets. It's interesting to me is that OP mentions:
This is interesting because the UOJS project is recreating the source (client), so technically we could define the packets ourselves, as needed, right? |
@kevinhikaruevans - for the sake of establishing a proof of concept and getting a more native experience, we could set up a simple Chrome extension and request the |
That's probably doable. I don't have any experience working with chrome extensions though, so I wouldn't know where to start. What kind of stuff can we store in local storage? Can images be stored in them? |
If you use an extension for the browser, you can use Socket, and not send data via WebSocket. Well, it will work only in one browser. I'll post the final day where the sprites for maps are going to start. |
option with an extension for the browser should be optional. |
@tylerssn You can check this project for packets also https://github.com/Hotride/OrionUO , it is an open source client |
Thanks, @criminalx. I'll dig into that. In other news, I pieced together a Chrome extension that downloads MULs/UOPs to local storage. I'll try to make the source available before the weekend is up. For speed of development, it is React-based and the dev/build process is very straightforward. I'm still unsure whether it makes sense to place the MUL/UOP files in local storage or an extracted version of the images. |
@kevinhikaruevans - re: #90 (comment) I hope this report reinvigorates interest in this initiative. I don't think we have to worry about remote serving of assets or browser extensions. Every weekend or two I dedicate an hour or two and dive into the streaming vs local storage problem as well as the issue of what a JavaScript SDK might look like for Ultima Online. The latest browsers grant access to x% of the free disk space on our machines (it varies between browsers). As you can see below, I've uploaded I didn't have to request access to this storage, this is just what, at least, Chrome and Firefox gives websites to play with. Critical point number 2: no server is needed. The "upload" happens on the client side. The user provides the Please feel free to give it a try. Keep in mind this is for proof of concept and not cross-browser tested. The screenshot was taken from my phone. https://evasuo.gitlab.io/uo-playground/ A few points:
Cc: @lamo2k123 @criminalx |
First, this looks like a super fun hobby project to tackle. I see that it hasn't been updated recently but I'd like to start contributing nonetheless.
I see that the threejs-native branch is ahead of master more than any other branch. Should I pick up from there or take it from master?
The text was updated successfully, but these errors were encountered: