He also said pheonix's sockets were a piece of shit. Although he is just another user.. he's a user who's seen pheonix's source.
I've seen it too, everything is shit, but it works. It's like Uber with this giant bunch of hardcoded hacky buggy shit slapped on top of it. :laugh: I never understood why Aaron didn't start something from scratch in Java. :huh:
Also, what's the sockets hype here on RZ. Like, really. I've seen entire pages full of people talking about their 'sockets' and bla bla. Just use Netty, Mina or something similar and you're all set. No biggie. 'Sockets' are not the penis of your emulator, boys. They're just sockets.
This Butterfly thing and HabboLatino is even worse though. It's complete horrible and disgusting to anyone who knows efficient design and 'code is poetry'. :*:
I had to dig through it to find something relevant, and man, that's some really wild poop! The design is completely flawed and martinmine's quasi-advanced-looking code makes it even worse. All those fancy names for code that runs (and looks) like molten cheese, JIT optimizations really saved their butt there.
: It's far from OO and full of bad practice. Pseudo-spanish comments everywhere. More redundancy than I've seen in any other large project. Irrelevant '1337-naming' that confuses the hell out of the reader. Weird things like nulling local variables before you return from a method? Hello, what language is this? Goodforyou that it works, but that's about it. In my humble opinion it's not good at all and if you shove that stuff into your professional portfolio or something you'd get laughed at. (same applies to Holograph Emulator, haha!) I hate to be so sour and everything, but I truly do miss 'evolution'. :mellow:
One of the best emulators I've seen in a long time is Snowlight. With a lot of things it's really spot on, you can see that Meth0d has come a long way! You can take a look at it, over at GitHub. It's not perfect and I heard it had major performance problems, but the design it atleast half-decent and it would be a way better base than Uber or Butterfly or HabboLatino or whatever! Same thing for Jenna Doe's project, it looked great.
Note to Martin:
please do not take all of this a personal insult or something, and I do know that you've contributed quite a lot to this section and that's a very good (and brave) thing to do. It's just that I really think that a new introduction to proper software design would be really helpful to you. (and your professional colleagues on the workfield) Ofcourse everyone has their own style and everything, but yours is a complete 180 degrees turnaround, and it's not a very positive one!
Anyhoo, I really think you guys should use a project like Snowlight to +1 your skills and insights for when it comes to designing such large systems, or even programming in general. Just have a good read through it on a rainy day. Read through it and understand it. Not the Habbo stuff, but the architecture and how everything is laid out. Then look back at one of martinmine's quasi-professional projects and you can see what I mean! Let go of bad practises and design flaws that have been hammered into your wobbly heads by yourself, others, or even me, lol. :laugh: There's a whole opensource world out there (nothing Habbo-related) consisting out of quality code and spending more time just reading and UNDERSTANDING it will truly brighten your visions and projects!
Good luck to all of you Habboons, code heavy and take your cornflake!