Teljoor Posted December 18, 2017 (edited) My previous 2 wizard jam games have both been 2D, but this time I want to do something in 3D using Unity. I've used Unity before, but I never finished anything with it, so I hope I can learn a few things in the process. The basic idea is that you play as an investigator trying to find out the rooster's secret after he has been implicated in some crime. You interact with other characters and search the rooster's apartment for clues. At the end the secret turns out to be completely inconsequential. I'm aiming to have the base game done by the end of next weekend. To that end, I'll limit the scope to a one-room mystery with one interactable character in the room. There will probably be a few puzzles, the answers to which will combine to reveal a secret compartment or something. So far I've got basic 3d movement/mouse look and billboarded sprites for interactable characters. This is a rough list of what I hope to implement. I'll probably have to cut some corners as I go along. dialogue system interactable objects simple collision detection to limit player movement a full environment for the rooster's apartment music 3 puzzles (probably just popup graphics with multiple-choice answer buttons triggered by interacting with an object) graphics/narration dialogue for the start and end of the game Edited December 30, 2017 by Teljoor changed status to 'released' Share this post Link to post Share on other sites
catherine Posted December 18, 2017 This looks great! Are you building your dialogue system from scratch? Share this post Link to post Share on other sites
Teljoor Posted December 18, 2017 1 hour ago, catherine said: This looks great! Are you building your dialogue system from scratch? Yeah. I know there are various Unity plugins I could use, but I like the idea of building the system myself to get a feel for how it works. Maybe I'll go back on that if it turns out to be too complicated, but I could hard-code a lot of stuff if necessary. Share this post Link to post Share on other sites
catherine Posted December 19, 2017 Yeah, the only real reason I'm going with Yarn is because the interpreter and everything and toolset outside Unity already all exist and I'm using them on a separate project that will need localization down the road. My first choice, Fungus, just tried to do way too much. Share this post Link to post Share on other sites
hedgefield Posted December 19, 2017 This looks great! The character already has so much personality with a little bit of animation. The setup reminds me a bit of a demo I made for a custom dialogue system a few years ago. LA Noire was my jam at the time, so it was similar in aesthetic, two detectives in a room with two suspects, and they had to look for clues. Looking forward to seeing what you do with this one. Brackeys did a video tutorial on building a dialogue system, if you're doing it from scratch that seems like a good resource. Share this post Link to post Share on other sites
Teljoor Posted December 20, 2017 The dialogue system now more or less works, but I've still got to add dialogue choices and manipulation of boolean values, so that interactions can change the world state. To save time I'm not using text files but defining all the dialogues in specialized scripts for each interactable object. Each dialogue is a sequence of nodes. So, for example, this is a test script for interacting with the detective: startDialogueNode = new DialogueNode("#Inspector!\n%#You're here!"); startDialogueNode.SetSpeakerPicture(null); DialogueNode node2 = new DialogueNode("#This is just between you and me, sir,\n%#but I've heard that..."); node2.SetSpeakerPicture(null); startDialogueNode.AddNextNode(node2); DialogueNode node3 = new DialogueNode("#Sometimes, text can be [RED]!\n#%...\n%#That means it's important, sir."); node3.SetSpeakerPicture(null); node2.AddNextNode(node3); DialogueNode node4 = new DialogueNode("#That's what I've heard."); node4.SetSpeakerPicture(null); node3.AddNextNode(node4); DialogueNode node5 = new DialogueNode("{Hmmm...}\n%(I should write that down.)"); node5.SetColor(Color.cyan); node4.AddNextNode(node5); The special characters are interpreted by the DialogueGUI to trigger actions or adjust the styling. In the script above, '#' means 'talk animation' and '%' means a pause in the dialogue. I'm hoping to get a kind of similar feel to the Ace Attorney games. They do a lot with animation, sound cues, and text speed/pauses in that series to make the dialogues feel 'alive' without voice acting. 19 hours ago, hedgefield said: Brackeys did a video tutorial on building a dialogue system, if you're doing it from scratch that seems like a good resource. Thanks, I watched that video tutorial after typing the description of my implementation above. That seems like a much more elegant way of doing it, especially editing the dialogue from the unity editor instead of using scripts. I think I'll stick with my current implementation, though, since I will probably need individual scripts for most of my interactables anyway in order to set the position and angle for dialogue. The use of animations to transition to and from dialogues could be useful for the puzzle interface. Hopefully I can finish that by tomorrow. That should be the last of the 'systems' needed for the base game (not including the menu, options, credits, and things like that). Share this post Link to post Share on other sites
Zirrrus Posted December 21, 2017 This looks very cool, I especially love the sprites. Share this post Link to post Share on other sites
theschap Posted December 22, 2017 Please tell me you walk in a room and they are all playing poker! The sprites are looking great and the addition of color in the text is a nice touch. Share this post Link to post Share on other sites
Teljoor Posted December 24, 2017 Well, I didn't manage to finish everything this weekend. I've got all the systems in there, though, and there's four puzzles finished. I'd like to add a few more before the end to bring the total up to 6 or so. Designing puzzles turned out to be a bit of a challenge, too! I think I've used up almost all the cliché ones. There's a spot the difference puzzle, a maze, and a 'spot the liar' logic puzzle. All of them use the dialogue interface, so they're all multiple-choice. That kind of limits the kinds of puzzles that can work, but it should also prevent players from getting stuck. Not that that should be a problem, since all the puzzles are pretty basic. I probably rig up the intro and outro cutscenes and the main menu/credits by wednesday or so. Getting the game up on itch is the next step, and then I can check if everything works correctly with different resolutions and such. The time left over can be used for some non-essential features. I'd like to add some more dialogue animations, add controller support, and dress up the apartment a little more. I'm keeping it simple by using just basic 3d objects I can add in unity (so, cubes, spheres, and cylinders). Overall, I'm pretty happy with how it's turning out. I had some trouble during the last jam because I left too much until near the deadline, but this time I think I can add everything I planned to at the beginning. Share this post Link to post Share on other sites
infamous space turtle Posted December 26, 2017 Very cool, I dig the dogs. Share this post Link to post Share on other sites
Teljoor Posted December 28, 2017 The Unity WebGL build works on itch. It's not a proper release yet, but it should work fine for the actual release on the 31st. A few of my friends were kind enough to playtest the prototype and came up with following issues, which I plan to fix as my first priority: Pressing alt-tab or otherwise switching focus from the game to another window causes the camera to stop working properly. This is the only real bug we've found so far and probably the biggest issue. Mouse sensitivity is too high. A full screen option for the web version would be nice. One of the puzzles is hard to find, because the 'hotspot' object may appear to be part of another object (that has a separate hotspot). I'll probably just end up combining the two objects. After that, I've got the following points I hope to add/improve. Not sure if I'll get everything in there, since the deadline is pretty close. Add menu/title screen Add one or two more puzzles Add more environment objects/hotspots (currently there's 10, I'd like increase the number to 15 or so). Improve talking animations Add controller support Share this post Link to post Share on other sites
Teljoor Posted December 30, 2017 Well, the game is officially released now! I decided to release it today, since I've got a stable build and I have some things to do tomorrow. In the end I didn't add any new puzzles, but I did add a menu screen and credits, update some graphics, and add more interactions to the apartment. Controller support ended up being too difficult, since it appears that it is not possible to manipulate the mouse position through code in unity. In order to use the controller to select options during dialogues, I would have had to build my own cursor object that would be manipulated by both the mouse and the controller input. Camera control does work with a controller, though. Thanks to everyone who shared their impressions during development . You can play the game at: https://teljoor.itch.io/the-roosters-stupid-secret (or download it through the itch app) Side note: While redoing the graphics for the hands I ended up making a second version of the 'standard' hands used for the detectives (see below). It may be just me, but my first attempt, with five human-like fingers, looks really creepy to me. I didn't really notice it until I put it into the game. No wonder cartoon animals normally wear gloves and have only four fingers! Share this post Link to post Share on other sites
Nappi Posted January 7, 2018 I liked the puzzles quite a bit and the presentation and writing are hilarious! The mouse sensitivity was quite high on my setup, but fortunately you don't have to do anything that requires you to be quick or precise. Share this post Link to post Share on other sites