{"format":"murdoku-puzzle/1","id":"photostudio","version":1,"difficulty":"very-easy","level":1,"size":{"rows":5,"cols":5},"languages":["en","hu","de","fr","es","it","nl","pl","pt","ro","ca","cs","fi","vi","tr","el","ru","uk","ar","ko","ja","zh-Hans","zh-Hant"],"defaultLanguage":"en","title":"Das Fotoatelier","tagline":"Ein Porträtatelier in Wien · ein regnerischer Aprilmorgen im Jahr 1924 · die Lampen wärmten sich auf","author":"mathace","concept":"Murdoku – Manuel Garand (murdoku.com); unofficial fan-made case","created":"2026-09-29","story":"Wien, ein regnerischer Morgen im April 1924. Im Porträtatelier in der Kärntner Straße stand die große Holzkamera bereit, die Studiolampe wärmte sich auf, und die Visagistin legte ihre Puder zurecht. Valeska, die Operettendiva der Saison, war gekommen, um ihre Porträts abzuholen – und um anzukündigen, dass sie das Atelier wegen der Retusche verklagen werde, die sie zehn Jahre älter aussehen ließ. Wenige Minuten später wurde sie tot im Empfangsraum gefunden, neben dem Stuhl. Vier Personen waren im Atelier, und jede gab eine kurze Aussage ab – finde heraus, wer allein mit ihr war.","rules":{"standard":["In jeder <b>Zeile</b> und jeder <b>Spalte</b> ist genau <b>eine Person</b>. Sobald du jemanden platziert hast, streiche die ganze Zeile und Spalte.","<b>„Neben“</b> = direkt links, rechts, darüber oder darunter, und <b>im selben Bereich</b>. Felder mit Gegenständen (die Kamera, die Studiolampe, der Schreibtisch, der Frisiertisch und der Kleiderschrank) können nicht besetzt werden; der Stuhl, der Hocker, das Sofa und der Sessel schon.","Der Mörder war <b>allein mit dem Opfer</b>: Niemand sonst war in diesem Bereich."],"special":[]},"roleNames":{"customer":"Kunde","staff":"Personal","victim":"Opfer"},"personGroups":[{"id":"customers","name":"Kunden","persons":["A","B","V"]},{"id":"staff","name":"Das Personal des Ateliers","persons":["C","D"]}],"map":{"groups":[],"gaps":[],"areas":[{"id":"Reception","cells":[[1,1],[1,2],[2,1],[2,2],[2,3],[3,2]],"fill":"#efe4d4","pattern":"carpet","labelAt":[2,2],"name":"Empfangsraum"},{"id":"Studio","cells":[[1,3],[1,4],[1,5],[2,4],[2,5],[3,3],[3,4],[3,5],[4,3],[4,4],[5,3]],"fill":"#e6e6ea","pattern":"boards","labelAt":[2,4],"name":"Atelier"},{"id":"Dressing Room","cells":[[3,1],[4,1],[4,2],[5,1],[5,2]],"fill":"#f3dde3","pattern":"carpet","labelAt":[5,2],"name":"Garderobe"},{"id":"Waiting Corner","cells":[[4,5],[5,4],[5,5]],"fill":"#e8dccb","pattern":"planks","labelAt":[4,5],"name":"Warteecke"}],"objectTypes":{"armchair":{"occupiable":true,"name":"Sessel","icon":"<rect x=\"6\" y=\"14\" width=\"34\" height=\"24\" rx=\"6\" fill=\"#b3252f\" stroke=\"#6b1218\" stroke-width=\"1.5\"/><rect x=\"11\" y=\"8\" width=\"24\" height=\"14\" rx=\"5\" fill=\"#d0333f\" stroke=\"#6b1218\" stroke-width=\"1.5\"/><rect x=\"6\" y=\"20\" width=\"7\" height=\"14\" rx=\"3\" fill=\"#8a1a22\"/><rect x=\"33\" y=\"20\" width=\"7\" height=\"14\" rx=\"3\" fill=\"#8a1a22\"/>"},"chair":{"occupiable":true,"name":"Stuhl","icon":"<rect x=\"9\" y=\"7\" width=\"28\" height=\"32\" rx=\"6\" fill=\"#fbfaf6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><rect x=\"9\" y=\"7\" width=\"28\" height=\"9\" rx=\"4\" fill=\"#d9d5cc\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/>"},"sofa":{"occupiable":true,"name":"Sofa","icon":"<rect x=\"3\" y=\"14\" width=\"40\" height=\"20\" rx=\"6\" fill=\"#7a5a9a\" stroke=\"#4a3560\" stroke-width=\"1.5\"/><rect x=\"7\" y=\"9\" width=\"32\" height=\"10\" rx=\"4\" fill=\"#9a7abd\" stroke=\"#4a3560\" stroke-width=\"1.5\"/><line x1=\"8\" y1=\"34\" x2=\"8\" y2=\"39\" stroke=\"#4a3560\" stroke-width=\"2\"/><line x1=\"38\" y1=\"34\" x2=\"38\" y2=\"39\" stroke=\"#4a3560\" stroke-width=\"2\"/>"},"stool":{"occupiable":true,"name":"Hocker","icon":"<circle cx=\"23\" cy=\"23\" r=\"11\" fill=\"#fbfaf6\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><circle cx=\"23\" cy=\"23\" r=\"5\" fill=\"#d9d5cc\"/>"},"camera":{"occupiable":false,"name":"Kamera","icon":"<rect x=\"6\" y=\"14\" width=\"26\" height=\"18\" rx=\"3\" fill=\"#2b2f33\" stroke=\"#0b0e12\" stroke-width=\"1.5\"/><path d=\"M32 19 l9 -5 v18 l-9 -5 z\" fill=\"#2b2f33\" stroke=\"#0b0e12\" stroke-width=\"1.5\"/><circle cx=\"15\" cy=\"23\" r=\"5\" fill=\"#5b6b76\" stroke=\"#c9d6dd\" stroke-width=\"1.2\"/><circle cx=\"26\" cy=\"18\" r=\"1.6\" fill=\"#e0362e\"/><rect x=\"17\" y=\"32\" width=\"4\" height=\"9\" fill=\"#5b6b76\"/><path d=\"M10 42 l9 -4 l9 4\" fill=\"none\" stroke=\"#5b6b76\" stroke-width=\"2.5\"/>"},"desk":{"occupiable":false,"name":"Schreibtisch","icon":"<rect x=\"5\" y=\"12\" width=\"36\" height=\"22\" rx=\"3\" fill=\"#8f6a44\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><rect x=\"9\" y=\"16\" width=\"14\" height=\"10\" fill=\"#f4efe6\" stroke=\"#8c8a82\"/><rect x=\"27\" y=\"17\" width=\"10\" height=\"4\" fill=\"#3d444b\"/>"},"dressing_table":{"occupiable":false,"name":"Frisiertisch","icon":"<rect x=\"6\" y=\"24\" width=\"34\" height=\"16\" rx=\"3\" fill=\"#b98a5a\" stroke=\"#6e4d2c\" stroke-width=\"1.5\"/><circle cx=\"23\" cy=\"13\" r=\"10\" fill=\"#dfe9ee\" stroke=\"#8c8a82\" stroke-width=\"1.5\"/><circle cx=\"23\" cy=\"13\" r=\"6\" fill=\"#f4f9fb\"/><rect x=\"10\" y=\"28\" width=\"8\" height=\"4\" fill=\"#e6cfa8\"/><rect x=\"28\" y=\"28\" width=\"8\" height=\"4\" fill=\"#e6cfa8\"/>"},"spotlight":{"occupiable":false,"name":"Studiolampe","icon":"<path d=\"M23 27 L13 44 M23 27 L33 44 M23 27 V44\" stroke=\"#2b2b2b\" stroke-width=\"2\" stroke-linecap=\"round\"/><path d=\"M27 12 L45 3 V25 Z\" fill=\"#f7e7a8\" opacity=\".55\"/><g transform=\"rotate(-25 21 18)\"><rect x=\"12\" y=\"12\" width=\"17\" height=\"12\" rx=\"3\" fill=\"#2f3338\" stroke=\"#111\" stroke-width=\"1.2\"/><rect x=\"28\" y=\"11\" width=\"3\" height=\"14\" rx=\"1\" fill=\"#555\"/><rect x=\"14\" y=\"9.5\" width=\"6\" height=\"2.5\" rx=\"1\" fill=\"#555\"/></g><circle cx=\"23\" cy=\"26\" r=\"2.2\" fill=\"#555\"/>"},"wardrobe":{"occupiable":false,"name":"Kleiderschrank","icon":"<rect x=\"8\" y=\"3\" width=\"30\" height=\"40\" rx=\"2\" fill=\"#8f6a44\" stroke=\"#5e4127\" stroke-width=\"1.5\"/><line x1=\"23\" y1=\"3\" x2=\"23\" y2=\"43\" stroke=\"#5e4127\"/><circle cx=\"19\" cy=\"24\" r=\"1.6\" fill=\"#e6cfa8\"/><circle cx=\"27\" cy=\"24\" r=\"1.6\" fill=\"#e6cfa8\"/>"}},"wallTypes":{},"objects":[{"cell":[1,2],"type":"chair"},{"cell":[1,3],"type":"camera"},{"cell":[1,5],"type":"spotlight"},{"cell":[2,1],"type":"desk"},{"cell":[3,4],"type":"stool"},{"cell":[4,1],"type":"dressing_table"},{"cell":[4,3],"type":"sofa"},{"cell":[5,1],"type":"wardrobe"},{"cell":[5,5],"type":"armchair"}],"wallFeatures":[],"extras":[],"cellSize":46},"persons":[{"id":"A","name":"Adalbert","gender":"M","role":"customer","color":"#c62828","avatar":{"bg":"#2f4858","skin":"#e4b998","hair":"#e8e4dc","style":"short","shirt":"#264653","mustache":true,"mustacheColor":"#e8e4dc"},"clue":"Er war in der <b>Warteecke</b>.","job":"ein pensionierter Oberst, der auf sein Passfoto wartete","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Adalbert\"><rect width=\"80\" height=\"80\" fill=\"#2f4858\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#264653\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#e4b998\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#e4b998\"/><path d=\"M26 32 Q26 15 40 15 Q54 15 54 32 Q50 24 40 24 Q30 24 26 32 Z\" fill=\"#e8e4dc\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><path d=\"M33 41 Q40 37 47 41 Q40 43 33 41 Z\" fill=\"#e8e4dc\"/></svg>","solverRole":"customer","constraints":[{"type":"area","areas":["Waiting Corner"]}]},{"id":"B","name":"Blanka","gender":"F","role":"customer","color":"#2e7d32","avatar":{"bg":"#ad1457","skin":"#f6d8c0","hair":"#d9b464","style":"long","shirt":"#f4efe6","necklace":true},"clue":"Sie saß auf dem <b>Hocker</b>.","job":"eine Braut in spe, die für ihr Verlobungsporträt Modell saß","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Blanka\"><rect width=\"80\" height=\"80\" fill=\"#ad1457\"/><path d=\"M22 42 Q20 14 40 14 Q60 14 58 42 L62 72 L18 72 Z\" fill=\"#d9b464\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#f4efe6\"/><path d=\"M31 58 Q40 66 49 58\" fill=\"none\" stroke=\"#f3e2b3\" stroke-width=\"2\" stroke-dasharray=\"2 2\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f6d8c0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f6d8c0\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#d9b464\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/></svg>","solverRole":"customer","constraints":[{"type":"on","obj":"stool"}]},{"id":"C","name":"Cyprienne","gender":"F","role":"staff","color":"#1565c0","avatar":{"bg":"#6a1b9a","skin":"#f0cdb0","hair":"#1c1a1a","style":"bob","shirt":"#b83a5a","earrings":true},"clue":"Sie war neben dem <b>Frisiertisch</b>.","job":"die Visagistin","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Cyprienne\"><rect width=\"80\" height=\"80\" fill=\"#6a1b9a\"/><path d=\"M22 40 Q22 14 40 14 Q58 14 58 40 L58 58 L22 58 Z\" fill=\"#1c1a1a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#b83a5a\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f0cdb0\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f0cdb0\"/><path d=\"M26 36 Q26 16 40 16 Q54 16 54 36 Q52 24 40 24 Q28 24 26 36 Z\" fill=\"#1c1a1a\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><circle cx=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/></svg>","solverRole":"staff","constraints":[{"type":"beside","obj":"dressing_table"}]},{"id":"D","name":"Dieter","gender":"M","role":"staff","color":"#6a1b9a","avatar":{"bg":"#1565c0","skin":"#f1c8a5","hair":"#7a4a2a","style":"slick","shirt":"#1b1b1b","beard":true,"glasses":true},"clue":"Er war <b>nicht</b> neben dem <b>Stuhl</b>.","job":"der Fotograf, dem das Atelier gehörte","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Dieter\"><rect width=\"80\" height=\"80\" fill=\"#1565c0\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#1b1b1b\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f1c8a5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f1c8a5\"/><path d=\"M26 30 Q27 16 44 15 Q56 15 55 26 Q48 22 40 23 Q30 24 26 30 Z\" fill=\"#7a4a2a\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><circle cx=\"34\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><circle cx=\"46\" cy=\"35\" r=\"5\" fill=\"none\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><line x1=\"39\" y1=\"35\" x2=\"41\" y2=\"35\" stroke=\"#2b2b2b\" stroke-width=\"1.4\"/><path d=\"M27 38 Q30 52 40 53 Q50 52 53 38 Q50 47 40 48 Q30 47 27 38 Z\" fill=\"#7a4a2a\"/></svg>","solverRole":"staff","constraints":[{"type":"not_beside","obj":"chair"}]},{"id":"V","name":"Valeska","gender":"F","role":"victim","color":"#1b1b1b","avatar":{"bg":"#5a2a2a","skin":"#f3d3b5","hair":"#b7482c","style":"curly","shirt":"#7a1b3a","necklace":true,"earrings":true},"clue":"<b>Das Opfer.</b> Sie wurde im <b>Empfangsraum</b> gefunden, neben dem <b>Stuhl</b> – allein mit dem Mörder.","job":"eine Operettendiva, die ihre Porträts abholen wollte","avatarSvg":"<svg viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\" aria-label=\"Valeska\"><rect width=\"80\" height=\"80\" fill=\"#5a2a2a\"/><path d=\"M10 80 Q12 56 40 54 Q68 56 70 80 Z\" fill=\"#7a1b3a\"/><path d=\"M31 58 Q40 66 49 58\" fill=\"none\" stroke=\"#f3e2b3\" stroke-width=\"2\" stroke-dasharray=\"2 2\"/><rect x=\"34\" y=\"44\" width=\"12\" height=\"13\" fill=\"#f3d3b5\"/><ellipse cx=\"40\" cy=\"34\" rx=\"14\" ry=\"16\" fill=\"#f3d3b5\"/><path d=\"M25 34 q-3 -8 4 -10 q0 -8 8 -7 q3 -4 8 -1 q6 -3 9 3 q7 0 5 8 q4 4 -1 9 q-6 -14 -16 -12 q-9 -1 -17 10 Z\" fill=\"#b7482c\"/><circle cx=\"34\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><circle cx=\"46\" cy=\"35\" r=\"1.6\" fill=\"#2b2b2b\"/><path d=\"M36 43 Q40 46 44 43\" fill=\"none\" stroke=\"#a5735a\" stroke-width=\"1.4\"/><circle cx=\"26\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><circle cx=\"54\" cy=\"41\" r=\"1.8\" fill=\"#f0c95a\"/><path d=\"M12 12 L68 68 M68 12 L12 68\" stroke=\"#e0362e\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\".9\"/></svg>","solverRole":"customer","constraints":[{"type":"area","areas":["Reception"]},{"type":"beside","obj":"chair"}]}],"victim":"V","murderer":"D","solution":{"V":[1,1],"D":[2,3],"B":[3,4],"C":[4,2],"A":[5,5]},"walkthrough":[{"place":["B"],"cand":{"A":[[4,5],[5,5]],"C":[[4,2]]},"text":"Blanka saß auf dem Hocker, und es gibt nur einen Hocker, auf R3C4. <b>Blanka ist auf R3C4</b>: Streiche Zeile 3 und Spalte 4."},{"place":["C","A"],"cand":{},"text":"Cyprienne war neben dem Frisiertisch (R4C1, in der Garderobe). Seine Nachbarfelder sind R3C1, R4C2 und der Kleiderschrank auf R5C1; Zeile 3 gehört Blanka, also ist <b>Cyprienne auf R4C2</b>. Adalbert war in der Warteecke: R4C5, R5C4 oder R5C5. Zeile 4 gehört Cyprienne und Spalte 4 Blanka: <b>Adalbert ist auf R5C5</b>, im Sessel."},{"place":["D"],"cand":{},"text":"Dieter war nicht neben dem Stuhl. Frei sind für ihn noch die Zeilen 1 und 2 sowie die Spalten 1 und 3, das lässt R1C1 und R2C3 übrig (R1C3 ist die Kamera, R2C1 der Schreibtisch). R1C1 liegt direkt neben dem Stuhl auf R1C2, beide im Empfangsraum: <b>Dieter ist auf R2C3</b>."},{"final":true,"text":"Fall gelöst: Das letzte freie Feld, R1C1, gehört dem Opfer – im Empfangsraum, neben dem Stuhl, genau wie es auf ihrer Karte steht, obwohl wir es nie gebraucht haben. Valeska war dort allein mit dem Fotografen. <b>Dieter ist der Mörder!</b>"}],"solver":{"rules":[],"occupiable":["armchair","chair","sofa","stool"]},"verification":{"tool":"tools/murdoku_solver.py","unique":true,"guessFree":true,"checked":"2026-09-29"}}