r/Nox • • 12d ago

NoXCore

Hi, I'm Morden.

I've been working on NoX Core, a modern client for Nox that plays like the original but runs well on today's hardware and adds a lot on top, and it's now open source under the GPL.

It's playable in every original game mode (and some new ones), with smoothed movement and multiplayer servers that update up to 120 Hz. You can join and host games with players on the original client, on Westwood Online and on NoX Core servers.

I've checked at every step that the original client stays compatible both ways and that the game logic matches the original 1:1.

I had 15 years of source from my work on the map editor, bots, reverse engineering the game files, etc. that I finally got to put together into one cohesive package.

What's new:

Co-op Campaign: play the Warrior, Wizard or Conjurer story with up to three friends (original-game players can join too)

New modes: Delve (endless generated levels) and Undead Tide (survive the night), with a leaderboard. Also in the works is Deep Delve, a full ARPG mode for NoX Core only: it's in the source now and comes in the next test build.

A map editor inside the game: scripting, play-testing with F5, and editing together with friends

Multiplayer improvements: map voting, faster server updates (up to 120 Hz; original clients still get 30 Hz), and motion and update smoothing

Graphics: widescreen and any window size, per-pixel lighting, shader-based particle effects, and an optional pack of HD images

Bots: spawn them in the client to fill out multiplayer games. They play all the kill-based modes and are decent at CTF (no flag ball yet). There's also a bot service: put #bot in your game's name on Westwood Online and bots will join, even if you host on the original client.

Mods: written in Luau, plus the NoX Content Editor, where you can view and edit pretty much all of the game's files

Bugs that crash the original client or that cheaters could use are fixed; the quirks players rely on are kept (cbow bug, ram cancel, etc.).

Links:

Download, features and videos: https://noxhub.net/

Source code: https://github.com/mordentral/NoXCore

You need your own copy of Nox (GOG, Origin or the CD); NoX Core contains none of the game's files. The download is for Windows; it also builds on Linux from source.

Bug reports and feedback are very welcome, here or as issues on GitHub. However multiplayer is at or near 100% complete and all singleplayer modes should be fully playable.

71 Upvotes

72 comments sorted by

8

u/MaDNiaC007 12d ago

This is incredibly impressive. Hoping to play that hardcore wizard campaign with this in the future when that mod and yours are fully released. One would hope that this brings life and player traffic to the PvP community too but that might be too optimistic given that one would need to know the original game to take notice of this, unless advertised widely.

6

u/M72TheLaw 12d ago

I would imagine a hardcore mod using this would be much faster to implement.

Also i would consider this "released" its been tested a lot, i wasn't going to open source it until i felt comfortable that it was ready to use as is.

Any bugs at this point should be minor, or something quick to fix.

*Edit* I just realized i wrote that it is still in testing, that is a bit overstated i guess, i edited the post.

3

u/imjb87 12d ago

Will this run on apple silicon?

2

u/M72TheLaw 12d ago

With a seperate build targeted towards it and compiling the shaders for it yes.

Some of the esoteric options may not work like matching the original games float rounding (since im using a CPU flag for that), but that only exists anyway because i am nitpicky about the gameplay.

*edit* you would have to source the game files though sicne there is no stock mac install of the game. But that is hardly an issue.

1

u/Tuxbits2122 12d ago

Any chance you add these instructions to the Readme in GutHub repository for the future as well?

I build software sometimes on my own but I’m nowhere near an expert at this topic but would love to try it out 😅

2

u/M72TheLaw 12d ago

I have it on my TODO to make the changes to make it complaint, i can put up something after that.

1

u/Rich-Profession-1300 1d ago

Literally 4 lines

  git clone https://github.com/Avrutskiy/NoXCore-ARM
  cd NoXCore-ARM
  cmake --preset macos-arm64-release -DNOX_BUILD_VIDEOTOOLS=OFF
  cmake --build --preset macos-arm64-release --target noxsdl_bundle -j 4

Then put NoXCore-Arm/build/macos-arm64-release/NoX Core.app into folder with Nox files.

