Announcement

Collapse
No announcement yet.

How come there are no good detective games?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #46
    221B Baker Street was made into a computer game. A fairly old one, at that. You can find it at the site that shall not be named.

    I seem to remember some old detective games that were pretty engrossing, though I can't think of the names of them. One had several mysteries, and you went to various locations around a town finding clues and piecing it all together.

    The problem was the limited replay value. Once you solve a mystery, it's done. So Matt's idea for a randomly generated one would be awesome. I would certainly check it out.

    Then you have those ones which relied on questioning witnesses a certain way to unlock the right path. Murder in the First is a prime example. The problem was you could just practice hit-and-miss questioning until you got it right.

    Anyone actually played the Law & Order games?
    Tutto nel mondo è burla

    Comment


    • #47
      Originally posted by Sava
      seriously... being a detective might be fun to watch on TV, like Law and Order , but it would be boring and monotanous for a game.
      I'll be sure to tell the detectives I know that they should find their job boring and "monotanous."

      Is there any BAM you won't make?
      Tutto nel mondo è burla

      Comment


      • #48
        Originally posted by Boris Godunov
        Anyone actually played the Law & Order games?
        They suck according to reviews. The CSI games too.
        I make no bones about my moral support for [terrorist] organizations. - chegitz guevara
        For those who aspire to live in a high cost, high tax, big government place, our nation and the world offers plenty of options. Vermont, Canada and Venezuela all offer you the opportunity to live in the socialist, big government paradise you long for. –Senator Rubio

        Comment


        • #49
          I played a Demo for the second L&O game, it wasn't too bad. Gamespot gave it a 7.6, which is decent.
          Tutto nel mondo è burla

          Comment


          • #50
            PC Gamer trashed the first one so I haven't bothered looking for info on the second. If they improved, I might check it out.
            I make no bones about my moral support for [terrorist] organizations. - chegitz guevara
            For those who aspire to live in a high cost, high tax, big government place, our nation and the world offers plenty of options. Vermont, Canada and Venezuela all offer you the opportunity to live in the socialist, big government paradise you long for. –Senator Rubio

            Comment


            • #51
              Originally posted by Boris Godunov
              221B Baker Street was made into a computer game. A fairly old one, at that.
              Ah, yes, I actually remember that one. The thing about it though was that it was a rather close "port" of the board game, and so it was only mostly fun to play with several people. If you played alone, the whole "Press key to roll" thing that limited the number of your moves untill you next rolled was quite annoying. It's a cool resource of starting material though.


              I seem to remember some old detective games that were pretty engrossing, though I can't think of the names of them. One had several mysteries, and you went to various locations around a town finding clues and piecing it all together.


              Yeah, I looked around mobygames for old detective games to check out, and found this one called "Deaths by the Dozen" or some such. Basically, you have 12 murder cases to solve and you go around the different locations in town, talking to people, and searching locations for clues. Thing is, it again comes down to being fun when played in "multiplayer" mode - since there is no challenge in getting the clues themselves, but rather - only in trying to piece the murder together from as few as possible in order to beat the other players to the solution.


              The problem was the limited replay value. Once you solve a mystery, it's done. So Matt's idea for a randomly generated one would be awesome.


              Precisely.
              XBox Live: VovanSim
              xbox.com (login required)
              Halo 3 Service Record (I fail at FPS...)
              Spore page

              Comment


              • #52
                Originally posted by MattH
                I'm reading up on Lua now, looks interesting. Just wonder if I can wrap it around my brain, let alone my programs.
                Hehe. The whole "a function can return multiple values" thing had my jaw on the floor for a while.
                XBox Live: VovanSim
                xbox.com (login required)
                Halo 3 Service Record (I fail at FPS...)
                Spore page

                Comment


                • #53
                  Okay, I've started working on a prototype in python. Maybe I'll be able to get somewhere...
                  cIV list: cheats
                  Now watch this drive!

                  Comment


                  • #54
                    Originally posted by vovan
                    Hehe. The whole "a function can return multiple values" thing had my jaw on the floor for a while.
                    Eminently sensible. There's a distinct benefit in being able to keep parameters static and only return values. More languages should do it.
                    [ok]

                    "I used to eat a lot of natural foods until I learned that most people die of natural causes. "

                    Comment


                    • #55
                      An update:
                      It's slow going for me on this project for several reasons. One is a lot of the beginning is just arrays and lists and lists and lists of possible factors. It's difficult to keep limited for a 'proof of concept'. Along the same lines, it's hard to even make one crime "fork" (i.e. burgulary without assault/murder) because of the number of possible twists that have to be recconed with individually. Hopefully I'll have something basic to show soon (tomorrow? Friday?).
                      cIV list: cheats
                      Now watch this drive!

                      Comment


                      • #56
                        Originally posted by MattH
                        It's difficult to keep limited for a 'proof of concept'.
                        Indeed.

                        Originally posted by MattH
                        Along the same lines, it's hard to even make one crime "fork" (i.e. burgulary without assault/murder) because of the number of possible twists that have to be recconed with individually.
                        Well now, I spent a bit of time thinking about how I would start with such a project, and here's what I came up with.

                        First of all, I think that for this to be successful, one needs a strong information-sharing system. Basically, my idea was that every NPC would have a memoery of their own, represented by a semantic tree. At the root of it would be the most generic, almost useless information, and as you go deeper, more and more details are contained, so in the end the leaves have the most specific info - the one you are after. Basically, the "memory" of a witness of the crime right after the occurrence would look something like this:

                        Code:
                                           Saw Burglary
                                   /            |          \
                            [Participants]  [Location] [Environment]
                               /    \           |            \
                        Saw Victim Saw Burglar ...           ...
                            |          |
                          Victim    Burglar
                           was        was   _____________
                          female      male      \        +-Was unshaven
                            |          |         \
                         She had   Had a scar  Had dark hair
                        long hair      |
                                   Scar was on
                                   left cheek
                        Now, the deeper down the tree you go, the more details you discover right? So, my idea was that each NPC's memory would slowly decay. And the deeper into the tree you go, the larger the decay rate. After the function reaches a certain threshold, the piece of information is forgotten. So, basically, as time goes on, the NPCs start forgetting stuff. Back to the witness from the above example. If you ask her about what she saw the day after the event, she might tell you the exact looks of the burglar. A week from then, on the other hand, she might only remember that he had a scar on his face, but forget the exact location, or even that the man was not cleanly shaven. Thus, you would have to be fast about getting information from the witnesses, though inevitably something will be lost from your sight - there are only so many people you can interrogate in the given time, so by the time you get to others, they will have forgotten some stuff.

                        Alright, so my thinking was that I would start with this knowledge representation system. Then, once that works, the first thing I would do is try to simulate the crime. I'd start simple: just one type of crime, say theft. I'd then generate, say 10 NPCs. Each would have, say 3 characteristics. Let's say I chose: gender, race, and length of har - them being the most conspicuous characteristics of a person. So, then, I'd randomly give these attributes to the NPCs. Next, I'd pick two NPCs - the victim and the burglar, and five witnesses. To two of those witnesses I would give full and correct memory of the crime; to two of them, I'd give the memory of two of the characteristics of the burglar correctly and one made up; and the last witness would only remember one characteristic of the burglar correctly, and the other two - incorrectly. Finally, I'd put the player in and say: find the burglar in 10 turns. (The victim is assumed to have been hit over the head with something heavy and thus does not remember anything.)

                        Okay, example time. Say I have the following possible characteristics:

                        Gender: {male, female}
                        Race: {Black, White, Asian}
                        Hair Length: {Bald, Short, Long}

                        Then, I could generate the following ten characters:

                        1. male, black, long
                        2. female, white, bald
                        3. male, asian, short
                        4. female, black, long
                        5. male, white, short
                        6. female, asian, long
                        7. male, black, short
                        8. female, white, long
                        9. male, asian, bald
                        10. female, white, short

                        Now, pick two of them. Say, I pick the first two: the black man with long hair has stolen something from the white female with a shaven head.

                        Now, say I pick the next five people to be the witnesses. Then, two of them remember all three characteristics of the burglar correctly. Next two: one of them may only remember that the burglar was a male with long hair, but happens to think he was white; the other person may remember the person was black and had dark hair, but happens to think it was a female. The final witness knows the person had long hair, but thinks it was an asian female! ( ) The remaining three people just heard the screams, and can't really say anything useful about the burgar.

                        Okay, now the player's taks is to pin-point the burglar within 10 turns. This is tricky because:

                        a. Interrogating four of the available NPCs doesn't yield any information (victim was unconscious for the most part, and the three witnesses only heard stuff), but still counts against your turns.

                        b. The real burglar will lie.

                        c. Some witnesses don't have full information but want to seem important, so they still give you all three characteristics of the burglar to the best of their knowledge, without conceding the fact memory may not be serving them right.

                        d. The witnesses that do know everything correctly, may forget stuff by the time you get to them.

                        This system would be fairly easy to code, but if you make it extensible, it would then be also easy to build upon and add further details to the crime you generate - additional details of appearance of the burglar, more varying types of crimes, etc.



                        Originally posted by MattH
                        Hopefully I'll have something basic to show soon (tomorrow? Friday?).
                        How's it coming along then?
                        XBox Live: VovanSim
                        xbox.com (login required)
                        Halo 3 Service Record (I fail at FPS...)
                        Spore page

                        Comment


                        • #57
                          DAMMIT stupid enter key. Wait a sec, I'm finishing typing this.

                          I really need to cut down on the variables. When I started I got very carried away... But there are some things you need (more on this later blah blah blah)

                          My concept map right now is this. In order of decisions made by the game, choices that will eventually be made by the player are marked (p), random decisions are marked (r) and 'educated' decisions are marked (e), decisions fixed by previous decisions marked (f). Most items are generated using the previous item as a base:
                          Code:
                          - Type of crime (murder, robbery, etc.) (p)
                          - Criminal  [
                          ----sex (r)            } 
                          ----name (e)           } These 4 are standard for all characters-
                          ----age (r)            } 
                          ----misc. personal     } Lumps intel, etc.
                          ----profession (r) } Alot is lumped into profession: salary, position, years on the job, etc.
                          ----disposition (r)
                          ----relationship - victim (e)
                          ----personal relationship - victim (e)
                          ----relationship - victim (r)
                          ----personal relationship - victim (r)
                          ]
                          
                          - Victim [
                          ... boilerplate personal stuff
                          ----disposition (r)
                          ----relationship - victim (e)
                          ----personal relationship - victim (e)
                          ----relationship - npc 1..x (r)
                          ----personal relationship - npc1..x (r)
                          ]
                          
                          - NPC 1..x [
                          ----boilerplate
                          ----relationship - victim (e)
                          ----personal relationship - victim (e)
                          ----relationship - npc 1..x (r)
                          ----personal relationship - npc1..x (r)
                          ]
                          
                          - Motive (e, based on disposition, job/martial status, inteligence, etc.)
                          - Weapon used (e, based on disposition, motive)
                          ----weapon evidence (e)
                          - Evidence } Big category, will cover soon.  Will include turn length randomness for processing (based on type of crime!), etc etc.
                          That's a little snippit of how my thinking is going. I'm going to have to write a turn incrementer for every time the detective does things.

                          I got my new hard drive this week, so everything had to be moved over. I hope to get a good portion of the boring work done tomorrow at work, nothing interesting going on there...
                          Last edited by MattH; April 18, 2004, 22:42.
                          cIV list: cheats
                          Now watch this drive!

                          Comment


                          • #58
                            That list doesn't have your memory mechanisim in it yet, it will.

                            I didn't really want a pressure-pressure-pressure time limit to solve the case, but the will be a max cap and if the crimes become to easy, a low turn limit too. But think about it, real detectives spend months clearing big cases, and most burglaries are solved quickly. Anyways, it all depends on the dificulty.

                            Anyways, I'm off to watch a poirot episode
                            cIV list: cheats
                            Now watch this drive!

                            Comment


                            • #59
                              Bumpty bump...

                              How's it coming along, Matt?
                              XBox Live: VovanSim
                              xbox.com (login required)
                              Halo 3 Service Record (I fail at FPS...)
                              Spore page

                              Comment


                              • #60
                                Originally posted by vovan
                                Now, you are saying you would use a genetic algorythm kind of thing to generate a full crime? I am not sure really that a genetic algorythm would apply here... I mean, you have a crime after one generation of the algorythm, but then how would you determine the fitness of the genotypes to bring to the next generation? I imaging it would be hard to analyze the "difficulty" of the crime programmatically... And then, what would be the other criteria?
                                As I understand it, you (as the author) define a set of criteria to judge the generation algorithm, and the various "crime cases" compete against each other for survival based on these rules. The closer they are to them, the "fitter" they are judged to be. Then the surviving cases get tossed back into the generator, which looks at them, mutate a variable here or there, and create a new batch.

                                A run of the mill heuristic algorithm should work too. You (the author) looks at each case, and tells the generator which area(s) need(s) improvement.
                                (\__/) 07/07/1937 - Never forget
                                (='.'=) "Claims demand evidence; extraordinary claims demand extraordinary evidence." -- Carl Sagan
                                (")_(") "Starting the fire from within."

                                Comment

                                Working...
                                X