Jump to content

Luridis

Members
  • Posts

    550
  • Joined

  • Last visited

Everything posted by Luridis

  1. Such a shame that Dante's dogma just won't die, or that of Constantine and Irenaeus of Lyons. We wouldn't have half the religious conflicts that exist if they did. If not for your diction, I would have accused you of posting flame-bait on the spot. I don't think you'll be required to use spells if you do not want to. Whether or not Obsidian will force caster henchmen into your party is something that only they can answer. I should add that Monks within the game will likely be of the far east flavor (Shaolin) as opposed to the Catholic variety. I find that frustrating myself as I'd love to play a "Friar Tuck" who runs about in robes thwacking the unholy with my trusty quarterstaff.
  2. C++ is a very straight forward language where everything is exposed and there isn't really any "magic" going on once you know it. It's not hard to be productive with it nor is it much harder than programming in something like C#. While higher level languages add some form of ease to themselves, they usually do at a performance and/or memory cost. Sometimes, to figure out where your performance hits are coming from with languages like C#, you have to start learning a lot of the unseen nitty-gritty stuff which can end up making it more complicated to work with than C++. Even simple issues like "boxing" in C# are hard to spot and can become major problems performance wise. That's the beauty in C++, everything is pretty straight forward. What effort you put into it, you get out. Scripting languages are good to have and good for designers but, you don't want to be building an entire game engine with it. I'll add to what Roby said from my own research: C++ is really a mid-level language. I think one of the reasons it's used in the gaming industry so much is due to memory management. Consoles in particular have very tight on memory space and leaving the details to a garbage collector just won't work there. Automatic memory management is anything but efficient, and can even create a host of issues that result in frame stutter, etc. I'll drop a quote from the book Game Engine Architecture, "Memory management. Virtually every game engine implements its own custom memory allocation system(s) to ensure high-speed allocations and deallocations and to limit the negative effects of memory fragmentation." - Jason Gregory. Game Engine Architecture (Kindle Locations 461-462). Kindle Edition. If you were writing system level API's or kernel code then C/C++ is one of very few suitable languages. There is a whitepaper out on the web that highlights the pitfalls a MIT research team ran into trying to write an OS kernel in a high level language called Haskell. Is there hacked/sloppy code? Sure, it's inevitable at some point. But, hacked and sloppy code can be prevented with some discipline. One of the hardest things to do as a programmer is to not always do exactly what you are told. For example, a designer may request that you give the player 25 bonus health if the player was able to beat the boss without using any magic or, if they beat the boss under two minutes or, if they only used nothing but ranged attacks. They also want this in the game within 2 days so they can show it off in the next team meeting. So, it's very easy for you to go "Okay, I can do that." and program in the code that gives the player 25 extra health if they fulfilled those challenges. Boom! You're done, designer is happy, you even finished it with the given estimated 2 days they gave you, you're the champ. However, this is actually an easy trap to fall into and how projects can become slop and a pain to keep developing. A better way to approach such a problem would be to try to do as little specifics as possible and to build something that can do a lot more and what was requested. So instead, make the game track a ton of stats while you are fighting (number of spells used, number of items used, time fighting a boss, damage taken, times died, etc.). Track anything you think might ever be relevant to know. Then, build a system that allows the designers to check these values and make whatever conditions they want (I.E if "number of spells used" is less than 3, etc.). Then make it so it also allows them to specify the rewards given if conditions are met (give the player 25 extra health, give the player 100 extra gold, etc.). Now, not only did you give them the ability to do exactly what they asked, they can now change what the originals conditions and rewards were (i.e. change the 25 bonus health to 50), and they can add even more conditions and rewards without having to come bother a programmer. Yes, you may spend a little more time doing it this way, but it almost always saves you more than double that time in the future when designers inevitably change their minds or, new features get requested where you can leverage your existing systems to solve the issues. Plus, your code becomes more generic and easier to bug fix. Sure you can't do that for every single feature but, if you do it more often than not, you will have a better product that's quicker to develop, easier to manager, and will keep you from binge drinking after work. Changing my style to write most code as functions in VBScript was one of the most helpful things I've ever done. Being able to reuse code in more than one script to address more than one piece of data is a huge time saver. So, yea... I can see why writing something that allows you to dynamically adjust rewards, as opposed to hard-coding that +25 health, would be very useful. My first really large script was used to convert a large and sloppy single table billing database into a 4 table relational database and to normalize the data in the process. One of the functions I wrote was named ExtractPhoneNumber, and has been used dozens of times since. The original database front end had no pattern enforcement, so phone numbers were formatted at the whim of the person entering the data. Function ExtractPhoneNumber(sPhoneData) ' This function returns a monolithic integer representing a phone number. ' A return length of 10 digits indicates that only a phone number exists. ' A return length of 13 to 15 indicates that an extension is also included. ' All digits after 10 represent the extention, if it exists. ' A return value of Null indicates that the operation wasn't successfull. Dim oRootExp, oPartExp, oRootMatch, oPartMatch, sExtractedNumber sExtractedNumber = "" Set oRootExp = New RegExp Set oPartExp = New RegExp oRootExp.IgnoreCase = True oPartExp.IgnoreCase = True oRootExp.Global = True oPartExp.Global = True ' This expression finds numeric pattern: XXX*XXX*XXXX Where X's are numbers. ' The * can be one or more of any non-numeric characters. Regardless of the ' spacing or characters in between, 3 digits followed by another 3 followed ' by 4 more is most likely what we're looking for in a phone number. oRootExp.Pattern = "\d{3}[^\d]+\d{3}[^\d]+\d{4}" If oRootExp.Test(sPhoneData) Then Set oRootMatch = oRootExp.Execute(sPhoneData) oPartExp.Pattern = "\d{3}" ' Finds three consecutive numerics. Set oPartMatch = oPartExp.Execute(oRootMatch.Item(0)) sExtractedNumber = sExtractedNumber & oPartMatch.Item(0) ' First Trio sExtractedNumber = sExtractedNumber & oPartMatch.Item(1) ' Second Trio Set oPartMatch = Nothing oPartExp.Pattern = "\d{4}" ' Finds four consecutive numerics. Set oPartMatch = oPartExp.Execute(oRootMatch.Item(0)) sExtractedNumber = sExtractedNumber & oPartMatch.Item(0) Set oPartMatch = Nothing Set oRootMatch = Nothing End If ' This expression finds the letter X followed by any number of ' non-numerics, including none, followed by 3-5 consecutive numerics. ' The existance of a prefix letter X is necessary to make sure that ' part of an actual phone number isn't mistaken for an extension number. oRootExp.Pattern = "X[^\d]*\d{3,5}" If oRootExp.Test(sPhoneData) Then Set oRootMatch = oRootExp.Execute(sPhoneData) oPartExp.Pattern = "\d{3,5}" ' Finds 3-5 consecutive numerics. Set oPartMatch = oPartExp.Execute(oRootMatch.Item(0)) sExtractedNumber = sExtractedNumber & oPartMatch.Item(0) Set oPartMatch = Nothing Set oRootMatch = Nothing End If Set oPartExp = Nothing Set oRootExp = Nothing If sExtractedNumber = "" Then ExtractPhoneNumber = Null Else ExtractPhoneNumber = sExtractedNumber End If End Function FYI - I'm not a fan of Hungarian notation in general, and I'd never use it in a strongly typed OO language. However, VBScript is not only very weakly typed, it also has some very strange implicit conversions that can make run-time bugs a nightmare. For instance, Boolean True converts to signed integer -1 !!! Now imagine starting up a For-Loop to your miss-typed Boolean identifier and trying to figure out why the script freezes.
  3. I can agree with this because many might find SysOp work, the Component Information Model and Windows Installer tables boring. Personally, I like the challenge the obscurity of such things provides, as well as the surprise a client shows when you manage to deliver something they don't expect. i.e. "I didn't know you could tell me how many memory slots were used/unused in bulk like that." "Actually, I can include the serial numbers off the DIMMs if the vendor's system board supports it." I can code in a number of languages, but VBScript is what I use most of the time by far. While it definitely isn't the greatest language out there, it gets what I need and quickly. I can tell you from experience that there's no quicker fix for applying client settings to an install where the vendor didn't bother to support transforms in their MSI packages. Power Shell is much better, but it can't be my focus until more clients GTF off of Windows XP.
  4. I don't know, I think maybe it doesn't run entirely properly on Windows 7 as well. And yea, the NWN1 OC sucked, but I think maybe after SoU came out I stopped starting there. Hell, I'm still not sure what Waterdhavian means anyway...
  5. I played NWN1, and all three expansions, loved them. I finally picked up NWN2 and I don't think I'm going to finish... It's been a long arduous slog since about half way through the 2nd act. I mean, it's got enemies piled in like Diablo 2 and it's not nearly as fun to kill them. Between the concealment, immunities, resting and just gobs and gobs of hit points that take hours to burn down, every fight is like 15 minutes for me. Then, I turn the corner and it's another group that has me sitting with my chin in my hand saying, "would you just die already so I can get to the next part of this!" Before you ask, no I don't bring wizards/sorcerers, trying to get them to behave, with the party AI controls given to us, is a lot like trying to herd cats. They either do their best to get focus fired or stand they're trying to cast spells when their defensive casting is off. Which, by they way, I had turned on the last zone, and seemed to shut off of it's own accord. I've even tried turning casting off, forcing them to use ranged weapons and only casting when I order it manually. But that, just makes them run to and fro until they've finally managed to drag 6 more enemies into the fight, which of course quickly dispatch the unarmored caster. I keep running into script errors of downright screwball behavior as well. During the siege on crossroads I had both NPCs and friendlies just standing their during the battle, animations frozen, etc. I'm running with four 4.5GHz cores and 16GB RAM with an XMP profile, I dunno what the problem is. Half the time I run into real issues trying to get abilities to queue, and have yet to figure out how to use taunt in combat. After playing most of the game, I think that too much had been laid on that older Aurora architecture. Granted, it may have been all they had to work with but, it just feels like everything is lagging behind processing somehow. I don't know what else to make of it when I click a destination and all of a sudden I seem to teleport across the board. (Really annoying when it does that and drops you in a dialogue trigger and now the camera pans back and fourth across a zone.) Anyway, I give up... going to youtube to watch the cut scenes. Did any of you find the pace just a munch to slow for a CRPG?
  6. There can already be consequences for those sorts of things and they indeed exist in multiple games already. i.e. get caught picking pockets or locks and the guards haul you in. Sometimes assassins are sent in some cases. Resting too much can bring random encounters in some games. Why would a 'god' bother with something the town guard should be handling? After all, they tend to be arrogant and self-serving even when supposedly 'good' in nature. I mean, do you really want your character to be so important that entire pantheons are chasing at their heels just to see what they do next? Are they gods or paparazzi?
  7. There's quite a bit of size and scope difference there. I mean, you're talking tens to hundreds of thousands of people across one agency and at least 3 major defense contractors vs a game studio of a couple of hundred max; most of which are probably split up between different games entirely. I will concede that it may not have been intentional. But, if it was... it was a nasty bit of weaseling.
  8. What does that mean? The player is given specific abilities to deal with situations. Then, the developer designs a level and realizes a player ability may trivialize whatever silly challenge they came up with. So, they weasel out that player ability by bypassing it in code or putting in some invisible trigger to shut it off. Example: The player is given a levitate spell, you hover a few feet off the ground and damage breaks the spell. Later, a level is designed with pits of fire. In testing levitate makes it a cake-walk. Now you could have fire fall from the sky in a patten that will break levitate; in which case the player has to figure that out. Or, the developer can weasel out the use of that ability all together by putting an invisible fire damage layer at the levitate height. The former doesn't bother me, the latter annoys me to no end. I've run across this twice in NWN2 now. I'm outside Ammon Jerro's haven and I need to get some water from a geyser. I read the lead in and it states that you need to be careful of the acid. What do I do? Why I have the gith cast Energy Immunity: Acid of course. What happens? I step in, 60 damage from "Acid (Magical)". I smell a weasel! Please don't do this sort of thing in PE. It's not challenging, it just gives me one more reason to think that non-DPS spells simply aren't worth keeping memorized. I mean, if it isn't going to work when I stop and think, "oh yea, I have a tool for that." Nope, sorry... that tool doesn't work as it makes it too easy. Really? Then why bother giving me tools at all? And, expecting me to waste slots on them if they're just going to get dodged by the code every time I realize one of them might be useful?
  9. I'm currently going through NWN2 for the first time... I didn't much care for any of them till Bishop made a pass at Neeshka mentioning his cold bed. She replied, "I can always set you on fire... Bishop." From that moment on, I kinda liked her. I get a kick of out Sand too, but then, I can be pretty sarcastic myself. NWN1 - Deekin of course. You couldn't help but to feel for that terrified little kobold. Skyrim - Cicero, I just love happy lunatics. The character you were first presented with in Astrid I liked to. You know, the little minx sitting up on the shelf dangling her foot. Watching you like a hamster in a cage with sheer morbid curiosity. I liked that Astrid. However, when you joined she just turned into bossy annoying bitch. As for Planescape and all those, been far to long for me to remember. I don't DA or ME so can't relate anything there.
  10. Soo... Basicly Crusader Atheist wishfullfilment : the game ? No, basically was the central plot a module for NWN1 that I started, but never got around to finishing in 2003ish.
  11. I've never liked their inflexibility in role-play... To do one you pretty much have to sound like a broken record and naysay any alternate routes suggested. I think in 3.5e, they totally missed an opportunity to finally introduce a pure chaotic divine that is not of elf ilk with the Favored Soul. Then, they put it together so hurried and ill conceived that it completely missed that mark, and the mark of mechanical usefulness as well. The class probably doesn't do too badly where using your imagination is possible. But, from pure mechanics it tries to do two things and ends up not being very good at either.
  12. I don't have any preference for what the developers choose to do in PE... But, I do have a related question for the participants here. What if you stared a new RPG and there were no gods to be heard of? And, in fact, upon further investigation you discover that the mere mention of the deities in conversation with NPCs was viewed as silly & nonsensical superstition? Finally, when you find someone who manages to stop pointing at you and laughing over your own talk of black cats and broken mirrors; the person casually mentions that genuine "worship" was outlawed in most places thousands of years in the past? Kind of interesting, I think...
  13. If he had a functional attack roll. One of my peeves with D&D has always been "touch attacks", ranged or otherwise. If you wanted to rely on your attack roll then you probably wouldn't have rolled a class with the worst one. Personally, I've always avoided even bothering to learn those spells.
  14. I personally don't care about in combat regeneration. I don't know what they're planning yet. But, if stamina is a shared mechanic, say between special attacks, running and staying on your feet during combat... Well, that could add a whole new dimension to combat strategy. i.e. Need to expend what also keeps me in the fight in order to do these superhuman things. Oh, I do have a question though... are roundings always going to be down? That annoys me about D&D, beneficial things always rounded down... Maybe they should have thought of that before they every kind of bonus a 1 over 2 progression.
  15. Seems like the rate of regeneration would be more important than whether it does or not. Slow regeneration makes Priest restorative abilities more important. Fast regeneration benefits the guy with the heaviest armor. First we need to know if it naturally regenerates at all. My preference would of course be: no. We do know there are some abilities and spells which replenish a certain amount of stamina, but does it regenerate on its own by default, even in combat? You get smashed with a hammer - stamina goes down - tick - stamina goes up... And yes, this is pertinent to the topic of miss/hit and damage in combat. LOL Give them time to develop the game man... The mechanics may not be ironed out. BTW: Like I mentioned before, loss of control isn't nearly as much of an issue with a party RPG. I was in single-character thinking when I wrote that.
  16. I would love to see something like this... A main quest you can fail and spend the rest of the game trying to compensate for that. I'd also like to be around to see the outcome of completing the main quest. To give an example: Main Quest -> Failed -> Rest of game trying to pick up the pieces, climb out of hell and do what you can to patch up the mess. Main Quest -> Success -> Rest of game dealing with the consequences of your success. You've made enemies, you've created power vacuums, etc. JMS did a good job in the Babylon 5 story of showing how victory has consequences. Lord of the Rings just barely touched on that theme, Frodo and all that. But yes, you rarely see that sort of thing. People like "happily ever after" and probably don't know how to react when ever after never comes.
  17. As I noted within my own comments, when you control an entire party it's far less of an issue. But, if I had only one character to control and had to sit there for 20 seconds of paralysis it would piss me off immensely. BTW: It really isn't an "MMO" mentality to dislike certain mechanics. My first RPG was:
  18. Yep. Take stinking cloud for example, if it checked more often and made you pause for one second from time to time, or caused you automatically miss say Attacks/2 + (Attacks % 2) per round it wouldn't be so annoying. If there was an animation of you running around vomiting for those one second pauses it would be even better, because at least there's something to giggle at.
  19. I've never had a problem with the D&D system itself in CRPGs, except that no one has ever made enough necessary modifications to the system to make it work entirely in smooth fashion. In fact, having started CRPGs on a game with a mechanic specifically designed for computers, I found D&D based CRPGs to be awkward, but still playable. Here are a few examples... Initiative: This doesn't work well in real time. In PnP there is the assumption that, unless stealth is involved, when two opponents are aware of each other then the battle has started. Initiative gets rolled, with bonuses from feats and dexterity, with highest numbers winning. What about range? What if I see them before they're aware? Is awareness automatic? If so, the AI controlled opponents would always win first attack because they're basically omnipotent within their sphere of awareness. In NWN2 I see this happen all the time: I see enemy at max range, I click attack, I see in the status window "Initiative: 4 + 2 = 6" ... and my Fighter goes charging into a group of 4 and every single one of them gets a free attack before I take my first swing. Doesn't matter that they were facing away from me, doesn't matter that I clicked "attack" first, doesn't matter that I have a Greatsword with 2x the reach of their "claws". From the player perspective that looks and feels crappy in play. That's not Obsidian's fault either, it's a PnP rule set and one they probably weren't given a lot of license to modify. I've seen D&D on CRPG clones where, if they won initiative and you cast a spell at max range, your casting would stop while all their move actions executed. They'd end up closing and interrupting your spell in spite of you having seen them, acted first, and had ample time to deliver the spell. NWN2 does something similar, where you cast and target an area, get stuck behind it not being your "turn" and everything moving out of the area of effect and you're left thinking, "FFS at least let me re-target". So, what do you do then? Since initiative doesn't feel smooth in a CRPG? What I've seen that I personally like, and works well, is a stealth detect "lite". Enemies have a detection range where they can become aware of you. Regardless of the range, this would modified to accommodate graphics settings. If the enemy isn't rendered, due to distance fog on low end computers, etc. then detection should be turned off. Once you can see them a heartbeat roll starts on frame rate, seconds, what have you. There is a base chance to notice you modified something like this: Things like heavy armor or running apply negatives, starting a spell cast, day & night, are you within the enemy's visual angle etc. All those bonuses from feats like alertness and dexterity could be applied to the detection roll for the monster, rather than an a clunky PnP initiative. As you get closer, the base chance to detect would go up. On the player side, adjustments can be made via audio triggers if the enemy is noisy, feats like alertness could brighten up the edge of the screen making distant enemies easier to see. Finally, whichever party clicks attack first, has initiative... Full Round Action: Doing something and standing around for 5 seconds feels clunky... Things need to be either channeled or cast and fire in < 2 seconds or it doesn't feel smooth. Buffs: There's only 3 kinds I will make use of, or I'll just not bother. Short term buffs that fire instantly, last for 5-10 seconds and provide a major effect. Medium term buffs that fire instantly and last the duration of combat with medium effect. Long term buffs applied outside of combat that are near perpetual and provide small benefits. Something that lasts 2.13 seconds, or for a single attack of 6 you will make that "round" I have no use for. CC: I heard an MMO developer once say, "people hate losing control of their character." That is absolutely true. Things like paralyze and sleep are just way too annoying to deal with. As a matter of fact I quit playing DAoC over what they referred to as "mez", short for mesmerize, the dominant CC. When they opened the PvP zones I spent exactly 2 nights playing and dealing with minute long paralyzations before I had enough of it. I'm supposed to be playing a game, not sitting here wishing that I could play. Silence, level drain, disease, poison, slow, DoT, increased miss, etc. are all annoying but tolerable debuff mechanics. Staring at your screen for 17 seconds in which you can take no action at all makes me want to tab out of the game till it's over. Edit: And yes, I do realize that this is less of an issue when you control the whole party. So, I don't see anything wrong with D&D math or flavor in a CRPG. What needs to change is some of the mechanic implementations, something WoTC was probably reluctant to allow their IP licensees much leeway with.
  20. This looks promising, provided that this class can be called at runtime. i.e. If it's not just for making Unity Editor plugins... Editor Window Class As a matter of fact, some other classes FileUtil, Instantiate and Generics could make for dynamic content loading at runtime (mods). If scripts can be imported this way we're golden. Even if the compiler-as-a-service isn't able to crunch at runtime we could always download monodevelop or Unity Free and crunch them there.
  21. Still doesn't quite cut it though, that's a prop and they're still trying to highlight her "figure". That scale "dress" couldn't stop a wooden sword. Found this on Google, it's about the most functional looking I saw amongst the hundreds of pictures of Xena.
  22. I didn't say they had to have Texas accents... I would just prefer any genuine accent over obviously fake English ones. So, you can get off your high-horse now. Oh, and BTW: Texas is known for its Rangers, not Knights...
  23. Two of my favorites... Probably because they're not your typical raging bad guy. Cool, calculating and even likeable and sarcastic at times.
  24. Didn't say it could be prevented, said it's something I'd rather not see... There is always hope!
×
×
  • Create New...