[HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

Page 5 of 7 FirstFirst 1234567 LastLast
Results 61 to 75 of 103
  1. #61
    o/ Konquer is offline
    True MemberRank
    Apr 2014 Join Date
    458Posts

    Re: [HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

    Quote Originally Posted by Relevance View Post
    I mean how to create the furniture scripts :)

    Where did those values came from?

    They are properties/methods of the item class. The onCreate function in each furniture script is ran on item instantiation and gives the script access to the Item instance. The item instance has the method createItemPart which instantiates and returns a new object of the ItemPart class which again has an animator assigned to it that the script can access and add frames to.


    ItemPart.ts
    Spoiler:




    Animator.ts
    Spoiler:



  2. #62
    Death from above! The General is offline
    DeveloperRank
    Aug 2011 Join Date
    9,221Posts

    Re: [HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

    Can't you re-use the image objects? Just draw them at different locations. Like for Habbo it only loads the SWFs once.

    //I dont know vue / javascript.
    Discord: TheGeneral#0063
    Join the Arcturus Discord server: https://discord.gg/eDr7FKQ (You can ask help here regarding Arcturus :love)

  3. #63
    o/ Konquer is offline
    True MemberRank
    Apr 2014 Join Date
    458Posts

    Re: [HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

    Quote Originally Posted by The General View Post
    Can't you re-use the image objects? Just draw them at different locations. Like for Habbo it only loads the SWFs once.

    //I dont know vue / javascript.
    Having a cache for the Image object on a per furniture basis is a nice idea. Webpack already caches the furniture script and the spritesheet png so those never gets downloaded more than once but your suggestion would indeed save a bit of memory by not instantiating a new Image object for every item spawned and is definitely better practice.

  4. #64
    Death from above! The General is offline
    DeveloperRank
    Aug 2011 Join Date
    9,221Posts

    Re: [HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

    Quote Originally Posted by Konquer View Post
    Having a cache for the Image object on a per furniture basis is a nice idea. Webpack already caches the furniture script and the spritesheet png so those never gets downloaded more than once but your suggestion would indeed save a bit of memory by not instantiating a new Image object for every item spawned and is definitely better practice.
    Was mostly wondering about this:



    Because then every furniture object gets the same image imported probably eating up a lot of memory. If you say make a Furniture class like this:

    Code:
    class Furni
        prop ImageSet* <- Pointer to the imageset for the furniture, load once
        prop x
        prop y
        prop z
        prop state
        prop rotation
    
       func draw()
            use Imageset->getImages(state, rotation) to draw on x/y/z location.
    You don't need to import the images everytime you make a new instance of the furniture.

    I am assuming you are sticking to Habbos 24fps?
    Have you tried loading in bigger furniture (say the schoolbus) and see how well that performs?
    Is there an easy way to see CPU time for functions?
    Is this using OpenGL & GPU rendering? If so how does it perform on CPU only?

    If you are running 60fps and you're already having issues at 5k furniture, I feel like you should see if you can improve that. I'm sure you can get a much better results than flash. (I can make the Flash client run 60fps, which looks really great)
    Discord: TheGeneral#0063
    Join the Arcturus Discord server: https://discord.gg/eDr7FKQ (You can ask help here regarding Arcturus :love)

  5. #65
    o/ Konquer is offline
    True MemberRank
    Apr 2014 Join Date
    458Posts

    Re: [HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

    Quote Originally Posted by The General View Post
    Was mostly wondering about this:



    Because then every furniture object gets the same image imported probably eating up a lot of memory. If you say make a Furniture class like this:

    Code:
    class Furni
        prop ImageSet* <- Pointer to the imageset for the furniture, load once
        prop x
        prop y
        prop z
        prop state
        prop rotation
    
       func draw()
            use Imageset->getImages(state, rotation) to draw on x/y/z location.
    You don't need to import the images everytime you make a new instance of the furniture.
    Webpack compiles all furniture assets (scripts and sprites) into module files (javascript format) so when a a dynamic import is made like in the image above it checks "is a module with this path already loaded?" if it is use that, if not download and load it. Webpack is really smart so when i write import "furniture/container/sprites/id.png" it actually looks up something like public/build/module18.js because that's the module that was generated from that url upon module compilation.



    Quote Originally Posted by The General View Post
    I am assuming you are sticking to Habbos 24fps?
    The fps is uncapped so whatever your monitors refreshrate is will be your max potential fps. However the update cycle handling which frame of the avatars/furnis to use is currently running ~58 times a second. Uncapping that cycle made the avatars glide around with no jitter like we see on Habbo. The fps is not capped to the same amount as that cycle because you should still be able to drag the UI and see chatbubbles move etc with as good fps as you can get. (144hz monitor makes a big impact on the UI experience)




    Quote Originally Posted by The General View Post
    Have you tried loading in bigger furniture (say the schoolbus) and see how well that performs?
    I'm not sure how the schoolbus is but as a rule any furni that has separate images for separate squares will always be more heavy than a 1x1 furni. 1 Lodge divider = 2 pineapples in terms of performance so schoolbus would probably be 6 pineapples or so unless it's all one big image.



    Quote Originally Posted by The General View Post
    Is there an easy way to see CPU time for functions?
    Chrome has a neat profiling devtool that let's you record frames over a period of time and shows time spent on each function execution etc both at a specific frame or as an average over the time period spent recording. The great part is that even though the typescript is transpiled to js and the js is bundled and minified we can still get references to the actual typescript file and line number due to source mapping!





    Quote Originally Posted by The General View Post
    Is this using OpenGL & GPU rendering? If so how does it perform on CPU only?
    No WebGL/GPU boost but it could be possible to benefit from GPU's in the future by using libraries like gpujs with webworkers. For now it's only CPU based.



    Quote Originally Posted by The General View Post
    If you are running 60fps and you're already having issues at 5k furniture, I feel like you should see if you can improve that. I'm sure you can get a much better results than flash. (I can make the Flash client run 60fps, which looks really great)
    I understand your concern and I agree it's not optimal atm. However I am not currently using any rendering techniques to boost performance, everything that exists gets handled and rendered even if it's out of screen or hidden from view or doesn't need rerendering. There's lots of optimizations that can be made so i'm not worried about spending a lot of time on this and then realizing that the performance can't be improved, it most certainly can :)

    With that said tho.. I am really impressed that it can handle this amount of load before decreasing in performance at this stage in development and I feel like I can focus on implementing core features of the game rather than spending time trying to improve the renderer at this point in time. I'm sure most people would be more stoked to have a fully functional demo with room creation, chatting etc than less features but better performance seeing that most rooms will not reach the threshold for performance loss anyway.

    Thanks for showing interest! :)
    Last edited by Konquer; 3 Weeks Ago at 03:12 PM.

  6. #66
    o/ Konquer is offline
    True MemberRank
    Apr 2014 Join Date
    458Posts

    Re: [HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

    Will be redoing the server again, this time in coffeescript. No great explanation behind it, I just like coffeescript and it is something I won't grow bored of.

    It will be using mongodb in the cloud so that I can do continous deployments of the demo to heroku

    Repo

    ---------------

    Current plan is to get a demo with the following features up and running asap

    • Authentication
    • Registering
    • Room navigation
    • Room 'o matic (room creation)
    • Chatting
    • Walking
    • Furniture


    I hope that with these features done someone would actually want to pick up the development or create their own version of it if I grow bored and take a long break again. Last time it didn't really get used at all but it was pretty much only an engine at that point.

    And I hear you.. "if you wan't someone to pick this up at some point why not create the server in something the community is familiar with?". Ya'll are emulator developers, you can make your own version of the server in a couple of days in whatever language you prefer. It's way less complicated than creating (heck, even editing) an emulator for Habbo.

  7. #67
    Death from above! The General is offline
    DeveloperRank
    Aug 2011 Join Date
    9,221Posts

    Re: [HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

    Quote Originally Posted by Konquer View Post
    I hope that with these features done someone would actually want to pick up the development or create their own version of it if I grow bored and take a long break again. Last time it didn't really get used at all but it was pretty much only an engine at that point.
    Write down what you want to do in as small tasks as possible. Once you are you done with a task you can strike it through and this will help you motivate to continue.
    By keeping these tasks as small as possible you will give yourself the idea that you get a lot done and it will help you to continue
    Discord: TheGeneral#0063
    Join the Arcturus Discord server: https://discord.gg/eDr7FKQ (You can ask help here regarding Arcturus :love)

  8. #68
    o/ Konquer is offline
    True MemberRank
    Apr 2014 Join Date
    458Posts

    Re: [HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

    aside from redoing the server the last couple of days i have made some progress on the login/register part of the client.



    i can't remember what happens when you enter a wrong username and password. where does the error message appear if any?

  9. #69
    Account Upgraded | Title Enabled! streamhotel is offline
    True MemberRank
    Apr 2012 Join Date
    EarthLocation
    545Posts

    Re: [HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

    Quote Originally Posted by Konquer View Post
    aside from redoing the server the last couple of days i have made some progress on the login/register part of the client.

    i can't remember what happens when you enter a wrong username and password. where does the error message appear if any?
    When a wrong password/username is entered then you’ll get an alert window. (https://encrypted-tbn0.gstatic.com/i...dKzWApZBKXf-KQ)

  10. #70
    o/ Konquer is offline
    True MemberRank
    Apr 2014 Join Date
    458Posts

    Re: [HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

    Quote Originally Posted by streamhotel View Post
    When a wrong password/username is entered then you’ll get an alert window. (https://encrypted-tbn0.gstatic.com/i...dKzWApZBKXf-KQ)
    aha, thanks!

  11. #71
    Oldskool Resurrector Navine is online now
      V.I.P  Rank
    Oct 2012 Join Date
    The NetherlandsLocation
    2,325Posts

    Re: [HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

    Pfft, looks great! I love the progress I'm seeing :D
    Developer of Aurora (huge oldskool & Habbo BETA project):
    http://forum.ragezone.com/f331/v9-r3...netty-1132388/

    - C# developer
    - Webdeveloper

    Contact me @ discord: navv13#8055

  12. #72
    o/ Konquer is offline
    True MemberRank
    Apr 2014 Join Date
    458Posts

    Re: [HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

    login complete


  13. #73
    Ultimate Member spreedblood is offline
    MemberRank
    May 2014 Join Date
    174Posts

    Re: [HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

    Quote Originally Posted by Konquer View Post
    login complete

    Progress looking great keep up! Can't wait to see more, definetely one of the more fun developments in the scene.

  14. #74
    o/ Konquer is offline
    True MemberRank
    Apr 2014 Join Date
    458Posts

    Re: [HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

    the new server can load and forward users to rooms now




    I have been going back and forth on how I want the room 'o matic to be. I for sure want it to look like the oldschool one but i'm not sure if it should be exactly the same or different in the same style. Could be cool to make it more like how it is on Habbo today but with the old green and yellow style. What do you think?






  15. #75
    Registered Daniel204 is offline
    MemberRank
    Jul 2018 Join Date
    United KingdomLocation
    5Posts

    Re: [HTML5] Habbo5 [Typescript, Vue, Webpack, WebSocket]

    There are lots of information about latest technology and how to get trained in them, like this have spread around the web, but this is a unique one according to me.
    Daniel Dixon,
    Web: techtiq.co.uk



Page 5 of 7 FirstFirst 1234567 LastLast

Advertisement