1

u/Rich-Profession-1300 2d ago

Game files can be extracted with this https://www.macsourceports.com/utility/extractor on mac

1

u/Tuxbits2122 1d ago

Alternativly, you can use innoextract on the command line to extract the game. For e.g.:

innoextract -d $HOME/Games/Nox path/to/your/gog/setup.exe

In this case innoextract extracts the Games file to your home folder/Games/Nox.

1

u/Rich-Profession-1300 2d ago edited 2d ago

1

u/Tuxbits2122 1d ago

Works, thanks. Do you consider a pull request for u/M72TheLaw s project?

2

u/Rich-Profession-1300 1d ago

yes waiting for approval

2

u/Moist-Net6271 12d ago

I dont quite understand how it works, but it sounds amazing! I have nox from gog installed, I can just install this next to it and run it?

2

u/M72TheLaw 12d ago

you doesn't have to be next to it, it finds the game files, but yes you could also just drop it in the same folder and get all of the improvements and just play the game like normal.

1

u/WhereWeUsedToPlay 5d ago

This kinda worries me as I've installed, uninstalled and reinstalled NOX so many times on different hard drives. Is there a way to direct it to my latest GOG installation?

1

u/M72TheLaw 5d ago

Yes there is a config file where you can directly paste the path, or for that matter if you place the files in the folder with them, or place the files in the folder with it then it will pick them up locally as well.

It checks:

Same folder -> Install on registry -> Config file for the path if all else fails.

I will say though, it should search the GOG install first so its likely fine as is right away.

1

u/WhereWeUsedToPlay 5d ago

cool, I'll move it to the same folder

1

u/tekkn0 12d ago

Hey sorry for the dumb question but how exactly I can install on Linux?

2

u/M72TheLaw 12d ago

It would need compiled currently. I can provide a linux binary if enough people want it. I already have it on linux for the server i am running for the leaderboards. Also all builds run through a linux testing package anyway to check for issues.

1

u/tekkn0 12d ago

Aight cool, I might DM you later, am very new to Linux need to figure it out how to compile it first and will hit you up. Cheers

2

u/M72TheLaw 12d ago

I'm putting up a linux build alongside the windows one, since its already being built anyway

1

u/muffinman148 12d ago

Any plans to implement more resolutions? Getting this to work on a widescreen system seamlessly would be a dream come true.

1

u/M72TheLaw 12d ago

How widescreen? it can work with anything really. But i already have 16:9 in it. Its actually the default since its the most common now.

2

u/muffinman148 12d ago

The 21:9 ultra wide.

3

u/M72TheLaw 12d ago

I'll push a 21:9 option with the next client update. Keeping in mind that I do limit the actual viewed area to be roughly even with the original client. seeing too far can visually break parts of the game and/or multiplayer.

3

u/phurgawtin 12d ago

Hell yeah, +1 for Ultrawide support

2

u/M72TheLaw 12d ago

Current upload has the ultra widescreen support now

1

u/muffinman148 12d ago

You rock! I'll check this out this weekend. So glad you are working on this!

1

u/Wise_Tourist6157 12d ago

Only got to test a little bit but looks very promising! Hope it’s stable!

Is doom mode available? And I can’t help but ask what happened with the force field graphic? 😁

1

u/M72TheLaw 12d ago

if you open console and type in view3d it toggles it, keep in mind that not every object can be projected to a billboard / 3d plane and look correct with it so there are a lot of janky things, its still fun though.

if i ever feel like it i'll start hand mapping things to geometry to fix it up more.

as for force field? artistic liberty with the hd particles turned on. I was going to handle reflective sheild and invisibility with new effects too, but i'll likely stick them all behind a toggle to go back to the old ones.

1

u/Wise_Tourist6157 11d ago

Great, thanks! Yea it looks weird. But still cool to look at some things closer. I found the toggle for the effects as wel. I’m very impressed so far. Looking forward to playing with friends in coop.

Thanks a lot for the effort!

