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!

Project Cortex

Status
Not open for further replies.
Skilled Illusionist
Joined
Mar 26, 2013
Messages
371
Reaction score
280
Can you open-source all the work you done ? I think it can be a good start to work on.

Anyway, thanks for this and good luck for your next projects !
 
Joined
Jun 23, 2010
Messages
2,318
Reaction score
2,195
It's sad to see this development end like this. It had (and stil has) potential to be something awesome. I hope to see a release thread in the future with the work you've done. It would be a shame if nothing happend to it. Whatever the reason is for stopping I liked the updates and work you've done. Good luck!
 
Initiate Mage
Joined
Oct 31, 2019
Messages
1
Reaction score
0
Hm? So this project is dead...? This is sad, I really liked how it was being done :/

Anyway, sometime ago (30/08/2019) I played the open-test and did a backup, this backup may not be complete as this is just what by browser loaded at the time:
I think this can be helpful to someone.
 
Joined
Feb 7, 2010
Messages
1,851
Reaction score
1,004
Hm? So this project is dead...? This is sad, I really liked how it was being done :/

Anyway, sometime ago (30/08/2019) I played the open-test and did a backup, this backup may not be complete as this is just what by browser loaded at the time:
I think this can be helpful to someone.







This should be the repos from around that period. Haven’t checked the content yet, I’m on my phone atm.
 
Junior Spellweaver
Joined
Jul 28, 2019
Messages
162
Reaction score
308
GitHub is up again (server only so far, there is a client but I haven't set up a rep. yet):



 
Junior Spellweaver
Joined
Jul 28, 2019
Messages
162
Reaction score
308
B9Um2iJ - Project Cortex - RaGEZONE Forums


A small screenshot from the current state of the client. Everything here is synced properly and functional.
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
Jul 28, 2019
Messages
162
Reaction score
308
Hello Chloe, I am following your work and I have to say that it is incredible. I want to open a habbo but a flash will finish. I have a question for you. Can you provide the client code to make a contribution? If you agree you contact me by my email? My emails is in my profile.We can also contribute with money for the project in addition to help with the code.Thanks for you,Diogo Rocha.

I'm not interested. You can stop flooding me with the same message over and over now. Thank you.



Some progress done to rooms:
KittyChloe - Project Cortex - RaGEZONE Forums


Everything here is synced as well (door location, room map, wall type, floor type, thickness, etc):
KittyChloe - Project Cortex - RaGEZONE Forums


Some client snippets regarding the room for those interested:
KittyChloe - Project Cortex - RaGEZONE Forums


KittyChloe - Project Cortex - RaGEZONE Forums
 
Junior Spellweaver
Joined
Jul 28, 2019
Messages
162
Reaction score
308
Looking promising again!

A little hint: defining the lengths outside of the for loop wil save you some time.

Thanks! I've made amendments to the code!

CyA17Ou - Project Cortex - RaGEZONE Forums


I've added stair modules that are generated automatically as well; added a minor hit registration which detects what node you're hovering over; I re-made the loops used for drawing the room nodes to count for stacking; added a cursor node.

Hit registration outlines:
zXHndo3 - Project Cortex - RaGEZONE Forums


I will most likely re-do the way I do the walls, unsure right now.
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
Jul 28, 2019
Messages
162
Reaction score
308
U3QiLP3 - Project Cortex - RaGEZONE Forums


Changing the thickness' are synced right away, despite the dialog being available by anyone who has ever used a console, the server will still reject everything that isn't sent from the owner of the room. Basic stuff really. The changes are applied to the database right away and all users connected to that room is notified - their client makes the change without the need of reloading the room. It replaces the already placed tiles/walls by re-generating their nodes with the data stored in them already.

(Big GIF up ahead, might take a while to load!)
CsAFfUR - Project Cortex - RaGEZONE Forums


After some... many... hours... of learning how walls work in Habbo... I've mimic'd the formula to almost perfection. Only difference is that the height of the walls I produce is calculated to be dragged from the tile it's being drawn behind up to the "highest" tile and then plus the normal door height. It's not how Habbo does it but I believe that this is the most efficient and good looking way to handle that. With that said, I've imported (almost?) all default models, and they work perfect. Renders within milliseconds. I've also fixed the stairs, as the gif above this one shows - they had the same thickness no matter the floor thickness.

!!

de1Tm2h - Project Cortex - RaGEZONE Forums


Some work on avatars has begun; took me a while to get a hang of it but I've now got scripts to convert SWF's to PNG sprites and JSON objects, including their manifests and sprite coordinates.

Example of sprite sheet:
KittyChloe - Project Cortex - RaGEZONE Forums


Another update!

0e65eYo - Project Cortex - RaGEZONE Forums


There's now clothing items etc! Waving, "respecting", etc works as well.
 

Attachments

You must be registered for see attachments list
Last edited:
Initiate Mage
Joined
Mar 24, 2020
Messages
2
Reaction score
0
Wow, this looks amazing! :)

Can I use your sprite sheet image for my own project?
 
Junior Spellweaver
Joined
Jul 28, 2019
Messages
162
Reaction score
308
KittyChloe - Project Cortex - RaGEZONE Forums


I noticed that for larger room models, where the nodes would reach several hundreds if not thousands with each and every factor included, the frame rate would suffer by a couple of frames each time. I've since repaired this issue by only rendering each and every tile & wall once and saving it as a static image, using it as a "background" kind of. Changing the tiles/wall width/style causes the "background" to be re-generated. This all saves a lot of processing.

I've also added avatars to the rooms; they're synced through the server with all room users. (The lag displayed below is NOT real-time. Only reason it buffers is because of the screen recorder ,_, everything works within milliseconds)

c1M2wZr - Project Cortex - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list

pel

Skilled Illusionist
Joined
Jan 27, 2012
Messages
382
Reaction score
343
Are you sending the payload as JSON?
I'd rather see if you can find a different format since json has a lot of unneccesary characters which will bloat the payload.

Otherwise cool work
 
Developer
Developer
Joined
Dec 11, 2010
Messages
2,955
Reaction score
2,685
KittyChloe - Project Cortex - RaGEZONE Forums


I noticed that for larger room models, where the nodes would reach several hundreds if not thousands with each and every factor included, the frame rate would suffer by a couple of frames each time. I've since repaired this issue by only rendering each and every tile & wall once and saving it as a static image, using it as a "background" kind of. Changing the tiles/wall width/style causes the "background" to be re-generated. This all saves a lot of processing.

Awesome, it's cool to read about optimisation techniques like this. If it does the same thing but only faster, then why not? :laugh:
 
Junior Spellweaver
Joined
Jul 28, 2019
Messages
162
Reaction score
308
Are you sending the payload as JSON?
I'd rather see if you can find a different format since json has a lot of unneccesary characters which will bloat the payload.

Otherwise cool work

Everything's handled in JSON objects, yes. I don't feel like JSON has a lot of unneccesary stuff that will decrease the bandwidth speed enough to make the smallest difference. Either way, cons and pros considered, I'll be sticking to JSON objects for now.

It also doesn't make sense to switch to another format since JavaScript has JSON integrated by default and I'd need to translate the server message into a JSON object either way. Adding another format from server to client would just increase the processing for reading the messages on the client and making use of them.

Update

ErV1ko5 - Project Cortex - RaGEZONE Forums


With the very first few basics in place after some few couple days of hard work, I rewarded myself by returning to the interface. Rooms now have a box on the bottom left with like, zoom, settings and chat history buttons. Right now only the settings button is functional. The settings button opens up the room information dialog (yeah, misleading, blame Habbo) and on the information dialog, the room settings button and camera icon only appears if you're the owner of the room. Pressing the camera button brings up the room thumbnail camera (it's just the normal camera textures, but resized appropriately because... well... Habbo went cheap with just a normal dialog that doesn't even look good, yuck.


KittyChloe - Project Cortex - RaGEZONE Forums
Yeah, yuck.

Taking a picture, renders the room canvas onto the canvas on the thumbnail camera as a sprite (it only render 110x110 pixels at the source offsets depending on where the camera is placed on the screen). The client then converts that canvas into a base64 URL, sending the url to the game server which then sends it to a PHP API which confirms that the web client is the game server, it's a valid image, and finally, it saves the base64 data as a PNG image on the web server. Yes, it can be abused, easily, however, this all falls into the "have the server render the room?" versus "just trust the client and ban the abusers" discussion that RageZone had a while back with the camera was a hot topic. The thumbnails are saved after the unix timestamp the web server receives the request. Why? It's better performance wise than looping through the files in the thumbnail folder to get the next available ID. The unix timestamp won't ever be the same.
 

Attachments

You must be registered for see attachments list
Last edited:
Status
Not open for further replies.
Back
Top