Jump to content
The Dark Mod Forums

Rooz

Member
  • Posts

    22
  • Joined

  • Last visited

  • Days Won

    1

Rooz last won the day on May 23 2018

Rooz had the most liked content!

Reputation

18 Neutral

About Rooz

  • Birthday 01/01/1987

Profile Information

  • Gender
    Male
  • Location
    Pennsylvania
  • Interests
    Linux, webdesign, D&D (particularly the world building aspects), plenty of tv/movies/books (relevant to the sense of humor I'll bring is Monty Python and Catch-22)

Recent Profile Visitors

570 profile views
  1. RPGista- yes, I saw that tutorial and planned to work through it before I start blocking out my map. That will be my next focus now that I'm back on my desktop and have two displays. The past two weeks I've mostly beend learning the objective editor and how to add skins and models. At this point my map consists of the starting location and the various readables that reveal the objectives (on close) and then the items you have to collect to complete those objectives. Twould of them are the standard "collect x loot and drop it off in x location" another is "collect x number of items" (which in my mission is restocking your wine supply.) The difficulty levels on those involves gathering more loot and getting more wine. The last objective is a bit more creative. You have to steal a birthday present for a friend so it's a "get item x" but the way I handle it between difficulty levels is reducing the number of items that satisfy the objective. So there's 8 paintings total and when playing on easy you only need to get one of any of then, on medium there's only five that count towards it and only hard you have to get one of only two. I'll put the paintings in locations with various levels of security, so on expert you'll have to break into the new art dealer's gallery instead of finding any old one in a regular house. I'm glad to have all of that figured out because after I build out the map I just have to scatter the items and put in basic AI and paths to have a playable mission, at least in beta form.
  2. Wow, I completely read your post wrong. I figured out what those shadows were. I had two extra patches under it. Anyway, I'm working a fake job for the next two weeks where I get a lot of time to sit around and do whatever I want on my computer. Im looking forward to making some good progress.
  3. Stgatilov: I see your point and it's a difference of opinion which cool and why I let this idea go. I was happy to see Petike share my opinion, but I should have just liked it and sent him a PM I suppose. I didn't mean to rekindle this thread.
  4. Petike: my thoughts exactly. It's really not that the forums here *need* one. Between the boards, wiki, and the community eager to answer questions, there's more than enough info to pick things up quickly. Having one would just be an extra mile to demonstrate on people's first visit just how welcoming this project is. What it gets down to is it's just good PR, and there's no such thing as too much of that.
  5. It's a decal. I don't recall coming across a "poster" type, but is that what I should be using?
  6. I appreciate the advice. At the moment I am just working on one interior, and a tiny one at that. There's definitely a lot I need to learn with DR before I make a final decision about where my first FM will take place. I have a number of missions in mind that form a campaign and the first one would serve as the general introduction. That has to be a city map, but it doesn't have to be the first FM I make in the series. As for "standing out" I'm not worried about that. It'll stand out, but whether it's good or bad is gonna depend on the player's personal taste.
  7. What excites me the most about TDM is that it's the perfect engine for me to create a game in a city that I've had in my D&D games for years called West Wall. Visually, I've always pictured it much like Bridgeport is portrayed in the FMs, and since it's my "City of Thieves" no set of game mechanics could be better. My favorite part of playing D&D has always been the world building. West Wall has been a fairly small portion of the overall setting, but it has always been the one I've had the most fun with. I always DMed with a more relaxed and humorous handling of the game, and when a campaign has ventured into West Wall I'd really let loose my sardonic and ridiculous tendencies. Think Catch-22 meets Flying Circus with a decent dose of cultural references. Hopefully some people here might appreciate an approach like that as one option among the many great FMs. Since I'm still getting used to DR most of what I'm working on is just that. When I'm not reading the wiki/watching tutorials and trying things out I'm thinking about the ways I can introduce the setting and story through gameplay. The screenshot here is from what I've done on the player's house and start location. I tried to get the best angle of it that shows off the kinds of mapping details I'm including to help tell the of story the character you'll play. I'm happy with how it's going so far, although I know I need to do more on that poster. (I just put that in as a diffuse map to make sure I had the right file locations and all. Also, that rectangular shadow as confuses me a little...) You can see that there are a lot of readables in that room. I've kept the most important ones to single pages, and players actually only need to read the "To Do" note nailed to the front door frame to get their objectives. The books offer more on the setting and your history, but aren't essential to this mission. Anyone that does take the time to read them will see how more elements in the story tie together. So, yeah, that's what I'm working on right now. I've gotten feedback on my plot and story development from friends but I can always use more and particularly from people who haven't known me for years. If anyone wants to hear things I'd be happy to spoil things via PM.
  8. Obsttorte: Yeah, I meant skin files. The main parts I'll use over and over again are the wall segments. Maybe I'll make those models and then use them in prefabs so I can get the caulk and decals in one shot? I might just stick to just prefabs though too. I'm really set on making a city map for my first mission and I know keeping performance in mind when I'm mapping is crucial. I'm hoping I can get some general feedback when I get to the point Im blocking out the map. I've read about what I can do to test it so I'll include lots of lighting and AI, watch the FPS, shadows, visportalso inside visportals, and tri counts. (If I got something wrong there or am missing something it's just because I don't have the wiki article open.) I'd just need advice on areas I can't figure out. Along the lines of "if you put a corner here, NEVER make that door openable, only have two lights max casting shadows, etc." Those are all things I know I should try first though so I should be decently covering my basics. Springheel: Yeah, between your advice and Obsttorte's it sounds like the best approach is gonna be light on my own models and heavy on the prefabs. I have some experience with Blender so I could be up for tweaking models. Probably not at first though. There's going to be enough to figure out and do without adding that work into the equation. That's also reason why I've cooled it on my idea for advanced AI patrolling. That stuff will be a good addition for v2 I've had a lot of free time today and more tonight so I've been working on a prefab map. Would that be something I could share in a bit? I'm trying to make them as useful as possible and I know how important it is to get it right. Would I just zip up the .map? I could also include a folder with my prefabs, but since it's the construction of the pieces that matters it seems redundant.
  9. I'm getting the hang of DR and starting to think about how to go about making my map. It's going to be a city FM and one of my aims is to let players enter a lot of the buildings. I know that will take a lot of work but my plan is to do a number of missions in the same area and build it out piece by piece. I've noticed that a lot of the modular building prefabs are either interior or exterior. I think it'd save me a lot of time to make a set that works both ways. So a couple of questions: Is there a reason this kinda set doesn't already exist? Some massive performance hit? If there is, is there a way I need to approach it to avoid that? Building visportals into my prefabs would help, right? I was thinking I could put one with every door so when I import it it's already there to resize, but I figure I could do more. Second, I'm going to have a lot of timber frame buildings and I know there's great textures for them. I'll definitely use them for areas that players can see but can't go. Anything I'm going to make out of prefabs though I want to have more depth. At first I was messing around just texturing brushes but those were really blocky. (Of course.) So then I did the beveled edges and that looked like what I was going for. Rotating beams I made like that didn't work out so well though. Now I've started using the square cylinder patches and those are working well. I know patches don't seal the void and I'm guessing sound goes through them too. (I've seen that light does anyway.) I've read about exporting .lwo from DR and it sounds like that'd be a solution? The other option I was thinking was just making the brushes with plaster fully connect under the timber patches. The thing I'm worried about with exporting .lwo is the sheer number of different sizes of beams I'll use. Also, I don't entirely understand the material definitions that would let me change between all the different wood textures. It sounds like I could use one across the board which would be nice. Otherwise it would be a lot of writing text files. I've read discussions about exporting brushes and whatnot as models before packaging your mission. Is this how I should go about doing it? Anyway, I have more questions but those are the main ones at the moment. I figure getting advice before I start diving in is going to save me time.
  10. I'm getting closer. Passing the patrol's starting path_corner was giving me issues until I decided to just use a random entity as a spawnarg storage. There's gotta be a better way to do that, but this one works. In my case, the "patrol_base" is a nice rug. You're right that changing a spawnarg doesn't initiate new behavior. Unfortunately, the stopMove/restartPatrol didn't either. The most I got it working was making the backup walk to the first corner (with the path kicks off) and then stand there. I got real excited the first time for about 3 seconds. I see that Grayman worked on the restartPatrol code. Maybe he has an idea. Edit: with the current_duration == max_duration, it was the easiest way to have the situation occur once. I don't like using a == when things are getting incremented either... it'll do while I'm still learning though. object patrol : ai_darkmod_base { float m_current_patrol_duration; //duration in seconds float m_max_patrol_duration; //time in minutes of expected patrol loop, spawnarg float m_update_period; //going to be a constant 1 second entity m_route; //spawnarg target0 void init(); void updateLoop(); }; void patrol::init() { m_current_patrol_duration = 0.0; m_max_patrol_duration = getFloatKey( "max_patrol_duration" ); m_update_period = 1.0; //checks every second m_route = getEntityKey("target0"); thread updateLoop(); } void patrol::updateLoop() { while (!AI_DEAD || !AI_KNOCKEDOUT) { if (m_current_patrol_duration == m_max_patrol_duration) { $patrol_base.setKey("missing_patrol", m_route.getKey("name")); $captain.callFunction("DispatchSearch"); } m_current_patrol_duration = m_current_patrol_duration + 1.0; wait( m_update_period ); // wait a second } } // CAPTAIN object captain : ai_darkmod_base { float dummy; entity patrol_start; void DispatchSearch(); void init(); void updateLoop(); }; void captain::init() { dummy = 1.0; thread updateLoop(); } void captain::updateLoop() { while (!AI_DEAD || !AI_KNOCKEDOUT) { wait(5); } } void captain::DispatchSearch() { patrol_start = $patrol_base.getEntityKey("missing_patrol"); $backup_1.stopMove(); $backup_1.removeKey("target0"); $backup_1.setKey("target0",patrol_start.getKey("name")); $backup_1.restartPatrol(); sys.println("DispatchSearch fired"); sys.println("patrol starting at " + $backup_1.getKey("target0")); }
  11. Is that approach going to allow someone to set different patrol durations as spawnargs on the ai_patrols? I'll take time to try and figure it out on my own if it does. If there's no getting around hardcoding things with that approach it'd be good to know now. What I've done so far is pretty hacked together, but it does let you set a patrol duration spawnarg and it's to the point where it fires a function that'll pass the target0. It seems pretty close to fully working, but it's my first script so everything could be done in a stupid way. tdm_ai_patrol.script.txt
  12. Thanks for clearing that up. The relevant documentation is in Trigger.cpp, right? I wasn't making the direct connection between idTrigger_Timer and CreateTimer. The trigger_timer looks like it's unique because I don't think any other trigger types have their own full set of script events? I think I read that one thing about stim/responses is you can't pass parameters? Or you can't without using a hack. So if the captain has a response to the trigger_timer it would be the same response no matter which stim triggered it? Sorry it's taking me a bit longer than I expected to wrap my head around these core concepts. I haven't come across any scripts that show trigger_timers in action which would have been greatly helpful. I'm sticking with it though and this weekend I should have this dispatching script down. Once I figure out how to have a captain send out one backup after a patrol has been gone for 10 seconds the rest could happen pretty quickly.
  13. I'm making some baby steps. At this point I have an ai_patrol scriptobject skeleton. The AI_DEAD error threw me off for a little until I found this: http://forums.thedarkmod.com/topic/14394-apples-and-peaches-obsttortes-mapping-and-scripting-thread/page-14 so thank you Obsttorte and Springheel. I think I have a decent plan for how to handle this system. A goal is to make it as easy to integrate as Obsttorte's Hitman script. Attaching the timers to the patrolling guards would make that dropping it in easier, right? Otherwise people would have to manually set up a bunch of triggers off of the captain to every guard. Here's my pseudocode for the ai_patrol at the moment in case anybody has feedback. object ai_patrol : ai_darkmod_base{ float timer float patrol_time [is the format for this the number of seconds?] entity patrol_start_point entity patrol_base [any static entity, simply used to measure a distanceTo] entity patrol_captain} void ai_patrol::init(){ timer = createTimer(timer_stimID,0,0,0,0) patrol_time = getFloatKey("patrol_time") [spawnArg] patrol_start_point = getFloatKey("target0") [pretty sure there's something like getTarget() that'd be appropriate] patrol_base = getEntity("patrol_base") [by entity name] patrol_captain = getEntity("patrol_captain") [by entity name] StartTimer(timer_stimID) updateLoop()} void ai_patrol::updateLoop(){ if distanceTo(patrol_base)>X && timer>max_time [i don't know how to compare these values] patrolMissing(patrol_start_point) else resetTimer(timer) StartTimer(timer)} At first I thought I was going to have to define a bunch of stuff for a patrol_captain and the patrol_base. It seems like all the captain really does is link the patrolMissing to some kind of "dispatchBackup" function which just sets the target of the patrol_backup to the path_corner. (I like how with this system if the player incapacitates the captain the whole thing goes into disarray.) The two main things I'm trying to figure out now are what exactly CreateTimer does and where I need to use stim/responses. Timers are a bit confusing because the CreateTimer returns void. Maybe I haven't read the documentation right though. Also, I'm not sure if I even need to use timers. The ai_patrol updateLoop() doesn't need to get run more than once a minute. The patrol_time spawnarg could be given in minutes then, and the loop just increments that number. With the stim/response, the only one I think I need to have is a stim on the patrol_base with the response on the ai_patrol to set the timer to 0. With the radius parameter it looks like stims/responses are only meant to trigger actions within a specified location.
  14. Yep, I see that now. Thanks for explain the explanation Obsttorte. Yeah, that meter was great. I'm thinking about implementing something like that myself. I figure crouching/sprinting is less suspicious than picking a lock but they'd still get some attention. The other thing I really liked about that mission was using the difficulties to let you play three very different games. It made me think about how I could have a mission where two thieves are working together and you could play the one doing the burglary or the one providing the distraction.
  15. Nice. I only saw the wiki one and I like what you've done with the recent version. I was thinking that crouching would be among the shady activities. I could have missed a line in that but is there a place where the observer has to see the player doing something? The way I read it it looks like if the player is carrying around a forbidden item then every guard they encounter is going to be hostile. Perhaps. I will tone it down on the easy difficulty. Guards probably won't double up on patrols, the loot limit probably won't exist, etc. I'm hoping some players realize that if they were to KO the sleeping guards before doing their thieving...
×
×
  • Create New...