Jump to content
The Dark Mod Forums

jaredmitchell

Member
  • Posts

    48
  • Joined

  • Last visited

Everything posted by jaredmitchell

  1. I'm stepping on every rake I can in this thread, huh? I was last active here prior to then, thank you for notifying me though.
  2. Thank you two so much! I may make good on your offer for help later. The map is now posted in the Beta Testing forum. If you don't have access to those just DM me and I'll send you the link.
  3. Well now you tell me that's a possibility! Yes that would be much more convenient, I should look up how to do that while waiting for feedback to come in. And I did use the readables editor at first, but it kept having issues with relocating what I had already written. I imagine that's related to your first point of project configuration. Hopefully I can go forward a smarter mapper now.
  4. Hey everybody, As some of you have seen, I started streaming myself making a level for The Dark Mod, with the intent of showcasing the process of making a level. About a year after starting, I'm releasing the first playable version of the map, and would like people to play and give feedback. It's still very early on and very rough; mostly I'm concerned about the layout of the map at this point and the "funness" of it. If you're interested and okay with filling out a survey I can review the results of onstream, let me know! I'll post a thread for the map in the Beta Testing forum in the morning.
  5. It's probably also for gameplay and level design reasons; if there's two characters standing around in an area the player can access (or shoot at), what happens when the player attacks them, or if they're merely spotted? What if this is a sequence that they need to pay attention to in order to to complete the mission (i.e. it gives the player a necessary piece of information) and it gets interrupted? It's probably no wonder why the conversation in Eavesdropping in Thief II happens completely behind an unopenable door. :P I kind of have one in my not great map; to deal with the problem above, the two guards won't play the next line in the conversation if either of them have an awareness of the player above a certain point. Regrettably, this doesn't interrupt the currently playing line (I couldn't figure out a way to interrupt currently-playing VO), which can lead to some awkward moments if they start chasing you.
  6. Oh, that's smart! I think that might work. I was assuming prior that the exterior would be part of the off-stage recreation. As for getting the pathfinding working on the exterior, my concern is that the monsterclip brush seems to form collision, not just AAS data, so I don't know if there's a way for the guards on the deck to "sink" through to a lower level when the ship changes locks. I think I can fictionalize reasons why there wouldn't be any crew outside, so I'm not too concerned. Anyways, thank you! I think I have a way forward now.
  7. I've thought about the teleporter idea, but I don't know how viable it is, given that the player can jump off the side of the ship into the water from any point on the top decks. If there's a trigger or set of triggers that could be attached to the ship, and I could get the offset of the player from the ship's center, then maybe. Do they have to be absolutely still while the transition happens? I ask because in the context of the canal, the ship only moves vertically at a couple of different spots. I made a diagram for my design doc: The elevator wiki page is ambiguous, but it gives me the impression that both the AAS solid and AAS obstacle brushes used form an invisible floor at each stop for the AI to walk on. If so, my thinking is that I could just have a few planes of AAS brushes and selectively toggle them as the ship progresses: Is this viable? EDIT: Should mention that the proposed solution above would be paired with AAS obstacle entities lining the perimeter of the ship that would move with it, in order to prevent AI from walking off the sides of the ship or bumping into the walls. I'm assuming you can set the AAS obstacle entities' position, as I've been successful in doing that for the func_liquid volumes that will form the water of the canal.
  8. Hey there, I'm writing this with egg on my face. Basically put, the level I'm currently working on depended on the assumption that I could get AI patrolling and pathfinding on moving platforms. Unfortunately I think I misremembered what TDM can do, as I've quickly found out that monsterclip brushes need to be worldspawn. Does anyone know a way around this, a way to achieve a similar effect, or am I just shit out of luck? The concept of my map centers around a ship moving through a multi-lock canal; the player is supposed to sneak onto the ship while it's moving, steal an item off the ship, and then get back onto shore. My assumption is that having enemies on the boat would require the aas32 data to update. This is the map I've been streaming the making of, if it helps to have a sense of how far in I am. I've been messing around with small experiments in test maps to find a workaround or hack, but I've been unsuccessful. I tried looking at using aas_obstacle brushes, but they only seem to generate walls for AI, and not a walkable surface (despite them being used as such in this example on the wiki). Push comes to shove I can just have the ship docked and static throughout the mission, but I feel like that's not as fun. Any ideas?
  9. By the way, I know some people mentioned improving lighting skills, and I finally found an article that actually discusses some of the theory behind lighting that I can comprehend: http://www.blog.radiator.debacle.us/2015/03/lighting-theory-for-3d-games-part-2.html

    1. Show previous comments  3 more
    2. peter_spy

      peter_spy

      He kind of repeats all the stuff I got saved in presentations elsewhere (he uses some of them as quotes in his articles), but that's ok.

    3. Sotha

      Sotha

      I think he says mostly obvious things... but might be a good read to a person new to mission design.

    4. jaredmitchell

      jaredmitchell

      Yeah, demagogue, in part 5 of the article he mentions The Dark Mod because of how it undoes the hard shadow features of idTech4, which is pretty neat.

       

      And mostly I had issues with other materials being circulated here in regard to lighting because they didn't really explain the function of lighting and its placement.

  10. As people have mentioned above, the scripting language for idTech4 is pretty similar to C++. However, it and C++ are also close to C#, which I think is an easier language to learn. If you don't mind spending time in another engine, Unity has C# support, plus a ton of video tutorials and a really well-documented set of functions for C#. I mostly say this because the Dark Mod wiki articles are pretty threadbare, and it was easier for me to figure out how scripting for it was different from scripting from other languages. If you want to jump right into TDM scripts, though, I'd be willing to help you through what you specifically want to do, and I'm sure plenty of other people on this site would say the same.
  11. Holy crap, how many open-source versions of immersive sims based on idTech4 are there? Next thing I know you'll tell me there's a Terra Nova one.
  12. Given this community's love for Looking Glass-style games, I recently got Arx Fatalis for free accidentally. I downloaded the demo data from Steam, but had to install the open-source version, Arx Libertatis, to get it to run. I've been playing it for the past couple weeks and the game hasn't stopped me from playing further, which took me a while to realize. I'm wondering if this would work for other people as well. Given that the game's now open-source, you can create mods and compile the level editor yourself, which I figure is also of interest to people here.
  13. Anyone have much experience with CryEngine/Lumberyard? I'm trying to figure out why it isn't used by more teams, and why a lot of games made with it tend to be buggy.

    1. Show previous comments  2 more
    2. teh_saccade

      teh_saccade

      A lot of bugs in the engine can be "fixed " by including "-RenderProfile Max 45" in the launch parms, iirc. Idk, I use it for virtual photography / reference imaging only now, for painting or other digital image / bullshots.

    3. stumpy

      stumpy

      microsoft cancelled a game with them, causing the money problems, and they had to get rid of their uk studio. Uk studio is still there its just not part of crytek anymore. I heard they were working on a new engine so it might be why they are not fixing the old one.

    4. jaredmitchell

      jaredmitchell

      The specific examples I'm thinking of are Sonic Boom and Homefront: The Revolution, but I think the work environments for both were pretty strenuous. The new Prey game uses it, though, and seems to be pretty solid.

  14. Huh, funnily enough I've been working my way through Pathologic the past couple months. I'm playing the original version from 2005, which is a bit tough to understand at points, but I think it's successful at communicating what it wants. I agree with Anderson, play the original, and then we'll all get a chance to contrast it with the remake when that comes out.
  15. Great stuff! This definitely looks like what my Game Art Major classmates were up to. Do you think inefficient meshes are a common problem in TDM? I only took one class in 3D modelling so I'm not the best person to pick that out. I definitely think that would contribute to a lot of the performance issues I have.
  16. Oh, nice work! That GUI scripting looks really intensive!
  17. So, I got one of them there fancy level design jobs I've been hearing about. Actually, it was mostly because of my FM that I posted here. Thank you all for the support as I worked on it!

    1. Show previous comments  7 more
    2. Sotha

      Sotha

      Not bad, that will put some bread on the table. Thanks for sharing.

       

      Do we get to know, eventually, what the project is and what part of it is your hand writing? It would be fun to support by buying and also see what you did for the project.

    3. Anderson
    4. jaredmitchell

      jaredmitchell

      Oh, yeah, it's Albino Lullaby. Episode One has been out for a while now, and I'm hired to work on the next one. Turns out the project director is a big fan of Looking Glass games.

       

      And don't buy it on my behalf, buy it if it genuinely interests you!

  18. Alright, once more: I'm trying to figure out a way to pass a variable to another script object, but I can't seem to find a way to do that. Specifically, I need a way to communicate the position of the current entity the player has tied their tether arrow to, preferably to my player script object. Using callFunction() on an entity doesn't allow me to pass any arguments to the function called (as far as I can tell), so I tried implementing some functions in a map script so that I could use callGlobalFunction(), which at least allows me to pass an entity. However, given that I have functions like this: //functions in my map script. currentTiePos is a vector variable defined earlier void setTiePos(entity tie) { currentTiePos = tie.getWorldOrigin(); sys.println("Global setTiePos"); } vector getTiePos(entity something) { sys.println("Global getTiePos"); return currentTiePos; } I thought that this would be a functional workaround. While setTiePos() works as intended, whenever I try to call getTiePos() via callGlobalFunction() to assign a vector, the Dark Mod launcher flags this as an error. I think it's likely because a string is used to access a function in callGlobalFunction(), so the interpreter can't check that the corresponding function returns the proper data type. So, does anyone know how I can either pass a value to another script object, or get a value from a global function? Thank you again for your help!
  19. In AAA studios now, a growing trend in the workflow is to give the entire level to an environment artist to decorate; the bulk of the level will be made up of one giant static mesh, with scattered objects around to decorate with. While this is great to allow the artist to create something that looks believable, it allows for less tweaking by the level designer (i.e. if some cover or something similar needs to be moved a few units). I had a professor in college who worked at id, and apparently the workflow there was to create a blockout in 3DSMax with the appropriate dimensions for everything, and then just give it to an artist. I did a design test with a company that asked me to do the same.
  20. Damn, Judith, that's a hell of a quote. Oddly enough, though, it seems like developers releasing mod tools seems to be much more of a rarity these days. This could be a function of the aforementioned complexity increase of level design (as well as, presumably, the increased complexity of certain developers' engines and editors), but I think is more a result of prevalence of engines like Unity and Unreal. This is probably both due to more developers using them, since proprietary engines are difficult and costly to make, as well as more hobbyists using them, since they provide way more freedom and are often more user-friendly. I've started to notice, though, that the lack of more recent mod tools is also going to be an issue for aspiring devs. I wanted to focus specifically on level design in college, but a lot of the more prevalent level editors (Hammer, Radiant) are starting to age and be seen as less relevant. When I told my friends that I wanted to make a level for a particular game, they would ask me why I didn't just make something in Unity or Unreal. This is despite needing to define the systems of a game first before I could build levels for it, or choosing from a scant offering of mod-compatible games built on those engines. I think the new DOOM's Snapmap is a pretty good compromise here: create an in-game level editor that automates a lot of the more complex aspects of level design. Unfortunately it feels too restrictive to me, but it's a good starting point, I think.
  21. So, you want the windowDef holding your map image to render a specific section of the material? That's an interesting problem to tackle. I'm not the most experienced with the GUI scripting system, but looking here, it seems like using the matscalex and matscaley properties might be the way to go for the scaling, at least. So, something like: windowDef MapviewerWindow { rect 3,-8,580,350 visible 1 background "guis/assets/mainmenu/lumi-tooltipblueback" } windowDef MapViewerMapZoomIn { rect 370,124,40,40 visible 1 bordersize 1 bordercolor 1,0,0,1 forecolor 0,0,1,1 text "+" textscale 0.8 textalign 1 onAction { set "MapviewerWindow::matscalex" "MapviewerWindow::matscalex + 0.2" set "MapviewerWindow::matscaley" "MapviewerWindow::matscaley + 0.2" } } windowDef MapViewerMapZoomOut { rect 453,125,40,40 visible 1 bordersize 1 bordercolor 1,0,0,1 forecolor 0,0,1,1 text "-" textscale 0.8 textalign 1 onAction { set "MapviewerWindow::matscalex" "MapviewerWindow::matscalex + 0.2" set "MapviewerWindow::matscaley" "MapviewerWindow::matscaley + 0.2" } } Note that I'm not 100% confident you can call variables you're trying to set as arguments (i.e. the "MapviewerWindow::matscalex + 0.2" statements), but in the format of this scripting language there's not really a way to use a += or -= statement. Try that and see if it works.
  22. ...well, this is embarrassing. Turns out the issue was I forgot to give a new name for the #ifndef and #define preprocessor commands in my script. Whoops. Everything works as expected now. Thank you all for being patient with me.
  23. I made a copy of the player script to edit its logic and put it in the script folder of my mission files. It's included in the tdm_custom_scripts.script file that I used, which has been working with the other script objects that I've written. That was a good suggestion. I tried it, but alas, that did not solve my problem. My problem is that I similarly made a copy of the player entityDef file, and told it to use my custom player script object. However, when the map loads, it doesn't seem to recognize my script, and just prints an error to the console.
  24. Thank you, Obsttorte, but this doesn't address my question. I'm trying to add logic to the player entity by changing things in the tdm_player.script. The way my files are set up now, though, the game is not reading my version of the script object. How do I remedy this?
×
×
  • Create New...