Skip to main content

An homage to Neverwinter Nights

Project description

License: MIT ci CodeQL codecov Documentation Status PyPI version

rollNW

rollNW is an homage to Neverwinter Nights in C++ and Python. See the docs and tests for more info, or open an IDE in browser in the quickstart section below.

This library is a work-in-progress. There will be serious refactoring and until there is a real release, it should be assumed the library is a work-in-progress.

Features

  • The beginnings of a novel Rules System designed for easily adding, overriding, expanding, or removing any rule and reasonable performance
  • A combat engine built on the above that's nearing being able to simulate melee battles.
  • Objects (i.e. Creatures, Waypoints, etc) are implemented at a toolset level. Or in other words their features cover blueprints, area instances, with support for effects and item properties. They are still missing some new EE things. Player Characters are read only, for now.
  • A recursive decent NWScript Parser
  • Implementations of pretty much every NWN File Format
  • An Model Parser. See the mudl model viewer side project.
  • A Resource Manager that can load all NWN containers (e.g. erf, key, nwsync) and also Zip files.
  • An implementation of NWN's Localization System focused on utf8 everywhere.

Goals

  • aims to implement an RPG engine inspired by NWN, excluding graphics and networking.
  • focuses on usage, instead of doing things the Aurora Engine Way.
  • follows utf8 everywhere.
  • hews as close to C++ Core Guidelines as possible.
  • aims to be as easily bindable as possible to other languages. I.e. only library specific or STL types at API boundaries.

Quickstart - Open VS Code in your Browser

Open in Gitpod

Github Codespaces is available to those in the beta.

History

A lot of what's here was written in the 2011-2015 range as part of personal minimalist toolset, modernized and with new EE stuff added. In some sense, it's a work of historical fiction -- it's what I'd have suggested at the start of NWN:EE: get the game and the community on the same set of libraries. Similarly to an older project that asked "what if Bioware had stuck with Lua?". The answer to that was pretty positive: a decade ahead, at least, of nwscript.

Credits

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rollnw-0.41.dev0.tar.gz (48.9 MB view details)

Uploaded Source

Built Distributions

rollnw-0.41.dev0-cp313-cp313-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.13 Windows x86-64

rollnw-0.41.dev0-cp313-cp313-manylinux_2_28_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.28+ x86-64

rollnw-0.41.dev0-cp313-cp313-macosx_13_0_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.13 macOS 13.0+ x86-64

rollnw-0.41.dev0-cp313-cp313-macosx_13_0_arm64.whl (8.2 MB view details)

Uploaded CPython 3.13 macOS 13.0+ ARM64

rollnw-0.41.dev0-cp312-cp312-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.12 Windows x86-64

rollnw-0.41.dev0-cp312-cp312-manylinux_2_28_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

rollnw-0.41.dev0-cp312-cp312-macosx_13_0_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.12 macOS 13.0+ x86-64

rollnw-0.41.dev0-cp312-cp312-macosx_13_0_arm64.whl (8.2 MB view details)

Uploaded CPython 3.12 macOS 13.0+ ARM64

rollnw-0.41.dev0-cp311-cp311-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.11 Windows x86-64

rollnw-0.41.dev0-cp311-cp311-manylinux_2_28_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

rollnw-0.41.dev0-cp311-cp311-macosx_13_0_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.11 macOS 13.0+ x86-64

rollnw-0.41.dev0-cp311-cp311-macosx_13_0_arm64.whl (8.2 MB view details)

Uploaded CPython 3.11 macOS 13.0+ ARM64

rollnw-0.41.dev0-cp310-cp310-win_amd64.whl (3.6 MB view details)

Uploaded CPython 3.10 Windows x86-64