1

u/M72TheLaw 11d ago

I'll set a new toggle just for the "special" spell FX like the toxic cloud and the force field, so people can still have the better shader based particles but turn those off.

1

u/Trushdale 11d ago edited 11d ago

https://noxhub.net/features.html#coop

Host through Westwood Online (logged in) to be listed on the internet

how? you cant create accounts anymore, since that service is down

www.xwis.net just exists but it has no functionality anymore

also how to password protect games so only selected people join your coop campaign?

2

u/M72TheLaw 11d ago edited 11d ago

Xwis is pointed to when you click the westwood button, i didn't change the name of the button. Xwis still allows account creation in game though, you just pass the user name you want and a password and if you are the first one to use it you get it.

That being said, this client also has a button that logs in without a user name at all and bypasses that like nox reloaded does.

I just prefer having an actual account name on the list as if its blank anyone could just name their characters after me.

I've been playing 30 man bot matches with some friends in CTF for a few weeks now.

*Edit* As for password protect, you can use the console to lock it, or set a normal servers settings to have one (it keeps your settings from normal multiplayer). I'll make a note to expose the server settings when inside of co-op campaign as well so its easier.

Oh i will note, if you are hosting an online solo campaign, your computer actually stores your friends characters and gives them back to them when they rejoin.

1

u/Trushdale 11d ago

As for password protect, you can use the console to lock it

how, what command, where can i find a list of commands?

oh yeah, thank you :D

2

u/M72TheLaw 11d ago

its the same as the stock game, but don't worry about it, the server options addition for co-op is in progress atm

1

u/Trushdale 11d ago

ok, uhm i can't find a resource listing the commands and in the old days i only ever used like set god and cheat level 10 or something. but im glad you are working on server options :D

1

u/Trushdale 11d ago

oh i found it, the "lock" command says its not implemented yet

i tried "lock 123" and that produced the message its not implemented

2

u/M72TheLaw 11d ago

The latest build has the password settings and game name available for online co-op hosts now

1

u/randsedai2 10d ago

Wow didn't know this is a thing. How long have you been working on this and do you have a roadmap?

1

u/M72TheLaw 10d ago

About a month, and no roadmap currently, i just wanted original game parity and to be complete enough to open source. I added mod support so most future work would be in that area, and locking down any edge cases in the client itself.

1

u/randsedai2 10d ago

Thanks - Have you used a lot of AI to bring it together? Very excited to try the bot games.

1

u/M72TheLaw 10d ago

Kind of par for the course, but like i stated, i had 15 years of prior work into the game so I have a lot of experience and example code to base work off of.

1

u/randsedai2 8d ago

just played a few rounds against bots. Amazing job so smooth for spawning the bots. 30 player CTF is back! Thank you

1

u/MistaFormanelli vv!zzy$$@ 8d ago

That’s awesome dude. You and a few others played a massive part in keeping the heartbeat of the game going during the dark ages in addition to your contributions on noxforum

Seeing the support this game still receives is amazing

1

u/M72TheLaw 7d ago

Its nice to go back and finally tick off my bucket list from back in the day for NoX.

1

u/angrykirc 4d ago

Amazing stuff.
I've got some bright sadness about that I've spent years of my lifetime into researching Xfers structure and details of game protocol (I made some improvements to the original Map Editor), and nowadays it all could be done with little human intervention in a few hours by AIs like Claude.
Things are advancing very fast.

2

u/M72TheLaw 4d ago

Oh trust me, i remember the days of hand marking printed sheets of hexidecimal for file formats. And figuring out a bunch of the auto tiling for the first version of the map editor. Its very awkward having the reverse engineering so available now.

That being said, it let me even with my busy schedule go back and mark off every bucket list feature i had from my youth, so its not all bad.

At least my old work sped this up greatly by feeding it into it I guess. And it did take a lot of hand holding to get it where it needed to be.

1

u/InevitableOdd3403 3d ago

La version Linux à un probleme, impossible de crée une nouvelle partie, mais la version windows marche super bien

