Oreo Emulator [Kotlin/Netty/Cassandra/Post-Shuffle]
Hello frenz! About months ago I felt want creating a new project, solely for educational purposes. That's why I started this project bleh
What should it be?
Oreo (Google s2) is a cross-platform Habbo emulator, written entirely in Kotlin. I prefered use kotlin than java, because is more concise (POJO in a single line, singleton object) and some enterprise are moving to it, like Pinterest and Evernote.
My first aim is make a really stable and scalable emulator with total code coverage. I don't mind having all features from the original product. The SWF revision will be the PRODUCTION-201707041014-428081343, no particular reason.
And about actors?
By the way I won't use the actor model (discussion about on page two). On my researches I proved that actors is really effective for backend servers, it can handle about 160k requests per second. Some graphs from Microsoft Orleans:
https://image.prntscr.com/image/EsGH...-oULAcR7g.jpeghttps://image.prntscr.com/image/FyQ0...wkYcx4FbQ.jpeg
But it isn't the most practical solution for a retro and there isn't need for it. So I will be using the traditional architecture.
Cassandra
And you didn't read wrong. I've been working with Cassandra in a startup on the last months, and it's been great. Cassandra employs many mechanisms for fault tolerance and the administration is easy, since is a homogenous system.
Then I'm 70% sure that oreo will use cassandra.
I created the thread in order to make contributions possible, then feel free to contribute! and you can expect a regular inactivity because I'm on high school. Nonetheless, I hope that the thread stays open for some time.
Checkout the repository: https://github.com/lai0n/oreo
Regards,
Guilherme Araújo
Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]
Interesting choice of name, as it's the same as AMD's (Advanced Micro Devices) product lineup for their new processors. I'm assuming that's where you got the name from?
Regardless, good luck. A Node server looks interesting, I'll keep my eye on it. :):
Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]
An emulator on node is interesting indeed, I will be following your great friend project!
Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]
Any particular reason for that SWF revision?
Quote:
Originally Posted by
lai0n
And then, make it scalable
It's the wrong way around. Just saying.
Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]
Quote:
Originally Posted by
The General
Any particular reason for that SWF revision?
Is the SWF that i have on my PC.
But if a better suggestion come, I can change it.
Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]
Is there a reason why you use plain JavaScript?
You should look into TypeScript (with their editor plugin) to make your live more easy.
Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]
Quote:
Originally Posted by
Joopie
Is there a reason why you use plain JavaScript?
You should look into TypeScript (with their editor plugin) to make your live more easy.
I haven't think about this before. A good suggestion, maybe i will move to it.
Thanks @Joopie
- - - Updated - - -
Meeting on TeamViewer, updating the firsts things
m81-717-452
Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]
You should definitely consider typescript for large scale js applications, it will save you tons of time and will greatly improve workflow with IDE features much like visual studio has (you can even write ts in vs with most of its features).
Typesript compiles back to javascript, so there's really no difference for anyone other than the developer. You can also choose to compile into different versions of javascript.
here's a great video to learn more about it
Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]
Well, I'm hesitating some things. First, what is better: compile typescript onto ES6 or ES5?
Second, use rollup.js or not. Rollup compiles small pieces of code into a single file more larger and complex
What do you think about this?
Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]
https://github.com/jadenmitchell/Habbo
Perfect example by one of the better Node developers in the community if you need any ideas on some things
Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]
Quote:
Originally Posted by
lai0n
Well, I'm hesitating some things. First, what is better: compile typescript onto ES6 or ES5?
Second, use
rollup.js or not. Rollup compiles small pieces of code into a single file more larger and complex
What do you think about this?
As you're using NodeJS you should compile it to ES6.
And I dont think you need to use Rollup...
- - - Updated - - -
Quote:
Originally Posted by
LeChris
I wouldn't say that example is "perfect".
Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]
Quote:
Originally Posted by
Joopie
As you're using NodeJS you should compile it to ES6.
And I dont think you need to use Rollup...
- - - Updated - - -
I wouldn't say that example is "perfect".
It's by far better than any of the retarded attempts at a HTML5 one in Node, and he puts quite of bit of research into things he does. By javascript standards and knowledge from back-end js it's a good example to use when looking into it.
(Only thing I would attack him on is not using ES6, which would make the code a lot easier to read and work with)
Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]
Quote:
Originally Posted by
LeChris
It's by far better than any of the retarded attempts at a HTML5 one in Node, and he puts quite of bit of research into things he does. By javascript standards and knowledge from back-end js it's a good example to use when looking into it.
(Only thing I would attack him on is not using ES6, which would make the code a lot easier to read and work with)
You sound angry, can you not understand non ES6 JS? Stop taking the internet so seriously mate
Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]
Thread closed.
When you provide at least some form of proof that there is actual development happening (code snippets, screenshots, etc), contact me and I'll have the thread reopened again.
Re: Ryzen Emulator [Javascript/ES6/ORM/Post-Shuffle]
Project has been re-opened, with some changes. I'll be developing in Kotlin now
Kotlin is a great fit for developing server-side applications, coroutines, expressiveness bla bla bla
The revision has been upgraded from PRODUCTION version 2016 to 2017
Currently I'm writing the build properties (gradle)
Code:
group 'com.laion'
version '0.1.0'
buildscript {
ext.kotlin_version = '1.1.2'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: 'kotlin'
apply plugin: 'application'
mainClassName = "main"
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
}