Teljoor

[Released] The Rooster's Stupid Secret

Recommended Posts

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.

wizjam6_2.gif.feeb436d48107369506ecfe09abfa49c.gif

 

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 by Teljoor
changed status to 'released'

Share this post


Link to post
Share on other sites
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

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

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

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.

wizjam6_3.gif.119e44aae478984d01810e06465bd361.gif

 

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

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

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.

image.png.25108689812f4730e46eba1958f7ebda.png

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).image.png.32ef4d113ffed4059be76eba9a9e6664.png  

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

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

image.png.9652658ec729f5c4edc34d223d7db8fc.png

Share this post


Link to post
Share on other sites

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!

hands.PNG.172348d9f821c4f9199c7a5f99ad1fae.PNG hands2.PNG.8d8a1dfc8d84c7439ef9d9e282301a81.PNG

Share this post


Link to post
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now