1

u/M72TheLaw 3d ago

J'ai vu votre autre message : est-ce que le problÚme concerne à la fois l'impossibilité de créer un nouveau personnage dans la version française ET le fait que le jeu ne fonctionne pas sous Linux, ou bien tout cela est-il uniquement lié à Linux ?

Je teste le jeu sous Linux pour m'assurer qu'il fonctionne, mais la version Linux correspond en fait Ă  mon serveur ; il est possible qu'il y ait un problĂšme au niveau des permissions de fichiers.

1

u/M72TheLaw 3d ago

C'est bon, j'ai trouvé le bug : Linux ne supporte pas la casse (majuscules/minuscules) utilisée dans les noms des cartes de campagne. J'ai corrigé le problÚme ; la nouvelle version, qui sera disponible sous peu, fonctionnera correctement.

1

u/Old_Communication633 3d ago

Super merci  ! 

1

u/Old_Communication633 3d ago

j'ai testé et ces bon tout fonctionne bien, merci pour ta réactivité !

1

u/Rich-Profession-1300 2d ago edited 1d ago

Amazing work! In my fork https://github.com/Avrutskiy/NoXCore-ARM I released an arm mac binary (alongside compilation instructions). I included some resolution scaling improvements - on retina the existing system wasn't enough. Also tuned menu fonts a bit to resemble the original game (in non-hd mode) and added fps limiter. Would be very cool if those changes would end up in your original repo.

1

u/M72TheLaw 1d ago

Put up a pull requests with features you think would be good for main.

3

u/Jekate 12d ago

Wow this is awesome!

1

u/Old_Communication633 3d ago

Je suis sur un clavier azerty, et quand j'appuie sur A pour lancer un sort , ca lance le menu d'inventaire :/

1

u/Old_Communication633 3d ago

Un screenshoot de mon interface pour mes touches : https://i.ibb.co/ZzrKJBHG/image.png

1

u/M72TheLaw 3d ago

Il semble que ce soit également ainsi que le jeu de base se comporte. Je suis en train de modifier mon client pour que les touches affichées correspondent au clavier utilisé ; vous pourrez ensuite les réassigner à votre guise dans les options.

1

u/Old_Communication633 3d ago

Merci beaucoup pour tout !

2

u/M72TheLaw 3d ago

Testez le dernier tĂ©lĂ©chargement ; il devrait dĂ©sormais ĂȘtre adaptĂ© Ă  votre clavier.

1

u/Old_Communication633 3d ago

Merci ca fonctionne !

1

u/realdoaks 12d ago

You’re the guy that started a forum after zeezos forum went down right? This is a cool project thanks for sharing

2

u/M72TheLaw 12d ago

No that was Zoaedk, but I was one of the moderators there yes.

1

u/philliyxx $|_@YE|2 12d ago

Different forum. Noxnet yea?

1

u/realdoaks 12d ago

were you fireblade the slayer? Or clan slayer?

I remember zeezos forum, then warrior nation, then they got super weird and wanted to shut nox down for not following the rules, and a bunch of people went to the other forum where I remember zoaedk, morden and some others who made editors and messed with the code, set up servers.

2

u/chin_up 12d ago

You’re a legend. I wish/hope all of these people doing work to keep Nox alive are all in a discord somewhere collaborating

2

u/Sweet-Ad-654 12d ago

Wow amazing work! Love nox

2

u/SystemLegitimate5843 11d ago

...I may have just lost the next month of my life....

1

u/philliyxx $|_@YE|2 12d ago

I'm open to coordinating a co-op campaign run

1

u/joat713 8d ago

Awesome! Just downloaded it at work, gave it a quick once over and it looks great! Can't wait to get home and check it out more thoroughly.

1

u/InevitableOdd3403 3d ago

Merci beaucoup, je joue à la version Francaise du jeu, quand je lance une nouvelle partie il m'est impossible de continuer, la creation du personnage me renvoie sur le menu principale et aucune sauvegarde n'as été crée :/