rollnw-0.41.dev0-cp310-cp310-manylinux_2_28_x86_64.whl (5.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

rollnw-0.41.dev0-cp310-cp310-macosx_13_0_x86_64.whl (8.2 MB view details)

Uploaded CPython 3.10 macOS 13.0+ x86-64

rollnw-0.41.dev0-cp310-cp310-macosx_13_0_arm64.whl (8.2 MB view details)

Uploaded CPython 3.10 macOS 13.0+ ARM64

File details

Details for the file rollnw-0.41.dev0.tar.gz.

File metadata

  • Download URL: rollnw-0.41.dev0.tar.gz
  • Upload date:
  • Size: 48.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for rollnw-0.41.dev0.tar.gz
Algorithm Hash digest
SHA256 befdf700969b98b48de00631c3f9d69f1e59300196576d742f4feac31de1d8d4
MD5 039e34767f250efe74320f32297ff4cf
BLAKE2b-256 eb1141ef54e54ea2726afe608ed2755248da0bda73a7e05b97bdc0529c39e461

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 10094e39dabd5086f95038800bf430c920fb715540e2300aa65d84c31ff1128d
MD5 17fb412ff2fbf396e6f39b5b29e039c2
BLAKE2b-256 b6bdf0cd63755c05e742eead1f5f6fdc2645c74755ada956d51100378c6c3338

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3868d09513795bbd3c42119de143a6ebc7a24c18b6b911475d664824f2a40b9d
MD5 08586a88097becce416e0da77cd81594
BLAKE2b-256 4f30f6819bcd603f6280514d15f6da590226a5a62c5085f1e1ce82bebfca06b5

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 9540075069bc906ae0dc56e5b80b15b9695c34048fddf4d08c527892e9936c3c
MD5 d6b2728cf4a6b39a7209b47c7725fd69
BLAKE2b-256 2e3872e5220078d8dc81f891e83abb77ccdb10d9138feb4381071122f152c9b2

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 ff48ab5ea44105034336233ca20eda05608d289d7fa6fab677fcb83c7a002e28
MD5 df4ff3451d43b5c8e23f0482e8668311
BLAKE2b-256 c3e129f03531329cefd22dc7b3350ecd3fc5bf176bac9364a55149f208f4d5ba

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9fdff8968f9a63548b21f7000d3688c00ff5ad3e378dab29a8a633817414f521
MD5 518f284a2274ef438eb1f152b512623d
BLAKE2b-256 f8a609110582dc1d396ccc851542883b52c3bd1efaf3e6e9148a7802cc280361

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b264f906eaeab04228085696bc329a0f094f4e31c6938fc2cb6815468deba43d
MD5 9bf403a1110bf8b75075d8b82deaa9ad
BLAKE2b-256 39ef5c35beba4583cc8207829c673890866254e695de745e73e3b4ae34a7ee3b

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 f22df6fd290548aad434362d46dba59c86bcedb89a328f53b67ed9c24dfe62a3
MD5 7ce51b36e1fe3f954789208515239b8b
BLAKE2b-256 e2022413d8c25e48c39fc978193befd4bb6b2d02511a2bb50224329f0d54a857

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 c5eca313740d250e4f972160f90efedaf5198b543bd4cb66f4cfa294e3a448a8
MD5 78e0529aacfb439f08d0ac5a6cc9fe3e
BLAKE2b-256 200f2cea9cb3196b38a66a32eb6ca05b9182e3a71c9ba1a4d4a56c37b77ee758

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b5ffcc54b50cc91f6875cfde67cb605307967f0288e452a07d30a50848b9c570
MD5 de919d2a74169821264612d6e4258b00
BLAKE2b-256 73c70fdff7c40e6406266518da2201c537fdc7d5bc47af096954d4f3f13496e7

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bef6b764151a7ef970efc699c781d07fb1baa5199563867c19161c2a418a118f
MD5 0bb2c818d3cdf8c0039edfc79b161447
BLAKE2b-256 e1dffc673d2f963934a79c4626c0cf71363ecd726004fe910667fee3301dafe8

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d88ff743a2030302d17a989bf69089f1810d909d9212810bc4109005f75932e7
MD5 703eae06a29128d4b89f1c6938416e67
BLAKE2b-256 8a25c6f02f22481059660981c4c8a553a2352b9eee22afc29f47fa0e7f2d8839

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 5a3d0e6c730b15465af1eb4c2c66edb0ef3bb8e6c9b7ef484a6b5cdabd4f37cb
MD5 d34453651059eebbdcdfc1bfd692d3cb
BLAKE2b-256 3ea489fdff7eef987b86242d9ceef54b08b35893403d8791615f35eea24e08e2

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f6a51607823e7c71c5550d7a9f87990864f1cd2db5644b2054d9232838124776
MD5 5aa772728db26d2dac0b52aa0c3ce031
BLAKE2b-256 197a4e152fec6120c3ca88a07400297b33cd809ad4ecf2c1fe3dc66a248de366

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c34559348ff24e642cba935cd2777e57a3b3dbfad756aa8cc605457531da21f1
MD5 b8e18f40f7330807f47e0a1916417ee9
BLAKE2b-256 15ecc8dd8d14adbf1281c45a3380cbf949c099d74ab9789329e215c868156371

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 76adfd2b9e98c282c4075b0b3a17ed3da473f3b774009c1655b83f2dff5dc0f7
MD5 092a51896c0cb4db4533458fa75dcd70
BLAKE2b-256 11ae69eb7d3cc860e1bb10560a4e77f9c05b3318086c9c8e1b2851040ba44962

See more details on using hashes here.

File details

Details for the file rollnw-0.41.dev0-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for rollnw-0.41.dev0-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 d1d2205b3feb33bcf9bb45534d61c87bc1fc8a23c763cdca74e403f27814c940
MD5 2c7f939ac7d640dddc3c2e5b477c0f3d
BLAKE2b-256 16e939caa77c6623fb12a37032f56bdaf8aac656720d8970a60d0279b5d94710

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page