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.15.dev0.tar.gz (31.6 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.15.dev0-cp312-cp312-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.12Windows x86-64

rollnw-0.15.dev0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rollnw-0.15.dev0-cp312-cp312-macosx_12_0_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.12macOS 12.0+ x86-64

rollnw-0.15.dev0-cp311-cp311-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.11Windows x86-64

rollnw-0.15.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rollnw-0.15.dev0-cp311-cp311-macosx_12_0_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.11macOS 12.0+ x86-64

rollnw-0.15.dev0-cp310-cp310-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.10Windows x86-64

rollnw-0.15.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rollnw-0.15.dev0-cp310-cp310-macosx_12_0_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.10macOS 12.0+ x86-64

File details

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

File metadata

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

File hashes

Hashes for rollnw-0.15.dev0.tar.gz
Algorithm Hash digest
SHA256 2bdef0cac0b7aa4a438f6b0e9c2a8731b8a010385fa90b40b04671c6ac7f3e8a
MD5 d56c23c5524e42e8e003ffa861bb970a
BLAKE2b-256 e1522cdeb97d540c10da27b83a1671896f17e3dba9edf4d47315c322e2eb4465

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for rollnw-0.15.dev0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 333b0bfba1494a29a469c3054eb97bab2bd4e4eb92249eb25290adb89c90be89
MD5 1693d0c6d3ae33825afb68ce3d62bbd7
BLAKE2b-256 8c9c1bb341efd1a1cdd57ec40d40acc653f1b76bff0057fd7486b9068cfb86c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rollnw-0.15.dev0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5ab7958e215344bce62ce564a09a05cfc8c21e79ae2cf11ad6527a22a5eb23ce
MD5 817b1fcd54d1585a2e669a05f09e91f2
BLAKE2b-256 aae91a6de35b92f62b9bc71b0d6441e0f30c0e40db036cd1a9547eb2b311ff2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rollnw-0.15.dev0-cp312-cp312-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 3ea654d2d750529f67810d238121e13e32b2761ad5150c877a00144f10d83bf3
MD5 b4a68fc049bd5b01102a10db8ea1824e
BLAKE2b-256 a767eb2eecea707482ce58b801aa53894d7a399e6ceeb4a4065ba1afa8e9d8cd

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for rollnw-0.15.dev0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 69218f552258f4d76907a5cf131c43da17ab6ded80268a65f29f60802f6e7509
MD5 ebc1ab7dc245c80d7d02d511575cc693
BLAKE2b-256 2c43ba341b942628f2855aaf65647c0efa13099758876427cabd7f1a60302a83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rollnw-0.15.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1ce2eb1e535c8bd97b31e158ce0e264d0aa5d7c5cc725580d3a3012e21a1fdf7
MD5 0747de6400c61e88d099ca701750a83b
BLAKE2b-256 bae704ee9d483fc817e7f88b6cf23d415460696530b832a425c813fd8c21276a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rollnw-0.15.dev0-cp311-cp311-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 b80f7f4a1def06fbbe34494fae3ba55feae8354684181ec00cbd27d0b2dc20dd
MD5 6a0f0d0a8418a2e18dc0f78637ab9cfd
BLAKE2b-256 7662c14b9b1108b33f39369c53e6c2ec02065186042d64fb5ded424f5a402c91

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for rollnw-0.15.dev0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2c49cdf84d8f42bd5e54fa7dd719ecf1d0d5439ff24fd5f2b7d9e293708e3f63
MD5 f145919cde6dc47c0a6c53a2bd385960
BLAKE2b-256 e1a8d773711f38710cb94281bc3a3e85e51f47bec71698c0781ad7a86fd14ee2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rollnw-0.15.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6054f56464ad140f9b48fe69ec077457ae196485764d8706c3518c44414fba15
MD5 e03d35ce7cff224106a670746ff04ce5
BLAKE2b-256 3b7b66e5589501a64d9618451918a1717ba1e1e688dc13bf1add0f88de00f7b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for rollnw-0.15.dev0-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 d0fe42d1bc94b27d9eca032319f2f97919209a871d1f9054f7d56876120b9290
MD5 8fa5d17a51849abb8c0085c5fc53fad4
BLAKE2b-256 1ea4a1c1fd1849d21a905b8109f58c84471ce92f0cb8929d0c89191cc34af4f0

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