Bioware Account : Enigmatic
Location : South Australia
Favourite Haunt: Drow Wars Persistent World
NWN 2 Project: Tabula Rasa NWN2 PW Template
Background :
  • Bachelors degree in computer science from Curtain University in Western Australia
  • Senior Systems Analyst and Managing Director of my own Consultancy Company.
  • Have filled roles from Business Analyst to Analyst/Programmer, System Architect, Systems Analyst
Skills :
  • Professional Programming skills in various languages
    • .Net framework, specifically C#
    • Visual Basic (3 to 6)
    • Delphi 7
    • OpenRoad/Ingres
    • C (some C++)
  • Professional Programming skills in web languages
    • ASP.Net
    • Php
    • Perl
  • Proferssional experience in various databases
    • SQL Server (6.5 to 2000)
    • MySql
    • Ingres
    • Access
    • DB4
  • Design Methodologies and Protocols
    • SDLC
    • UML
    • OOP

NWN Experience[edit | edit source]

  • Played Neverwinter Nights, Shadows of Undrentide, and Hordes of the Underdark
  • Purchased all Premium Modules
  • Extensively used the toolset to write my own components
    • Wrote a Persistent Store mechanism (including full wholesaling)
    • Writing a Database-driven quest creator
    • A system for identifying places of interest via area triggers
    • An A* NPC path finding mechnism
  • Never completed a module but have several in the works (lack of time)
    • Started with a random bar-room simulation (built from the original David Gaider NPC scripting)
    • A Random Dungeon Generator that allowed you to build up unique configurations
    • Remake of an old "Dungeon" magazine solo adventure which I am still tinkering with
  • Played only on the Drow Wars Persistent World
  • Have been collecting information about Persistent World implementations
  • Started up the Tabula Rasa NWN2 PW Template project for when NWN2 comes out
  • Have been secretly BANNED from using the Official Forums due to my "tone" not being liked

Personal philosophy about NWN[edit | edit source]

You might say I have a slightly "different" take on the process of developing a game like NWN and of the way in which those who are charged with writing the code go about creating it. Ever since Bioware first envisioned what was known as "The closest thing to Pen and Paper D&D Role-Playing on a computer" I have seen NWN as being more than just a game with a toolset. I consider it to be the natural evolution of Pen and Paper gaming and something which should be designed more for what others can create with it than simply creating a game that gets played and then forgotten about.

As a result I think the way in which programming a game like this is approached and the mindset that needs to be in place while doing so is a little different from your usual programming or game programming gig. It brings to mind the old saying.. "Give a man a fish you feed him today, Teach a man to fish you feed him for life". No truer words represent NWN than these, for the more effort and focus placed on the game engine, on making it flexible and modifiable the more resources you give to builders to be able to endlessly generate modules for years and years to come. Sadly I don't feel that this philosophy is shared by many of those who have developed NWN, and I see this when I look at the use of 2da files, how skills and feats are hard coded into the engine, how key features and parts of the game are beyond the scripter or module builder's ability to reach and the constant response from developers of "It would take too much effort to change the engine to be able to do this". I can't help but think that had those who initially set out to write this marvel taken these things into consideration before they started and were vigilant against letting it solidify to the point it has that we would have a powerful tool that is bound only be the imaginations of the builders, not the limitations of the engine and toolset that we now have.

This is why I tend to be hard on the developers in the forums, and why I question them at every turn, vigorously scrutinize their reasons for not doing something, and generally stay on their back the whole time. Believe it or not but I do this out of respect because I know that they are capable of making it everything that it can be, and it is only because I consider them with such high esteem I hold them to those high standards I set. Some may feel this unfair, but I set these same standards for myself so to set standards lower for anyone else says that those people are less capable and that couldn't be further from the truth. Others may ask if I have enough knowledge or information to be able to question them in the manner I do and state that there are factors beyond my knowing which may influence them, and lastly that I should leave it to the experts who know what they are doing. Where is the growth and evolution in that? How does one strive to do better, to be on the cutting edge, to pull off miracle after miracle if they are always "left to do it without question". I myself find that the more my ideas and concepts are challenged, the more effort I put into producing better ideas, and that ultimately my work benefits from having others take me to task on the things I do. I would never duck, nor ever deny someone the right to challenge anything I say or do, and I am always completely free and open with as much information as is required for others to make informed decisions, why should I then ask any less of the developers? Of course the devs are constantly bombarded by all manner of people, and often they do feel a certain sense of "Why should I tell him anything, who is he to this project?". This may be completely justified but I would hope that in the name of bettering the game itself they would take the time to understand things which challenge them and to give them due respect when they deserve it.

