Jump to content
The Dark Mod Forums

Nyarlathotep

Member
  • Posts

    1196
  • Joined

  • Last visited

Posts posted by Nyarlathotep

  1. It's not that hard if you know what you're doing, i.e., be a developer or read a strategy guide. :P Without revealing too much, if you successfully steal one below level 40, you unlock a minigame to learn how to ride horses. I'm actually rather proud of how it turned out. :)

  2. I've often thought it'd be cool to have conditionally branching music, but I don't think I've ever seen that implemented.

    As a CS major with a background in music, I've often thought about this as a way of making a better transition between different musical pieces, rather than simply (and annoyingly) cross-fading. E.g., if nextBar == barX, use this transition.

     

    As an alternative to randomly generating the music, have you ever considered playing short "bursts" corresponding to the player's actions? A long fall could be accentuated by flutes descending chromatically, for example, or every clash of swords punctuated by bass drums. Not necessarily appropriate for a Thief-like game, but it could definitely be fun.

     

    Actually, the Thief-style ambient music could probably be easily generated randomly/pseudo-randomly. It's built up pretty simply (sort of like layers of cake), and with a large stock of sounds, it could easily provide hours upon hours of "unique" music.

  3. Why would huge outdoor areas be a good thing? Mr Thief moves like a snail, that's why most missions are set in narrow medieval streets and cramped buildings. I don't want players to have to run half a mile just to get to the mission (we're not charging by the hour like World of Warcraft). :)

    Oh, silly! That's what a horse is for!

  4. Thanks guys!

     

    greebo was a little surprised by my age, I think. I'm among the younger members of the team. :) Though I am officially no longer a teenager, so that's something!

    Holy shit! I'm older than you? I thought I was the youngest on the team!

  5. Well, maybe if you have two different types of nodes/unions :-) (You said something about a linked list, guess that means you have only one union/struct for each node? That would certainly simplify things - good for you :)

    No, a union of two structs will simply be the size of the larger struct. Pointers allow you to have variable amounts of data (through void pointers or possibly union pointers), but then, that data won't actually be in the node struct.

     

    I don't quite understand this sentence. Certainly, in a linked list you can have variable sized nodes as long as the start of each node contains a flag or size field which tells you how big this node is.

     

    Of course, this needless complicates matters unless you really need to save memory.

    This idea intrigues me, and I would like to learn more.

     

    malloc has an overhead in terms of memory per allocated block. Likewise, if you need to manage a few hundred/thousand/million little blocks, even if they are all of the same size, you might get fragmentation of your memory.

     

    E.g. if you have one million nodes allocated, free 2 of them, then want to allocated 2 more, your malloc/memory manager/whatever, needs to find out *which* of the million little blocks are free - which can be either some lookup, or walking throught the chain of memory blocks etc.

     

    Your idea of "allocating one large block and managing by yourself" is exactly how you can beat malloc, but as I said, it can be getting complicated :)

    Ah. I thought you had been talking about some sort of race condition or something, not improving cache locality/page utilization over standard, fragmentation-happy malloc.

     

    Edit: Hurray for programmer thread-hijacking!

  6. This was in C. How would I have nodes of different sizes? Unions are always the size of the biggest member struct. AFAIK, you can only have variable types/sizes of data in your struct through the use of void pointers. And how the hell do you "beat malloc" in a single-threaded process?

     

    In retrospect, I think what caused it was some unwise variable reuse. I can't really check until I get my work back off the school computers, though, and I can't be assed to do that just yet.

  7. I can only repeat what I offered multiple times now: I'd be happy to get new coders started and introduce them into smaller tasks, I'd even take a complete newbie by the hand and get him/her into coding, but strangely enough nobody took me up on my offer so far. :mellow:

    Joke, mate. ;) But in all seriousness, I was planning to take a serious look writing the vine arrow script very soon, preferably immediately after my concert tonight. I'd start now, but I stayed up until 06:00 trying to figure out why my list was segfaulting on a double free. As it turns out, I had correctly written my library, but due to a requirement of the assignment, I was mallocing my nodes outside of the list. As an optimization, I was attempting to malloc all the nodes I needed at once. When I would free the head, it would free the entire block, so the next time I removed the head, it would result in a double free. I spent five hours banging my head against the wall in Valgrind until I realized my error. :(

     

    I know it's possible to allocate more than one block at a time and have it work correctly. Could anyone explain to me the right way doing it?

  8. Greebo agreed to help me getting my feet wet, so this sounds like a good objective.

    No wonder why I've been having so much trouble; I've been going about this the wrong way! You're going and trying to get your feet wet, and here I've been wearing me Wellies the whole time!

  9. Is there no way to make something random? It's something that is very useful in a variety of circumstances.

     

    In Dromed I resorted to random patrols of frogs, who then hit bounds triggers linked to other things!

    Yes, yes there is. For example, it would be trivial to expose something like rand() from stdlib.h to scripts. Is there already something like rand() exposed to D3's scripts?

  10. I'd also vote for a randomizer to replace walls and doors. After all, it's pretty boring to run through the same map again and again. If mapper could randomly replace doors and walls, that would be cool and would offer so much more replayabillity.

    Actually, this would be kind of cool to do for a maze within a level. A simpler way for the mapper to make it though would be to have short blocks and randomize portals between them (we'd need to implement portals first, though :ph34r:). Ooo, would players ever hate you for it though!

  11. Ah. Yeah, that sounds about right. Present, but nerfed to the point of uselessness.

     

    WTF was with

    that weird ur-in-jc's-head-lolz sequence

    anyway? Talk about a non sequitur. Sigh. I mean, I get the in-world explanation, it's clear enough, but why?

    Uh, erm... Well... Ihavenoideapleasestoplookingatmeyou'remakingmenervous.

  12. It had the Dragon Sword alright. It was just near the end of the game (

    in the Hong Kong apartment in JC's artic base

    ), used the same model as the "energy katana," or whatever the fuck it was called, and was only a slight improvement over the base "energy" butterknife. I can't even remember if I bothered keeping it at that point, as I was still trying to avoid killing anyone (until I found out that DX2 didn't make an actual distinction between killing and knocking someone out).

  13. I assume you mean the successor of the Doom 3 engine, Rage, and not its GPL'd predecessor, Quake 3.

     

    I think for the most part, other mods just died. There were always less than ten of the really big mods (Recall to Hell, The Dark Mod, Last Man Standing, Ground Zero, Full Metal Jacket, etc). Of those, Ground Zero and Full Metal Jacket are late starters, and the latter started out as a small modification and is slowly spiraling into a total conversion. Of those that died, Sapphire Scar is the only one that I can recall specifically. Note that I define a "really big mod" as being a (near) total conversion that actually stands a chance of being released, disregarding the chances of a cease and desist.

     

    In the bigger world of mods, all of these mods except for Recall to Hell and perhaps TDM would be considered small TCs. You know it's a small community when a mod like FMJ is considered a "big mod".

×
×
  • Create New...