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!

Bobba.io - HTML5 Habbo implementation

Status
Not open for further replies.
Newbie Spellweaver
Joined
Jan 16, 2018
Messages
52
Reaction score
6
A little bit bugged, lot of work needed but it looks nice :).
Also, do you use any framework? Or vanilla JS?
 
Newbie Spellweaver
Joined
Jan 16, 2018
Messages
52
Reaction score
6
I recommend you to use any framework as fast as you can, I think that will speed up everything and that'll help you a lot :p
 
Newbie Spellweaver
Joined
Jan 16, 2018
Messages
52
Reaction score
6
Getting high FPS but slow room load speed. Wondering what could be causing that? Tried it on multiple devices as well.

The slow process is the furni images loading, I think he at some future will optimize it
 
Newbie Spellweaver
Joined
Jun 3, 2014
Messages
25
Reaction score
4
could be because each image is loaded separately, but that's only a guess. Most of the html5 games I've seen use sprite sheets and place a number of images on a single file.
 
Elite Diviner
Joined
Apr 5, 2014
Messages
464
Reaction score
223
Loading time can be decreased by at least 50% if you instead of generating an extra full-color image for every sprite just draw the entity's current sprite as a unique color to a new canvas and use that alone for click detection.

Hope you decide to remove the obfuscation, would be a great resource for anyone interested. Also really nice that the images are fetched from swfs on the fly :)
 
Newbie Spellweaver
Joined
May 7, 2018
Messages
30
Reaction score
52
Thank you all for your feedback :)



I recommend you to use any framework as fast as you can, I think that will speed up everything and that'll help you a lot :p
Thanks, i'll try!


Getting high FPS but slow room load speed. Wondering what could be causing that? Tried it on multiple devices as well.
The slow process is the furni images loading, I think he at some future will optimize it
could be because each image is loaded separately, but that's only a guess. Most of the html5 games I've seen use sprite sheets and place a number of images on a single file.

That's the issue! Right now, each image is downloaded one by one... This could be a huge number of images, considering the amount of sprites of each furni.

e.g:

club_sofa: 8 sprites
club_sofa_64_a_2_0.pngclub_sofa_64_a_6_0.pngclub_sofa_64_b_2_0.pngclub_sofa_64_b_6_0.pngclub_sofa_64_c_2_0.pngclub_sofa_64_c_6_0.pngclub_sofa_64_d_6_0.pngclub_sofa_64_sd_2_0.png

rare_dragonlamp: 14 sprites

rare_dragonlamp_64_a_4_0.pngrare_dragonlamp_64_b_4_0.pngrare_dragonlamp_64_c_4_0.pngrare_dragonlamp_64_c_4_1.pngrare_dragonlamp_64_d_4_0.pngrare_dragonlamp_64_e_4_0.pngrare_dragonlamp_64_e_4_1.pngrare_dragonlamp_64_f_4_0.pngrare_dragonlamp_64_f_4_1.pngrare_dragonlamp_64_f_4_2.pngrare_dragonlamp_64_f_4_3.pngrare_dragonlamp_64_f_4_4.pngrare_dragonlamp_64_g_4_1.pngrare_dragonlamp_64_sd_4_0.png

In addition, we must add the processing time of coloring, and some other image processing... but yeah, most of the time is spent on the download. And it could be related with latency, the current server is in SF.


How long does it takes to you to load?

Mine loads in about 40 seconds.
8nUFBM8 - Bobba.io - HTML5 Habbo implementation - RaGEZONE Forums


Loading time can be decreased by at least 50% if you instead of generating an extra full-color image for every sprite just draw the entity's current sprite as a unique color to a new canvas and use that alone for click detection.

Hope you decide to remove the obfuscation, would be a great resource for anyone interested. Also really nice that the images are fetched from swfs on the fly :)

I tried that, but click detection becomes a bit buggy :(

Nice analysis tho :)
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
May 7, 2018
Messages
30
Reaction score
52
I don't know why my last message needed approval but ok... i'm writting again.

First of all, thank you all for your feedback!