I don't profess to know everything, nor would I say I am the best at anything, but I do know what I know and I back that up with many years of programming experience. While the spheres of influence for the work I do and game development are different, there are also many similarities which provide enough understanding to be able to give an informed point of view. If that view is missing some vital information which would alter it, then by all means tell me and I will alter my view to suit, but purposely keep that missing information from me and nobody learns anything and you go on believing that you are right and nobody else could possibly know something you don't. An old Taoist saying: "He who asks a silly question is a fool for 5 minutes, but he who does not' ask a silly question is a fool forever". If I have missed something, fill me in and I will be better for it and can better provide support and ideas, ultimately benefiting those who disclose what they can.

I wish I had more time to work on my own project, I do feel a little hypocritical spouting all of these things that should be done, all of these ways and methods that should be used and yet I have little non-commercial work to prove it. I intend to incorporate everything I have said (To the limitations of the engine and toolset of course) into the project I am working on and hope that one day, if ever I get enough time to finish it off people will be able to see the wisdom in my words and can see how much more enjoyable the game is with the inclusion of the things my project brings to the mix.

I implore anyone reading this to go check out my NWN2 PW Template Wiki or catch up on the Template Blog to get a feel for the things I am trying to put in place and to see the quantity of work that I have already done towards this end. While some ideas are bold and risky, the only way we can stretch the boundaries and forge new ground is to be a little bold and risky now and then. Worst case the idea falls flat on its face, is proved to be totally infeasible and I learn from it to temper future ideas with a bit more reality. Eventually with enough failures and enough successes a balance will be found that will produce efficient and realistic, yet highly enjoyable and very dynamic mechanisms for everyone to enjoy and builders to use in their own projects to bring joy to many more than just I could.

NWN 2 Persistent World Template Features[edit | edit source]

The following is a list of features I want in the template:

  • Full database support and Persistence
    • Database is manipulated and maintained by a custom application externally to keep the world "alive"
    • Everything is persisted and will survive server resets
  • Expanded skills/feats/races/classes/spells
    • All but Ride and Disguise will be implemented in full
    • A whole host new feats and spells will be implemented with full systems in place for some of them
    • Classes and Races will be made more prominant with special features added to make it interesting
  • Extended use of NWNX4
    • The API interface for NWNX will be used to commonicate to custom external applications
    • These applications will be running "simulators" to keep the world ticking over
    • The server will have as much churning and calculation removed from it and placed in the external applications to speed it up
      • The server now becomes the interface between the player and the world
      • Its purpose is to simply coordinate and inform as well as run the game mechanics, the rest is done externally (drawing on other processors)
  • Extended Crafting
    • Crafting will be made more like the D&D rules where it is beneficial but deviate where it makes sense
    • Every single item in the world can be crafted
    • A variety of materials and properties can be applied
  • Full Extended Sub-System
    • A complete Knowledge sub-system that allows players to learn things and build upon them
    • A Reputation sub-system that sees players actions proliferate around the world realistically
    • An Economy sub-system that functions realistically and allows for players to work within it
    • A dynamic Quest sub-system that allows new quests to be dynamically generated without needing to recompile the module
    • An NPC sub-system that gives all NPCs reactions and personality traits which make a difference
    • A dialog sub-system and generator that has dialogs change based on reaction, intelligence, wisdom etc
    • An Alignment sub-system that brings alignment to life once and for all
    • A complete Guilds and Groups system allowing you to join and be part of a group even if no player members are online
    • An injury and death sub-system which provides realistic alternatives to perma-death and respawning
    • A more realistic Loot and Treasure system which only uses items in the world, nothing gets created out of thin air
    • A complete Background sub-system which actually places every character in the world and giving them a place
  • Complete External support
    • A world specific wiki that interacts with the knowledge system allowing you to read up on the things you know
    • A web interface allowing you to control aspects of your characters lives when they are not out adventuring (and you are not online)
    • Simulators which run 24/7 even if nobody is on the server playing
    • A character specific "feed" informing them of things going on in the world which they would know about
Community content is available under CC-BY-SA unless otherwise noted.