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.21.dev0.tar.gz (31.7 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

rollnw-0.21.dev0-cp312-cp312-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.12Windows x86-64

rollnw-0.21.dev0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rollnw-0.21.dev0-cp312-cp312-macosx_12_0_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.12macOS 12.0+ x86-64

rollnw-0.21.dev0-cp311-cp311-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.11Windows x86-64

rollnw-0.21.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rollnw-0.21.dev0-cp311-cp311-macosx_12_0_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.11macOS 12.0+ x86-64

rollnw-0.21.dev0-cp310-cp310-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.10Windows x86-64

rollnw-0.21.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rollnw-0.21.dev0-cp310-cp310-macosx_12_0_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.10macOS 12.0+ x86-64

File details

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

File metadata

  • Download URL: rollnw-0.21.dev0.tar.gz
  • Upload date:
  • Size: 31.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for rollnw-0.21.dev0.tar.gz
Algorithm Hash digest
SHA256 e0298a65823f87314368ce6cc7e755f6ec0030b19db2de4d43c792f6fabefcec
MD5 3c6f7d7647e9d6d73964244fb391a7b9
BLAKE2b-256 9a1acb714bed03d49e6cdc5e48695c7667230b601e63b5865e3662e9be7984cf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rollnw-0.21.dev0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for rollnw-0.21.dev0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 241b76268a0dd9fde479ba9b1030d95f1f259ab2ebc40087344d88c4470fc842
MD5 871ab0825b88d0a1037e952dcd887f51
BLAKE2b-256 d3f28dadec57ca8db97190dc2785bddf59b77831e0a801e3a35284b5a6c0f5d8

See more details on using hashes here.

File details

Details for the file rollnw-0.21.dev0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rollnw-0.21.dev0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5f25d7e256148e9c52685cd653467b5a92d81e275fd268f3556a55c6cf97d15e
MD5 55066acaf3351bf55b4abc20788df7c6
BLAKE2b-256 116a43b535b18d2afa5c5979f28a4ec3ba89941fd424952ed8b3f842df7205c5

See more details on using hashes here.

File details

Details for the file rollnw-0.21.dev0-cp312-cp312-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for rollnw-0.21.dev0-cp312-cp312-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 f15c29be1a9d324a7568d99e171ccdfcbc187e25d3d0deecdb24403fa0fb52f2
MD5 64824ac69a30199c4252924c74232b62
BLAKE2b-256 fb6758a8e3eea12becc7af0b5d57a896256947d7aff5a4f0f13df378d7d984f3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rollnw-0.21.dev0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for rollnw-0.21.dev0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 029e82c1861d5b11467a4f0c529900358d6d68ce33c72850e2c576f439b73c57
MD5 2896d94acf0b60d96e132bc31ce14a07
BLAKE2b-256 201b4a506e1f6ab07753a15a900f09befc7a76034ce2bdab339c1557071a7891

See more details on using hashes here.

File details

Details for the file rollnw-0.21.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rollnw-0.21.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea3070fdf301f019f85e09c7156bf39479f1ad810786770ba98ed47798f2ba43
MD5 6c2552e7eb5a37bcf139c2d1e4a75167
BLAKE2b-256 b10a86ffbeff8764c29248a12b5d64f9541a175dff49cf357e4986a98a3b9a70

See more details on using hashes here.

File details

Details for the file rollnw-0.21.dev0-cp311-cp311-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for rollnw-0.21.dev0-cp311-cp311-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 4cfb734e501a8c2ef62207f6bbf4c54c01387e6fd304d2bd8e4a3becaf85de3b
MD5 d0ad39546825b465f26e99b1cf07e59a
BLAKE2b-256 d8869b8177779ea367182db9e97544ade814e47ea8868f4beaa84589977eb216

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rollnw-0.21.dev0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for rollnw-0.21.dev0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3479dcfc5532022a1c54252d9dcea28c51e4bc5652b0befd13909749d0fb56f1
MD5 bde5cdc013b8ccf488a581ab6c48358b
BLAKE2b-256 d918a6fe62d8eaf4f2fcb0b0df91aff52d47ac8b8d88d8d4098bd2b1cbf85aea

See more details on using hashes here.

File details

Details for the file rollnw-0.21.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rollnw-0.21.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0b2cac9cb3d77d96752eaa7050aae18b5ce880dfafab6a0691f2b1e8a0a6c401
MD5 e485df6690487562d62922588150625b
BLAKE2b-256 8fa05d981166346f61de78481f49d699a98666f2d52011f0fcc8fb1e31618614

See more details on using hashes here.

File details

Details for the file rollnw-0.21.dev0-cp310-cp310-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for rollnw-0.21.dev0-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 8565dc0be01b72ed3ae50021b2bb758c67befff494f3ad94ae94fa54ac559f3b
MD5 219aa37f919909cbea0febc1990f8aa0
BLAKE2b-256 ad674bb7ab8dd1e23db32bf1bc1f683b6ef63cb0e7979cb0a2e2bb1b51d97df0

See more details on using hashes here.

Supported by

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