• 0

    posted a message on Dungeon Keeper (Proof of Concept)
    Quote from Forge_User_20974461: Go

    And what about the work abort?

    It's handled by the threadded tile conditioner (Bottom right corner).

    Basically, in there, I've added a couple of conditions which will run if anything interesting happens such as:

    • No worker = terminate the thread.
    • Tile is no longer marked = terminate thread.
    • Tile is destroyed = terminate thread and make necessary preperation for other stuff.

    If any of these do happen a code is run that passes all workers to the job asigner, bottom middle of the image, which decides if the imps should do more tasks or not.

    Posted in: Project Workplace
  • 0

    posted a message on Dungeon Keeper (Proof of Concept)
    Quote from Forge_User_20974461: Go

    Are you still here red? :D

    I was busy at school. Anyhow, as I promised I'll show you a mockup of my AI. Of course, there are a lot of custom functions, actions, conditions etc. behind this system but it will give you a general idea of how mine works.

    What I found quite interesting is that it works really well. Video showing how it performs on Battle.net:

    Embed Removed: https://www.youtube.com/v/2gZxx10DKtU?fs=1

    Yeah, I'm still alive.

    Posted in: Project Workplace
  • 0

    posted a message on About map copyrights

    Does copyright matter? In the end, Blizzard owns it and so does everyone else in the community. You can't lock the map expecting your work to be protected.

    Posted in: General Chat
  • 0

    posted a message on Dungeon Keeper (Proof of Concept)
    Quote from Forge_User_20974461: Go

    @redmarine: Go

    Yes that should work, so that's what I would do.

    1) Assign task to a worker 2) Assign the target to the worker 3) Assign a specific behavior to the worker that stores his current task type (conquest, dig, fortify,

    etc) 4) Start an action definition that loops, storing the worker, his target and his current task type

    (behavior type) 5) While looping check if the worker has the same task type and the same target, else re-assign the

    target task to another worker

    Adding custom behavior seems interesting, however, I got another method which I've worked on this morning.

    This whole thing will be threaded meaning that each imp has its own process for doing work. Basically, this will make sure that imps will continue to do their job and not depend on an overarching system nor loops.

    1) Idle state, contains a wait for condition action until a work is available.

    2) If work is available, pass the unit via parameter to another task manager to get specific job.

    3) In the task manager action, the unit will be sent to the highest prioritized job available, passed via parameter.

    Now we enter the block of Custom Action Definition that will handle the work itself. Let's take digging as an example:

    4) Get unit from the parameter, look if there are any work left in this task, if any is then send unit to the work parameter, if none then send unit back to Idle State where the process will start again.

    5) ... Do work .... Done send unit back to 4 where he'll see if more work is available.

    Hope you get the idea.

    Posted in: Project Workplace
  • 0

    posted a message on Dungeon Keeper (Proof of Concept)
    Quote from Forge_User_20974461: Go

    Using the auto cast you would have the problem of imps trying to achieve the same task at the same time.

    For the AI I'm going to use looping triggers. Each time you assign a work to an imp you flag a variable to 1 (or add a behavior to the work dummy unit) and start a looping trigger that checks if the worker is still alive and with the same task. If something happened re-assign the work. What's the best way of linking 2 units using data editing? I mean to check with triggers if the unit is still targeting another unit...

    Order of unit equal to follow or attack.

    I'll share my thoughts on how the AI should be handled later once I got things working. It ain't exactly easy to explain.

    Posted in: Project Workplace
  • 0

    posted a message on Dungeon Keeper (Proof of Concept)

    Bibendus, have you been working on AI concepts so far? I'd like to ask you for some suggestion on how to solve an issue related to imps changing tasks, after being dropped by you, to nearby tasks. Got some ideas?

    Anyhow, I've figured out I might as well remake the AI. If you need some help with it just ask.

    Posted in: Project Workplace
  • 0

    posted a message on Do map makers play their maps?

    I don't play my own maps. It's just not funny.

    Posted in: General Chat
  • 0

    posted a message on [Request]Dungeon Keeper resources
    Quote from Forge_User_20974461: Go

    Interesting idea. Not enough information though. Contact me on IRC and maybe we can arrange something as far as modelling and game/level design goes.

    I'll be at school today so could you mention some of the lacking information?

    Quote from Forge_User_20974461: Go

    Actually I was thinking to something more "zergish" for reinforced walls and conquered terrain, that would be awesome too :D Something like a wall with zerg creep or eggs on it would be awesome (alien style)

    I'm just not entirely sure if I am willing to change the theme too much away from creepy medieval dungeon. Anyhow, I was thinking about using some WoW resources for icons and units since Blizzard seem okay with the whole cross game resource deal.

    Posted in: Requests
  • 0

    posted a message on Dungeon Keeper (Proof of Concept)
    Quote from Forge_User_20974461: Go

    Yep but the problem is to associate these room variables to tiles, I think we should assign unique IDs to each room tile. It will be hard to update ids when rooms get splitted or joined but I suppose I can manage it :P

    I can see that becoming an issue. Or, whenever something happens to a room all tiles within will be recounted. If some tiles are missing and are not removed they'll be categorized as a second room. Will have to do some testing on that before I can settle on a specific method.

    Anyhow, I created a thread in the request resource section asking for some texture and models. Figured we would be needing some soon.

    http://forums.sc2mapster.com/development/artist-tavern/requests/12457-request-dungeon-keeper-resources/

    EDIT: How did you do the selection/deselection of dirt walls? I'll be posting my method tomorrow in the first post. Perhaps I can learn something from yours.

    Posted in: Project Workplace
  • 0

    posted a message on [Request]Dungeon Keeper resources

    Hi, I'm currently working on a dungeon keeper project as most of you already know but I lack substantial amount of resources to make the map look decent. If possible I'd really appreciate if anyone could help me and other Dungeon Keeper developers out there by creating some of these resources for us?

    Basically I'd like 5 types of cube shaped models with different textures. These would be:

    • Regular dirt wall (tall model)
    • Reinforced wall (tall model)
    • dirt wall with gold spots (tall model)
    • claimed floor (flat model)
    • dirt floor (flat model)

    If it isn't possible to have team-color for standalone actors, such as doodads like in WarCraft 3, then do not include team-color in your textures. This is to prevent having to make like 2* 4 players different models and textures.I'll just have to have a team-colored red dot doodad actor placed on top of the models to simulate the same effect. Would save lots of time.

    Thanks in advance and credit where its due!

    Concept art. It must not look entirely alike but keep the same tune. I want to avoid intellectual property infringement.

    Dirt Walls :

    Claimed floor

    Small worker standing on the flat dirt floor

    How the gold looks like :

    General overview

    Posted in: Requests
  • 0

    posted a message on Dungeon Keeper (Proof of Concept)
    Quote from Forge_User_20974461: Go

    That's a quite huge calculation and it must be done constantly by the AI, we should find an optimized way to do that.

    You're right. Isn't an option with such a huge resource demanding map.

    Quote from Forge_User_20974461: Go

    As I said we can check just the border room tiles (adjacent to walkable tiles) and make a comparsion with that. I think that the room size check should be done before you start calculating the distances.

    Well, we could seperate the room size checker into a seperate thread altogether which updates with new information on how big these rooms are (whenever changes are being made such as rooms destroyed and player is building) and store all available rooms in an variable[]. So whenever a creature needs to enter a room one could simply check all rooms in that variable[].

    Just brainstorming atm.

    Posted in: Project Workplace
  • 0

    posted a message on Dungeon Keeper (Proof of Concept)
    Quote from Forge_User_20974461: Go

    @redmarine: Go

    What's a spider system? lol However I was meaning that, depending on the position of a unit he should go to the nearest rooms he's interested in. For example the unit want's to eat, what's the nearest hatchery to it? U can't just check the distance from the middle of the room but you must do it with all room external tiles :|

    I think that we require a system that stores the amount of rooms with their type, location and size. That's required to choose what kind of monsters are attracted and what room variable must be edited when I modify the room shape.

    Let me know about how such a system works once you get one. It ain't exactly easy to make.

    I've spend all morning on trying to remake the map. Basically I updated the entire code base in order to address conflicts I would get later on during development such as having to make silly workarounds in order to incorporate building, and selling etc. Anyhow, it works more fluently now and will work with future changes.

    EDIT: Well, let's take the farm as an example. Basically you'd loop through all farm tiles and calculate their distance from the creature. Once you get the closest one simply check the size of the farm via that tile and if it isn't full already then allow the creature to come.

    Info on spider crawlers : http://en.wikipedia.org/wiki/Web_crawler

    Posted in: Project Workplace
  • 0

    posted a message on Dungeon Keeper (Proof of Concept)
    Quote from Forge_User_20974461: Go

    @redmarine: Go

    I dont like this solution :D Consider that trying to dig on a single square wall (4 faces) for example of gems it will allow worker to dig from diagonal positions too. I think i'll use 4 dummy invis units like minerals with max 3 workers a time, when the resources go down the wall is destroyed. I can share the resources between the 4 spots with triggers ;)

    Edit: Now I'm thinking to the detection of room sizes and keeping the AI informed on rooms position. That won't be easy :|

    A spider system would easily handle that. Just crawl through each tile connected to the room and give it a occupation value to only allow a certain number of creatures to be directed there at one time. How to check how large the rooms are I'm not sure.

    Posted in: Project Workplace
  • 0

    posted a message on Dungeon Keeper (Proof of Concept)
    Quote from Forge_User_20974461: Go

    I think I have the overall idea, however I'll try to work thinking to the whole engine and the small mechanics that can cause problems later when ignored. So I started writing down all variables i need to store and how to store them. I'm still trying to figure out how to limit the amount of workers to 3 for each wall face

    Edit: Maybe something that has to do with harvesting that limits the amount of workers on the same spot!

    Since workers will have to be able to dig from all angles you could simply make their colission big enough to only fit 3 on each sides which I decided to go with. Then again, sometimse they can be misplaced and only allow 2 guys at a time. Other than that it works nicely.

    Posted in: Project Workplace
  • 0

    posted a message on [Request] Need help with SC2 to YouTube
    Quote from s3rius: Go

    Converting into x264 will yield you the best size/quality ratio, but you'll probably have to intstall codecs first.

    Using VirtualDub is pretty much the easiest way:

    1) You open your .avi in VDub. 2) Make sure that Video -> Full Processing Mode is selected. 3) Click on Video -> Compression 4) Select ffdshow and click Configure. 5) Set the Encoder to MPEG-4 (or H264 if you have that) and hit OK twice. 6) Make sure that Audio -> Full Processing Mode is selected. 7) Click on Audio -> Compression 8.) Select any compression on the left side that makes something show up on the right side. 9) Click on the entry on the right side and hit OK. 10) Click on File -> Save as AVI 11) Eat a cookie.

    If you do not have the option ffdshow then you can get it from here: http://ffdshow.en.softonic.com/ It's a pack of video and audio codecs, very useful. Usually it's already installed (comes with VDub?).

    This method works perfectly. OP try this if you want great quality.

    Posted in: Off-Topic
  • To post a comment, please or register a new account.