![]() ![]() But nope, we've got procedural programming with no efficient runtime indirection and we're stuck with it. We could even do Object Oriented Programming by slapping them on structs (added bonus, inheritance is so complicated that people won't (mis)use it). If we just had some way to pass a function around as a value (pointer, reference or function object) we could do Functional Programming and currying and stuff. Welp, that was a short list SOLID programming this ain't. ![]() Once you start dumping a couple levels into True Necromancer you will become really. As a multiclass you at least have tons of spells which is useful if rest restrictions are on. wait, we're only allowed one handler per event type per object? And there's only like a dozen types? And only one of them accepts user-defined events? Nuts. You are very weak for a long time and while your pure class wizard/cleric friends throw level 5 spells around you are still stuck with level 3. For anyone interest - Haze is hardcore RP, permadeath, one character. Beamdog is fab for keeping this game alive - and so are the NWN players that still visit the game. Just a player on the server, who fell in love with it - wanted to throw it up here too for others to see. Nuts.Įvents - They're just handles the engine uses, but oh man! We could totally use this! We can make our own event types and then have scripts register their handlers to do things like push caster level calculations down into the class scripts and. The PW Haze: Saltborn has got me hooked on NWN: EE. only it's really slow and the PRC runs a lot of scripts pretty much all the time. This gives us something akin to a shell script! We could do indirection and encapsulation with this. Another RPG classic, filled with magic and powerful creatures to defeat awaits for you. BlueStacks app player is the best platform (emulator) to play this Android game on your PC or Mac for an immersive gaming experience. Used a lot already and doesn't fundamentally change anything.ĮxecuteScript - load a nwnscript file and call it's main function. Neverwinter Nights: Enhanced Edition is a Role Playing game developed by Beamdog. ![]() It's only useful for breaking files up into smaller files. So we can't use it for any runtime indirection/encapsulation. #include macro - no dynamic linking and no seperation between protoype and implementation means that it literally copy and pastes code at compile time. Here's the complete list of ways of breaking apart the scripts into something more modular: We've got scalars types, handles (that only the engine makes), structs, functions and macros and that's it. Unfortunately nwscript is literally just C but with no pointers, no arrays, no enums, no typedefs, no unions, no dynamic linking. While there are individual scripts that are a mess, as a whole I'm not actually sure how to really make it fundamentally more pleasant to work with. Originally posted by Geezer Weezard:That whole package needs to be refactored badly. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |