- Joined
- Jan 28, 2013
- Messages
- 157
- Reaction score
- 104
Project Nitro
Background
Project Nitro was started in November 2018 originally written in Java. After playing with Java for a couple months I got the urge to want to move everything I've done into Node. The Node community was lacking and we already had a few Java projects going and I wanted to do something different.
The project has been going strong and has had very active development for the past 6 months, I haven't gone a single day without writing a line of code into it.
I couldn't have done this without the community. This project is inspired by Kepler & Arcturus.
GoalThe project has been going strong and has had very active development for the past 6 months, I haven't gone a single day without writing a line of code into it.
I couldn't have done this without the community. This project is inspired by Kepler & Arcturus.
Project Nitro aims to be a fully featured emulator. The ending goal is to have every single feature in the SWF available.
Technologies
[*=1]NodeJS
[*=1]TypeScript
[*=1]TypeORM
[*=1]MySQL
[*=1]WebSockets (ws)
[*=1]
While there is still a lot of features not completed, I have made great strides and have a lot of the core features working and properly implemented. I estimate it will take another 3-6 months, or by the end of the year, to complete most feature available.
A unique feature included in this emulator by default is WebSockets. My socket implementation is, I'd say, very unique compared to other ways I've seen of doing it. There will be an included CMS I've written that entirely communicates over websockets with the emulator. The CMS uses packets from the emulator to render its data. This allows for instant updates and to add any custom feature you'd like that uses any packet from the emulator.
You're probably(not) wondering how session management works. What I've done is your CMS session and Game session are the exact same session, exact same object and share the exact same data. This means packets can easily be passed back and forth. The emulator controls which client will ultimately end the session. When logging into the CMS you appear online to your friends, can chat, view inventory and everything else that is available to the SWF ( must be coded in the CMS also ).
Current Features:
A unique feature included in this emulator by default is WebSockets. My socket implementation is, I'd say, very unique compared to other ways I've seen of doing it. There will be an included CMS I've written that entirely communicates over websockets with the emulator. The CMS uses packets from the emulator to render its data. This allows for instant updates and to add any custom feature you'd like that uses any packet from the emulator.
You're probably(not) wondering how session management works. What I've done is your CMS session and Game session are the exact same session, exact same object and share the exact same data. This means packets can easily be passed back and forth. The emulator controls which client will ultimately end the session. When logging into the CMS you appear online to your friends, can chat, view inventory and everything else that is available to the SWF ( must be coded in the CMS also ).
Current Features:
[*=1]Session Management
[*=1]Hotel View
[*=1]Rooms
[*=1]Rendering
[*=1]Multi Unit
[*=1]Wall & Floor Items [ Placement, Movement, & Rotation ]
[*=1]Settings
[*=1]Public Rooms
[*=1]Give & Remove Rights
[*=1]Chat [ Whisper, Shout, Normal ] with radius
[*=1]Pathfinding
[*=1]Doorbell / Password / Hidden States
[*=1]Users
[*=1]Dance
[*=1]Actions [ Sit, Wave, Laugh, Blow Kiss, Idle ]
[*=1]Signs
[*=1]Respect
[*=1]A lot more
[*=1]Catalog
[*=1]Purchasing
[*=1]LTD Purchases
[*=1]Pets
[*=1]Have only started horses
[*=1]Pick Up
[*=1]Bots
[*=1]Change Name
[*=1]Copy Looks
[*=1]Relax
[*=1]Dance
[*=1]Pick Up
[*=1]Messenger
[*=1]Add
[*=1]Delete
[*=1]Search
[*=1]Chat
[*=1]Categories
[*=1]Item Interactions
[*=1]Dice
[*=1]Exchange
[*=1]Gate
[*=1]Multi Height
[*=1]Pet Jump
[*=1]Stack Helper
[*=1]Teleport
[*=1]Vending Machine
[*=1]Wired
[*=1]Very early development on wired
[*=1]Triggers
[*=1]Enter Room
[*=1]Says Something
[*=1]State Changed
[*=1]Walk on Furni
[*=1]Effects
[*=1]Teleport
There are a lot of other things done that I can't think of
The project at its current state can be found on GitHub:
I won't be posting any code snippets here, just check the git. However here are some gifs:
The project at its current state can be found on GitHub:
You must be registered to see links
I won't be posting any code snippets here, just check the git. However here are some gifs:
You must be registered to see links
You must be registered to see links
You must be registered to see links
You must be registered to see links
You must be registered to see links
You must be registered to see links
Last edited: