This forum is in permanent archive mode. Our new active community can be found here.

Geeknights Coding Club: Project D.O.R.F.

179111213

Comments

  • edited June 2010
    I want to merge in my pathfinding and line-of-sight code into Project D.O.R.F. but I've never used git before. Are there any good GUI clients for git or should I stick with the command line?
    Post edited by DigitalGhost on
  • I want to merge in my pathfinding and line-of-sight code into Project D.O.R.F. but I've never used git before. Are there any good GUI clients for git or should I stick with the command line?
    You should stick with the command line. There are plenty of tutorials out there. I can also help you.
  • So, is Poject D.O.R.F alive? There have not been any new code since early May ( 1.56 months ago), so I was worried.

    ...On second thought the recent (again, early June, but at least this time it's 1 month further down the line) seem to deal with coding, so I guess all is not lost. I would still like someone competent informed to explain the state of the project. Eagerly awaiting your reply, a1s.
  • Yeah, it's alive-ish. I've just been working on other things. My non shit-talk queue is currently as follows

    1) Connecticon.
    2) Do something about show notes on frontrowcrew.com
    3) A project I have planned for too long must be made real.
    4) DORF.

    Basically my mistake on DORF was that I figured I could just start with a baseline and then people would self organize. I now realize I, or someone, needs to provide direction. Project DORF needs a Linus Torvalds. I guess it's me, unless someone else wants to do it. That means give it about a month and a half. I'll do a take 2.
  • Yeah, I definitely need direction. Granted, I think I could work out what needs to be done, but I can't be bothered with that level of effort compared to the effort of just writing code.
  • Yeah, I definitely need direction. Granted, I think I could work out what needs to be done, but I can't be bothered with that level of effort compared to the effort of just writing code.
    Then I think we will have good results when we restart since the effort for me is the opposite.
  • Yeah, I definitely need direction. Granted, I think I could work out what needs to be done, but I can't be bothered with that level of effort compared to the effort of just writing code.
    Then I think we will have good results when we restart since the effort for me is the opposite.
    We should have some form of organization other than forums posts and code commits.
  • We should have some form of organization other than forums posts and code commits.
    Yes, I will make.
  • edited June 2010
    1) Connecticon.
    2) Do something about show notes on frontrowcrew.com
    3) THE BARGE
    4) DORF.
    FTFY.
    Post edited by YoshoKatana on
  • edited June 2010
    We should have some form of organization other than forums posts and code commits.
    Yes, I will make.
    I think we should use some sort of whiteboard/mindmap format where people can contribute ideas and share opinions. It's a lot easier to put "Dwarves will carry a list of items" or "The pathfinding engine must be able to follow a moving target without recomputing the entire path" in a bubble on a chart or in a google doc than it is to code something like that up. This way if there are ideas in conflict or if we decide to throw out an old idea, we did not waste days coding it up.

    Something like Freemind is nice because it arranges the ideas in trees and lets you fold/unfold the tree to focus on a particular area. Unfortunately, it's not collaborative so the only way we as a team could use freemind is if it was part of the git repository and we forked the file (which is possible, the freemind save file is just XML).

    We could also use something like google docs which better supports collaboration but doesn't have the layout engine.
    Post edited by DigitalGhost on
  • What we should do is pick a list of, say, five broad topics of discussion related to the project. Maybe questions. Things like:

    1. What should the players have direct control over?
    2. How should Dorf motiviation/action be handled?
    3. How should the environment be handled?
    4. What should the player be doing in the game?
    etc...

    Then, schedule a Wave for each individual discussion. Archive the results. This will get everyone's ideas on the table collaboratively and quickly.

    This should be the next step, in my opinion, though I'm not sure as to exactly what the first five waves should ask.
  • edited June 2010
    As far as a basic design goal goes, I think "The player directs dwarfs to build a fortress and fend off inevitable downfall." sums it up pretty well.

    As for player interaction, Dungeon Keeper had it pretty much down. Have the player plan the fortress's desired outcome and the dwarfs will organise the rest. Keep micro to a minimum and try to have dwarfs make decisions that err more on the side of not getting the player annoyed than on having an intelligence that fit's their character.
    Post edited by Omnutia on
  • edited June 2010
    What we should do is pick a list of, say, five broad topics of discussion related to the project. Maybe questions. Things like:

    1. What should the players have direct control over?
    2. How should Dorf motiviation/action be handled?
    3. How should the environment be handled?
    4. What should the player be doing in the game?
    etc...

    Then, schedule a Wave for each individual discussion. Archive the results. This will get everyone's ideas on the table collaboratively and quickly.

    This should be the next step, in my opinion, though I'm not sure as to exactly what the first five waves should ask.
    I think that the questions you have listed would be a good start. I would maybe change #1 to be more broad:

    1. What actions can the player take and how does he/she take them?

    This would include a GUI with pulldown menus, sliders, etc.

    The best question from the list IMHO is #2. This gets at the thing I dislike about the current dwarf fortress the most: the lack of a planning algorithm. You should be able to say "I want an iron battle axe" and a planning algorithm decompose that command into "make charcoal 4x then smelt iron 2x then forge an iron battle axe".

    You could start with a Wave of those four and see what unfolds.
    Post edited by DigitalGhost on
  • Maybe we should have a wave to determine what waves we'll make.
  • edited June 2010
    Maybe we should have an index wave.
    image
    Post edited by Omnutia on
  • ......
    edited June 2010
    1. What should the players have direct control over?
    Management of the fortress of course, like in DF.
    2. How should Dorf motiviation/action be handled?
    Full on. Emergent behaviour is the main attraction towards the original game.
    4. What should the player be doing in the game?
    Isn't this just point one rephrased? Manage the fortress.

    EDIT:
    You should be able to say "I want an iron battle axe" and a planning algorithm decompose that command into "make charcoal 4x then smelt iron 2x then forge an iron battle axe".
    This sounds very good indeed, but the intermediate steps should remain possible, as to allow for the making of stocks. Currently in DF you have to queue up the separate tasks and ignore the cancellation spam.
    Post edited by ... on
  • This sounds very good indeed, but the intermediate steps should remain possible, as to allow for the making of stocks. Currently in DF you have to queue up the separate tasks and ignore the cancellation spam.
    If you have the planning part, you wouldn't even need to assign tasks at the workshop, you could just say "I want to always have 10 axes and 20 charcoal" and it will continue to keep the stocks up to date.
  • If you have the planning part, you wouldn't even need to assign tasks at the workshop, you could just say "I want to always have 10 axes and 20 charcoal" and it will continue to keep the stocks up to date.
    But how far down the chain will it go? For example:

    Let's say I want to have an axe. I have no metal. I have no tools. I have no fire or fuel. No wood. No workshop. I have no dwarf with the necessary skills. If I put in an order to have an axe made, should that automatically create the prerequisite jobs? Also, designing the fortress is a big part of the game. Since a preqrequisite includes a structure you do not have built, you really can't automate that part.

    I think if you go down this road too far, the game stops being Dwarf Fortress and becomes Dwarf Spreadsheet. It's a careful balance.
  • edited June 2010
    One way to do it is that the player has to intervene when he wants something to come into existence. You have to say, "Workshop here." and if you ask for tools it will tell you that you need to build a workshop. Standard RTS style.

    A choice will need to be made between requiring you to have the requisite resources in existence or simply having the means to create said resources.

    The balance will be between ease of use and how much doing something far up the chain is going to disrupt things.

    Odd thing I just realized about the original DF: Butcher's workshops produce miasma if not cleaned or ventilated, but forges are completely smoke free.
    Post edited by Omnutia on
  • ......
    edited June 2010
    But how far down the chain will it go? For example:
    Probably best to keep it at raw materials. Order the creation of an axe requiring a metal m, metal m requires resource c and o, resource c requires resource w. If these resources aren't available throw an error saying that resource stockpiles need to be made. Worker and tool requirements should be separate since those are more than just resources, being actuators and end-products.
    you could just say "I want to always have 10 axes and 20 charcoal" and it will continue to keep the stocks up to date.
    Not really a fan of this. Rather it should be very easy to check upon raw resources. DF has its stocks screen but that keeps track of everything which just results in clutter. It should be easy like checking food and booze stocks. Separating the stocks screen into resources and other would go a long way.
    Odd thing I just realized about the original DF: Butcher's workshops produce miasma if not cleaned or ventilated, but forges are completely smoke free.
    Smoke is perfume to a dorf's nose, any particles in it will be filtered out by their beards. Miasma smells bad.
    Post edited by ... on
  • Ninja'd
    There’s a lot of speculation about what my aims are exactly with Goblin Camp, so I’ll try and explain things here.

    I’ve played roguelikes for a long time, and as a kid I used to draw cities using ASCII back when PC’s still used DOS. In addition to roguelikes, I’ve always been a fan of the Civilization series, Dungeon Keeper and more recently Anno 1404. When Dwarf Fortress came along I was really excited, it seemed to combine the genres that I’ve always liked. I was content with DF for a long time, but then I got to thinking of all the things I’d like to see done with the genre (genre being roguelike citybuilder, I suppose. Who cares what its called). So I had 3 choices:

    * Send Toady my suggestions and hope he does things the way I’d like
    * Hope someone else makes a game just the way I’d like
    * Do it myself

    I’m a bit impatient, so the obvious choice was to do it myself, so here I am.

    I want to stress that I’m not setting out to make a Dwarf Fortress clone, it wouldn’t make much sense really. I’m making a game that is inspired by Dwarf Fortress, and there will be certain similarities. Using similar indicators for things like stockpiles and creatures and such that are used in DF, Nethack and so forth is a conscious design choice to make getting into the game easy for people already familiar with DF, or roguelikes in general.

    Goblin Camp is going to be more about the broader decisions, and less about micromanagement. You’ll steer your economy by setting minimum production values, and organizing your workshops and stockpiles to ensure efficient hauling. What you won’t care about are who the individual workers are, or who’s assigned to what workshop. Orcs will gain skill in their chosen profession, but assigning jobs to the best workers is left to the game. You the player will want to organize your defences and military in such a way as to keep your working class alive, because the longer they work the better they get. Constant bloodbaths at your workshops will mean that you’ll always have unskilled labor.

    This leads to an important point, orcs and goblins (especially goblins) are expendable. An ordinary orcs life is short and brutal, only a select few will survive long enough to become notable individuals.

    I’ll expand on all that later, I don’t want this post to stretch too long. As a parting point I want to bring up another big factor in the development of Goblin Camp: Feedback. I want to hear all your suggestions, ideas and critique. I’m not making Goblin Camp just for myself, but for everyone else as well, and as such everyone’s comments are important. Also, Goblin Camp will be open sourced after the 0.1 release, and contributions to the code are encouraged.
  • Want me to send him an email to see if he's interested in joining forces?
  • edited June 2010
    But how far down the chain will it go? For example:

    Let's say I want to have an axe. I have no metal. I have no tools. I have no fire or fuel. No wood. No workshop. I have no dwarf with the necessary skills. If I put in an order to have an axe made, should that automatically create the prerequisite jobs? Also, designing the fortress is a big part of the game. Since a preqrequisite includes a structure you do not have built, you really can't automate that part.

    I think if you go down this road too far, the game stops being Dwarf Fortress and becomes Dwarf Spreadsheet. It's a careful balance.
    I think it should only go so far as to consolidate the workshop menus into a single global menu. You still need to assign dwarves to jobs, build workshops, dig the cave, etc. If you have a request that cannot be satisfied because you are missing a fundamental resource like wood, rocks, gems, etc. then that should still be your responsibility. The system could alert you that a job cannot be satisfied, but just suspend the job until you meet the requirements, unlike the current implementation which deletes your jobs that cannot be fulfilled.
    Post edited by DigitalGhost on
  • Ok, I'm going to get some balls rolling soon. Look out.
  • I go through all the trouble of setting up an entirely separate forum, and nobody has joined yet ;(
  • I go through all the trouble of setting up an entirely separate forum, and nobody has joined yet ;(
    Could you provide some starting content? Even extrapolating on Rym's 4 questions and making articles out of them in the wiki would give the rest of us a launchpad for more discussion.
  • Goblin camp 0.1 has been released, and is open source.
Sign In or Register to comment.