Jump to content
The Dark Mod Forums

Rooz

Member
  • Posts

    22
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Rooz

  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...
  16. Yeah, I'll have a thorough preface on the mission and will appreciate the testing. I'm also thinking that the difference in difficulty levels could be more from these scripts than increasing the health/senses/damage from AI. The map is going to be pretty small too and I really like platforming gameplay so there will be plenty of ways to stay above the streets entirely. I don't think the loot handling has to affect the way people play until they try to make it back. Even then, all you'd have to do is stop moving when a guard gets too close. It's really no blackjacking when you make your escape. Agreed. A main thing I'm aiming for with my mission is offering multiple ways to approach the objectives and make each one carries its pros and cons. Thinking about those aspects is my favorite part of the process. After that it's figuring out the coding. Creating a playable map will be cool too, but I doubt making it really beautiful is going to be my thing. That could change though once I get more familiar with DR. I'm hoping so at least.
  17. Thank you everybody that's responded! Yes, I checked out those pages and knew they'd be very helpful. The "waitfortrigger" was the way I thought it'd best be handled, and I was really glad to see that switching path nodes is built in. The civilian-in-guards-clothes sounds like a great idea. I read up on the fleeing system and thought I could make a guard operate like that. I hadn't thought of just switching them out though which will probably be the easier way. Thanks! I hear that and agree that it makes gameplay better across missions. It could be an interesting dynamic for the way I'm envisioning the map in my case. A major feature in it is going to be a bridge between the rich part of town and the poor part. There's a bridge between the two (choke point!) which you'll have to cross to get from where you live in the poor part and where you steal in the rich part. The bridge is heavily guarded though there will be two tricky ways to navigate around it. Since you don't have loot to start with getting there won't be the issue as you can just walk on through. I don't think you can drop loot the way you can drop inventory items but I could probably figure that out. I'd place openable crates in locations on the other side of the river so players would have the option of stashing loot there between houses. When you've got what you needed you'd then pick it up and have to make your way back via one of the tricky routes. Granted, I'd probably recommend never getting caught entirely. To be sure, these dynamics would significantly alter the common strategies. That's intentional though. I think it'd be fun to have a mission where your play is based on certain mechanics in addition to the map. It might not be for everybody though. Oh jeez I can't believe I missed that page before checking out the source code. Though I guess it never hurts to look at the source code at least once. Thanks for already regenerating it! Yep, I came across that script early on. Since I've seen it in play on certain missions I figured I wouldn't have to start from scratch on it and just would have asked the person who created the FM if I could use it. Edit: I look forward to sharing my scripts too!
  18. Grayman, I'm hoping you see this. I just read your name a bunch. I looked at the source code and it seems like I'll have to be scripting around these areas: AI_events.cpp - FindFriendlyAI, GetAlertLevelofOtherAI Memory.cpp - too much to list (enemylastseen is among the most crucial to share with other AI) tasks - FollowActor, GuardSpot, InvestigateSpot There were a bunch of other AI behaviors I'd like to see in the game. I appreciate the whole "guards are ambivalent unless you do something shady." Since you can't easily conceal a bow or sword I think just having one of them on you should be suspicious. It looks like Inventory.cpp line 1014 could be related to that ent->spawnArgs.GetString(inv_weapon_name) I also think it'd be shady to be seen walking around with a sack of 15 gold cups, 6 gold statues, some plates, etc. All that stuff would be rustling too. Making CInventory.GetLoot() or something similar and making guards alert to that seems doable.
  19. It's all good Springheel. Those kinds of tips are what I was looking for right now. I usually do more homework before I start asking questions, but I figured it couldn't hurt. Having a short (or long) list of elements that will be necessary/useful in a system like this would shave off some time finding them myself. My first goal is just getting the captain to dispatch the stationed guard to the missing guard's path. Even that mechanic would be cool to see in missions. I'll start having more specific questions soon though.
  20. I'd like to have my city guards operate as realistically as I can manage. I've looked over the wiki on triggers, stim/responses, signals and scripting and between some combination of those the system has gotta be possible. I'm a competent enough programmer that if I pour over the documentation I could eventually get something working, but it wouldn't necessarily be pretty and could really impact performance. I'm up for a challenging project, but I'd like to start off in the right direction. It'll be great if anyone had helpful tips before I dig in. Here's an abstraction of the map that'll be useful when you hear the system. And here's an overview of the system I'm thinking about. START Guard 1 patrolling Zone 1 via Path 1, each loop checks in with CaptGuard 2 patrolling Zone 2 via Path 2, each loop checks in with Capt(Say loop time is 5min +/- 1min) STEP 1Guard 1 doesn't check in with Capt. after 6minWhen Guard 2 checks in, Capt. directs Guard 2 & 3 to patrol on Path 1 STEP 3Next time Guard 2 & 3 check in w/o Guard 1, Guard 4 & 5 woken up and patrol Path 2Archer 3 & 4 woken up and take position 3 & 4 (red squares) IF PLAYER SPOTTEDDuring STEP 1: guard engages, if player escapes, guard returns to Capt. -> FULL ALERT STATUSDuring STEP 2: one guard engages and the other runs to raise alarm -> FULL ALERT STATUSDuring STEP 3: one guard engages and the other runs to raise alarm -> FULL ALERT STATUS (really only has to run to nearest archer, right? then alarm can be yelled around?) FULL ALERT STATUSWhichever guard raises alert passes on the last known location. (Zone, Section, Area.) All guards move to that location and search (ideal would be they approach from different directions). Archer 4 drops back to archer 3. Capt. calls for Backup 1 & 2
  21. Yep, I've watched your tutorial series Springheel. It was the first I found and thank you for such a great introduction to DR! Are many people here in webdesign and more specifically in UX? That's the angle I'm coming at this from. It's always great to make a good first impression and the discussions here do that. Making a great immediate impression takes it to the next level. My first time here I checked out all the boards to see what people were talking about. Had there been a board with the phrase "beginner editors" I know I would have clicked on that first. After that, the next two clicks would have been on a pinned post along the lines of "Start with these tutorials" and then one that was something like "Meet members eager to help with your first mission" with the kind of introductions I mentioned I would have clicked that. It'd take about 30 seconds to get the same takeaways from my first time browsing. Discussion-wise that board and the current editor's one will talk about a lot of the same stuff. The beginner's board could also be about making that great immediate impression. Personally, this isn't something I'm passionate about so if members think it's too redundant no worries.
  22. Edit: aww jeez, typo in my first thread title... I just discovered TDM around a week ago and it's amazing. The amount of documentation and tutorials in this community around Dark Radiant is astounding, along with the eagerness of experienced members to help us newbies. I'm wondering if it'd be easy enough to create a dedicated "Beginner's Questions" board here. I'm sure there's been a staggering wealth of knowledge shared in the "Newbie DR questions" thread over on the TDM Editors Guild. At 327 pages and 8000+ replies though finding a specific answer to a question I might have myself is a herculean task. It'd be ridiculously more accessible to have individual questions asked on separate threads. I also know how interested this community is to bring in new people and the effort you all put in to do so. Dedicating a board for those of us starting off with TDM/DR would be a highly visible sign of that eagerness. Furthermore, I think new people would be most comfortable posting in such a space, at least initially. Given how harsh forums on other site's can be to "dumb questions" it takes a little bit to overcome that hesitation here. I'd say the size of that thread is a sign of that. The first pinned post on that board could be a thread for particularly beginner-friendly members to introduce themselves. Maybe say the maps they've created and highlight particular areas and mission mechanics that they think are of particular interest to new people. Essentially, that would be a good place to state their attitude is "if you like something and might be interested in incorporating it or aspects of it in your mission please contact me! My answer will almost always be an 'Of course!'" (Yes, that last bit is a takeaway from the other discussion over an "unofficial mods wiki") Thoughts?
×
×
  • Create New...