Maybe the speed issues are related with the fact that a furni requires a lot of images to load, and also requires a bit of image processing (like coloring). It may also be related with server latency... Becase of performance, the furni load process ocurs consecutively, a furni, one by one. And the sever could be located a little far away (currently located in SF, moving to NY) from you, (i got 200ms pings), so there's a idle time while waiting for server response...

But maybe there's another reason for those speed issues.

I made some changes, also removed CloudFlare. Please tell me if there any speed improvements :)

It takes me about 25 seconds to load it all.



Loading time can be decreased by at least 50% if you instead of generating an extra full-color image for every sprite just draw the entity's current sprite as a unique color to a new canvas and use that alone for click detection.

Hope you decide to remove the obfuscation, would be a great resource for anyone interested. Also really nice that the images are fetched from swfs on the fly :)

I tried that, but click tracking becomes a little unaccurate. But we can trying another solutions.

Nice analysis tho. I'll remove the obfuscation soon :)


I recommend you to use any framework as fast as you can, I think that will speed up everything and that'll help you a lot :p

I'll try :)

I learnt a little from PixiJS, that could help, but could be necessary code almost everything again.
 
Newbie Spellweaver
Joined
Jun 26, 2011
Messages
16
Reaction score
0
Awesome work. Didn't mean to knock what you've done as its looking good just trying to give a bit of feedback.

Should say I live in the UK so I'm a long way off SF.

Keep it up
 
Newbie Spellweaver
Joined
May 7, 2018
Messages
30
Reaction score
52
Awesome work. Didn't mean to knock what you've done as its looking good just trying to give a bit of feedback.

Should say I live in the UK so I'm a long way off SF.

Keep it up
Oh I meant that my last message wasn't published because it needed Moderator approval. :)

Thanks!

Could you please tell me if you got any speed improvement?
 
Newbie Spellweaver
Joined
Jun 26, 2011
Messages
16
Reaction score
0
Oh I meant that my last message wasn't published because it needed Moderator approval. :)

Thanks!

Could you please tell me if you got any speed improvement?

Much faster loading. Good work!

Whats next?
 
Junior Spellweaver
Joined
May 15, 2014
Messages
165
Reaction score
34
Any repository to browse?

Have yoi considered sticking to the original Habbo packet structures so you can easily intergrate it without having to write a custom server?

During the development of the client I assume he'll be working on the server, if you mean about integrating current servers then it's another story :p
 
Newbie Spellweaver
Joined
May 7, 2018
Messages
30
Reaction score
52
Any repository to browse?Have yoi considered sticking to the original Habbo packet structures so you can easily intergrate it without having to write a custom server?





ClientMessage and ServerMessage classes are similar to current emulators (appendString, appendInt, popInt, popString...). Some packets could be essentially the same, but i haven't considered to sticking to original Habbo Packets.



During the development of the client I assume he'll be working on the server, if you mean about integrating current servers then it's another story :p
That's right



Much faster loading. Good work!

Whats next?

Next task is fixing the Furni Imager, it's a bit inefficient.
 
Newbie Spellweaver
Joined
Apr 30, 2012
Messages
26
Reaction score
0
How is this currently going? Any inprovenents?
 
Newbie Spellweaver
Joined
May 7, 2018
Messages
30
Reaction score
52
How is this currently going? Any inprovenents?

It got some improvements related to draw order, avatarimager, furniimager.

I have no date for improvements, but eventually I work on it.
But at this point I think that I'm writing more code than it should, so next big change will be a recode using React (or maybe another JavaScript framework), and PixiJS for graphics. Also converting all to ES6.

But as B3T4T3ST3 said, you can check GitHub if you want :)



Don't ask for update every day, just take a look at the commits in github :)




You so nice :)
 
Newbie Spellweaver
Joined
Sep 26, 2016
Messages
6
Reaction score
3
Nice work so far! Looks really promising. An implementation like this could also provide much more creative freedom regarding customs when it's stable. Keep up the good work! I'm excited to see how this turns out.

Any repository to browse?

Have yoi considered sticking to the original Habbo packet structures so you can easily intergrate it without having to write a custom server?

Might as well offer the client to Sulake then, they might pay a good amount for it lol. Nice idea though! I see a possible Arcturus & Bobba.io collab here..
 
Status
Not open for further replies.
Back
Top