I have messed with developing in the webclient a few times. Nothing too extensive. I just haven't seen myself using it for a professional project in the future so I never took it seriously. Mainly because of all of the limitations it poses.
So, I have a few questions that I would like answered, and others may too.
1) I don't know if this has been questioned before. But, what are the plans, if any, for integrating the webclient in to an executable file? The only logical approach I can see currently is to have a web browser in dream seeker and use the standalone build through that. Or, a developer could go to great lengths and create a wrapper in a different language that, once again, loads the game via the web browser. It would be nice to know that games in the future are not cursed to be only web-based games for the rest of their existence.
2) There has always been a starter interface and an easy way to set up the most basic of games. The examples provided were always pleasing to the eye. Especially the new, yet not so new, .dm file that provides you with configurations for your world.view, step size, and more. I don't know if there is such a thing yet, but are there any plans on having example scripts to demonstrate the basics of setting up and configuring the webclient's interface? Doohl's webclient tutorial is a step in to the right direction. Although, I doubt a lot of the developers have actually bothered reading it all. I personally found it to be a good read.
3) I have been keeping tabs on the webclient's FPS performance and would like to know one thing. What are some of the ways the community can help bring the webclient up to par, if not past, the overall performance level of Dream Seeker? It would be satisfying to know that the webclient is very near to be considered a product worth publishing a game under. I don't think in its current state that any game should be publicly released, unless it was given thorough testing and has been proven to not take any drastic hits on performance upon heavy usage.
If anyone has other questions to add, feel free to drop them below. I hope Lummox JR, or anyone else very informed about the progress of the webclient, can answer these questions.
ID:1991452
![]() Dec 1 2015, 10:19 am
|
|
![]() Dec 1 2015, 10:39 am
|
|
#2 would be greatly appreciated if answered in depth.
|
The webclient's actually pretty usable at this point, i tried throwing a few games up on it and the only noticeable issues i saw were with winset and the game starting in software mode when it shudnt have (or atleast didnt in DS)
also the already reported fps issues |
Xirre wrote:
1) I don't know if this has been questioned before. But, what are the plans, if any, for integrating the webclient in to an executable file? The only logical approach I can see currently is to have a web browser in dream seeker and use the standalone build through that. Or, a developer could go to great lengths and create a wrapper in a different language that, once again, loads the game via the web browser. It would be nice to know that games in the future are not cursed to be only web-based games for the rest of their existence. I would at some point love to be able to have a simple application launch a built-in CEF window that could run the webclient as its frontend, and Dream Daemon as its backend. This hasn't been on my immediate radar, however. 2) There has always been a starter interface and an easy way to set up the most basic of games. The examples provided were always pleasing to the eye. Especially the new, yet not so new, .dm file that provides you with configurations for your world.view, step size, and more. I don't know if there is such a thing yet, but are there any plans on having example scripts to demonstrate the basics of setting up and configuring the webclient's interface? Doohl's webclient tutorial is a step in to the right direction. Although, I doubt a lot of the developers have actually bothered reading it all. I personally found it to be a good read. You don't actually need to do anything special to build a game for the webclient; you can build one with a regular DS skin and the webclient will translate it for you. With the primary exception of no menu control, everything should pretty much be there; all you have to do is test to make sure there are no rough edges on anything. You can, however, create a fully custom .dms skin used only by the webclient, and you can use your own controls for it. On the backend, let's say that you know a given user has client.connection == "web". In that case, you can use a routine that would, for example, update their inventory on a HUD, and instead send information to a custom control you made via output() and winset(). Probably the best examples to learn how to make your own controls are the built-in controls themselves. In the BYOND Windows installation, you'll find them in the web subdirectory; that's ../web relative to where the binaries are. 3) I have been keeping tabs on the webclient's FPS performance and would like to know one thing. What are some of the ways the community can help bring the webclient up to par, if not past, the overall performance level of Dream Seeker? It would be satisfying to know that the webclient is very near to be considered a product worth publishing a game under. I don't think in its current state that any game should be publicly released, unless it was given thorough testing and has been proven to not take any drastic hits on performance upon heavy usage. It's actually entirely usable for regular 10 FPS games, especially with "normal" view ranges. Severed World is something of an outlier in that it uses a large view and higher FPS. The server end doesn't take much of a hit at all since DSification was completed, which means it should hold up pretty darn well. For the community to contribute toward improving FPS, I think the biggest thing is just to keep sending in JavaScript profiling results with each new build, as Doohl has been doing with Severed World. That's been a big help in analyzing what's using up the most processor time, and therefore where development efforts can be focused to improve things. |
well whichever mode makes the game looked blurred is what was being used, I don't know much at all about the webclient so I wouldn't know what it was
|
Bear in mind that the webclient has had "high quality" mode for WebGL for a few releases now, that matches what Dream Seeker puts out. If you haven't seen it for a few builds then I would look again.
|
Lummox JR wrote:
I would at some point love to be able to have a simple application launch a built-in CEF window that could run the webclient as its frontend, and Dream Daemon as its backend. This hasn't been on my immediate radar, however. I look forward to this. :) You can, however, create a fully custom .dms skin used only by the webclient, and you can use your own controls for it. On the backend, let's say that you know a given user has client.connection == "web". In that case, you can use a routine that would, for example, update their inventory on a HUD, and instead send information to a custom control you made via output() and winset(). Probably the best examples to learn how to make your own controls are the built-in controls themselves. In the BYOND Windows installation, you'll find them in the web subdirectory; that's ../web relative to where the binaries are. And lookie here. My above concern has been fulfilled. I'll be studying this. I never knew they existed. It's actually entirely usable for regular 10 FPS games, especially with "normal" view ranges. Severed World is something of an outlier in that it uses a large view and higher FPS. The server end doesn't take much of a hit at all since DSification was completed, which means it should hold up pretty darn well. So essentially tabletop games or any games that don't require a high about of FPS for immersion and special effects? I guess that's actually one of BYOND's strong-suits (even though everyone avoids it -- action and adventure has become a "thing" now). I'll have a gander and see what interesting things I can produce in the current state. Thank you for your reply. |
I can't say I'd consider Severed's view range as abnormal, or that the client is currently in the state where developers should be releasing games for it, but lowering Severed's FPS from 40 to 10 did help a bunch with its playability in the webclient.
The main reason we've stuck with the webclient is because Lummox has said he's confident he can bring it up to speed, and we've seen this gradually happen over the past few months. |
I'd say it's large, but not necessarily abnormally large. It's much larger than the scale used by BYOND games in the past, though. However, that's including overflow. With all things included, Severed's horizontal view width is 59 tiles. The vertical width is something like 39 IIRC.
|
Yeah, here's a screenshot to paint a visual idea of the view/resolution: http://puu.sh/lGpLk/da12df58d6.jpg
We're going to be doing some testing with lower FPS to see how much that impacts things, though if it's possible for the webclient to be brought up to speed at a higher FPS over time, that'd be preferred. |
I was seeing the high view in fairly recent code, so I think overflow is accounting for that.
|
Just to hit this thread again...
I would at some point love to be able to have a simple application launch a built-in CEF window that could run the webclient as its frontend, and Dream Daemon as its backend. This hasn't been on my immediate radar, however. I'm planning on doing the interface entirely with the WebClient. I first tried slapping a browser as the default DS interface and having it load the game as a webclient inside of itself. This doesn't work because... Well... I'm guessing IE. And I'll explain why in a bit. Next, I tried embedding it in UWP (Universal Windows Platform) with WebView and passing the <iframe> code to it with NavigateToString(). It worked, it resized, etc... But it was slow beyond all comprehension; no matter how small I made it. Not only that... But, WebView does not support Flash. Lastly, I tried WinForms by utilizing the WebBrowser element. I changes the DocumentText on it and added the <iframe> code to it. It does the exact same thing that BYOND does. It asks you if you want to continue running scripts on the page. ![]() So, I'm kind of curious... Is there any way to easily embed the WebClient in to something standalone right this second? Or at least very soon? |
I'd give the Chrome Embedded Framework a look, it's what I've been using for standalone webclient stuff.
Keep in mind, singleplayer isn't going to work as the webclient is just a client and not a server. It's possible to run a locked down DD instance and go from there but it's not exactly reliable and it's pretty clunky. |