Skip to content
This repository has been archived by the owner on Oct 24, 2024. It is now read-only.

Commit

Permalink
Move Github issues to version control (#239)
Browse files Browse the repository at this point in the history
We are leaving Github and migrating this repository to sourcehut.
For that reason, all Gh issues were moved to the codebase.
Most of them live in wiki now.
  • Loading branch information
porkbrain authored Oct 24, 2024
1 parent 64bc121 commit 99bfce6
Show file tree
Hide file tree
Showing 22 changed files with 139 additions and 25 deletions.
5 changes: 4 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,11 @@ features = ["bevy_render", "egui_clipboard", "egui_open_url"]
[workspace.dependencies]
bevy_egui = "0.28" # waiting for bevy-inspector-egui to update
bevy_kira_audio = "0.20"
bevy_pixel_camera = { git = "https://github.com/porkbrain/bevy_pixel_camera.git", branch = "bevy-v0.14" } # we will need to vendor this
# TODO: This is no longer maintained. We should vendor it.
bevy_pixel_camera = { git = "https://github.com/porkbrain/bevy_pixel_camera.git", branch = "bevy-v0.14" }
bevy_webp_anim = "0.4"
# TODO: To update, we need to implement a complete overhaul of their API.
# <https://github.com/Leafwing-Studios/leafwing-input-manager/blob/main/RELEASES.md#version-0150>
leafwing-input-manager = "0.14" # API has been completely rewamped

scene_top_down = { path = "scenes/top_down" }
Expand Down
4 changes: 3 additions & 1 deletion main_game/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ fn main() {
// > Unstyled child in a UI entity hierarchy. You are using an entity
// > without UI components as a child of an entity with UI components,
// > results may be unexpected.
cmd.spawn(Name::new("Inactive camera (see github issue #55)"))
//
// <https://github.com/bevyengine/bevy/pull/12213/files>
cmd.spawn(Name::new("Inactive camera"))
.insert(Camera2dBundle {
camera: Camera {
is_active: false,
Expand Down
11 changes: 2 additions & 9 deletions main_game_lib/src/dialog.rs
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,6 @@ pub enum NodeKind {
/// A node that prints a line of dialog.
Vocative {
/// The dialog line to print.
/// TODO: <https://github.com/porkbrain/dont-count-the-sheep/issues/95>
line: String,
},
/// A node that does nothing.
Expand Down Expand Up @@ -717,10 +716,7 @@ impl BranchStatus {

match &next_node.kind {
NodeKind::Blank => Self::Stop,
NodeKind::Vocative { line } => {
// TODO: https://github.com/porkbrain/dont-count-the-sheep/issues/95
Self::OfferAsChoice(line.clone())
}
NodeKind::Vocative { line } => Self::OfferAsChoice(line.clone()),
NodeKind::Guard { kind, .. } => {
if let Some(guard_system) = guard_systems.get(next_node_name) {
cmd.run_system_with_input(
Expand Down Expand Up @@ -764,10 +760,7 @@ impl BranchStatus {

match &next_node.kind {
NodeKind::Blank => Self::Stop,
NodeKind::Vocative { line } => {
// TODO: https://github.com/porkbrain/dont-count-the-sheep/issues/95
Self::OfferAsChoice(line.clone())
}
NodeKind::Vocative { line } => Self::OfferAsChoice(line.clone()),
NodeKind::Guard { kind, .. } => {
trace!("Registering guard system {kind:?} for {node_name:?}");
cmd.push(kind.register_system_cmd(node_name.clone()));
Expand Down
1 change: 0 additions & 1 deletion main_game_lib/src/dialog/guard.rs
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,6 @@ impl Dialog {
BranchStatus::Stop
}
NodeKind::Vocative { line } => {
// TODO: https://github.com/porkbrain/dont-count-the-sheep/issues/95
BranchStatus::OfferAsChoice(line.clone())
}
NodeKind::Guard { .. } => {
Expand Down
1 change: 0 additions & 1 deletion main_game_lib/src/dialog/guard/exhaustive_alternatives.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ pub(super) fn system(
match next_node_kind {
NodeKind::Blank => BranchStatus::Stop,
NodeKind::Vocative { line } => {
// TODO: https://github.com/porkbrain/dont-count-the-sheep/issues/95
BranchStatus::OfferAsChoice(line.clone())
}
NodeKind::Guard { .. } => {
Expand Down
1 change: 0 additions & 1 deletion main_game_lib/src/dialog/guard/reach_last_alternative.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ pub(super) fn system(
let next_node_choice = match next_node_kind {
NodeKind::Blank => BranchStatus::Stop,
NodeKind::Vocative { line } => {
// TODO: https://github.com/porkbrain/dont-count-the-sheep/issues/95
BranchStatus::OfferAsChoice(line.clone())
}
NodeKind::Guard { .. } => {
Expand Down
1 change: 0 additions & 1 deletion main_game_lib/src/dialog/guard/visit_once.rs
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ pub(super) fn system(
match next_node_kind {
NodeKind::Blank => BranchStatus::Stop,
NodeKind::Vocative { line } => {
// TODO: https://github.com/porkbrain/dont-count-the-sheep/issues/95
BranchStatus::OfferAsChoice(line.clone())
}
NodeKind::Guard { .. } => {
Expand Down
1 change: 0 additions & 1 deletion main_game_lib/src/hud.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ pub(crate) struct Plugin;

impl bevy::app::Plugin for Plugin {
fn build(&self, app: &mut App) {
// TODO: https://github.com/porkbrain/dont-count-the-sheep/issues/14
app.insert_resource(daybar::DayBar::default())
.add_event::<daybar::UpdateDayBarEvent>()
.add_systems(
Expand Down
7 changes: 7 additions & 0 deletions main_game_lib/src/top_down/actor/npc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,13 @@ pub enum BehaviorLeaf {
Idle,
/// Drives the pathfinding algorithm to find a path to the given square and
/// the NPC to move along it.
///
/// # TODO
/// When pathfinding behavior cannot progress, have some escape hatch.
/// For example, before choosing brand new behavior, walk around for a bit,
/// show some emoji on top of the character. Then after some timeout try
/// again and if nothing happens, continue. Main thing is not to retry
/// every frame and not to stay on one spot as the character for ever
FindPath {
/// The square to find a path to.
to: Square,
Expand Down
13 changes: 8 additions & 5 deletions wiki/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,18 @@
- [Phone](phone.md)
- [The Daybar](daybar.md)
- [Traits](traits.md)
- [Top down scenes]()
- [Top down scenes](top_down_scenes.md)
- [Emojis](emojis.md)
- [Inspect ability](ability_to_inspect.md)
- [Scenes in _Building 1_](scene_building1.md)
- [Mall scene](scene_mall.md)
- [Downtown scene](scene_downtown.md)
- [Clinic scene](scene_clinic.md)
- [in _Building 1_](scene_building1.md)
- [Mall](scene_mall.md)
- [Downtown](scene_downtown.md)
- [Clinic](scene_clinic.md)
- [Minigames and activities]()
- [Meditation minigame](scene_meditation.md)
- [Devtools](devtools.md)
- [Godot](devtools_godot.md)
- [Dialog](devtools_dialog.md)
- [Map maker](devtools_map_maker.md)
- [Game saves](game_saves.md)
- [RFCs](rfcs.md)
4 changes: 4 additions & 0 deletions wiki/src/daybar.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,7 @@ Shops and other establishments may have varying hours of operation:
- The [Clinic scene](scene_clinic.md)

The player can reset the day by going to sleep in [their apartment](scene_building1.md).

# TODO

- [ ] The daybar should do a heart beat animation when beats are being added to the day.
23 changes: 23 additions & 0 deletions wiki/src/devtools_dialog.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,10 @@ params = { message = "This is a message" }

Displays a message to the player.

#### TODO

- [ ] Add a dialog guard that attaches another dialog file to itself

### Emerging

NPCs can have multiple dialog files attached to them.
Expand All @@ -227,6 +231,25 @@ A frontend that pauses player movement.
It can be employed for dialogues with NPCs or for cutscenes.
This frontend displays the portrait of the character who is speaking.

#### TODO

- [ ] Dialog box looks centered right now.
Should be aligned to the left corner with about 260-300px space for the portraits.
The portraits might have to be made smaller later.
- [ ] Try the new tiny pixel font uploaded in the fonts folder on drive.
- [ ] change the color of highlight to #372e50 to try it out
- [ ] Dialog could have Winnie's portrait on the right
- [ ] Dialog choices overflow the box if the text is too long or if there are more than 5
- [ ] Dialog with NPCs can start by them talking, not always with the player
- [ ] Dialog vocative shortened version for player choice.
Sometimes we'd like to give a summary of what the player's option are.
One way is to use an ellipsis and then on hover show tooltip with the full text.
An alternative is to have a short alternative for player options hand crafted in the toml file.
An alternative is also that we don't actually have to do anything and we just always add two nodes.
Unfortunately, this is a problem if there are some conditional branches.
If the conditional branch stops the itself, then the player would have to click through twice the same thing.
- [ ] When player stops to start a dialog with NPC, sometimes they face wrong direction

<!-- List of References -->

[wiki-snake-case]: https://en.wikipedia.org/wiki/Snake_case
Expand Down
6 changes: 6 additions & 0 deletions wiki/src/devtools_godot.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,12 @@ Here's an exhaustive list of components (defined as `Node` type with their names

- `HallwayEntity`: A component with no metadata in the `Building1PlayerFloor` scene.

## TODO

- [ ] Add a component that starts an animation when the player gets close.
Would be useful for bugs, my other butterfly request and also the escalator maybe.
- [ ] We need to be able to change the frequency of animation in godot.

<!-- List of References -->

[godot-tscn]: https://docs.godotengine.org/en/stable/contributing/development/file_formats/tscn.html
Expand Down
2 changes: 1 addition & 1 deletion wiki/src/devtools_map_maker.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
TODO

To store the edit, you can press the "Store button".
Ideally, you would have [`graphviz`] installed.
Ideally, you would have [`graphviz`](https://graphviz.org/download) installed.
We use it to store an SVG file that shows connections between zones for debug purposes.
10 changes: 10 additions & 0 deletions wiki/src/emojis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Emojis

TODO

## TODO

- [ ] when you cannot enter rooms
- [ ] when you cannot go to sleep
- [ ] when you cannot start meditation game
- [ ] when finished a quest, npc has a hear emoji
10 changes: 10 additions & 0 deletions wiki/src/game_saves.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Game saves

We use sqlite right now to store data in memory.
This does seem rather poor, but it's a start.

## TODO

- [ ] Load Daybar state from save
- [ ] Remove SQLite dependency, store data in memory
- [ ] Serialize game state to disk
5 changes: 5 additions & 0 deletions wiki/src/phone.md
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
TODO

# TODO

- [ ] Add phone UI.
There's a little phone icon (it's in the shared drive) and a big phone could pop up when clicked, placed towards the bottom right corner.
6 changes: 6 additions & 0 deletions wiki/src/rfcs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# RFCs

## Should we say what scene is the player transitioning to on the loading screen?

- A good reason to do that is so that we can name scenes in the player's head.
Creating a mental map of the game world is important for immersion.
5 changes: 5 additions & 0 deletions wiki/src/scene_downtown.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,8 @@ TODO
# Ocean

When the player approaches the ocean, a background track with ocean sounds starts playing.

# TODO

- [ ] Escalator should move the player even if the player is not moving.
Perhaps we can add a new tile kind that moves the player in a certain direction.
7 changes: 5 additions & 2 deletions wiki/src/scene_mall.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
TODO

TODO: Opening hours

## White Cat

White cat is a character endemic to the mall.
It roams the mall.

In Godot, the mall scene has a special node name pattern: `WhiteCatPatrolPoint*`.
If a `Node2D`'s name starts with `WhiteCatPatrolPoint` it will be considered a patrol point for the white cat character and the cat will randomly walk between all the patrol points in the scene.

## TODO

- [ ] Figure out opening hours
- [ ] Add self-checkout UI. There's a scene that can be used to open it.
15 changes: 14 additions & 1 deletion wiki/src/scene_meditation.md
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
TODO
The first version of the meditation mini-game used a static background in which Hoshi, the main character, moved.
The goal was to destroy Polpos, little TVs with tentacles, by staying near them.
This version was not fun to play and we lacked ideas on how to improve it.

The second version re-uses much of the code and art of the first one.
Now, Hoshi is a falling star on a vertically scrollable background.
The goal is to collect crystals on the way down.
The limited resource is the jump, therefore the player must plan their path to collect more crystals.

# TODO

- [ ] Merge in the second version
- [ ] Show score screen on exiting the game
- [ ] Reap rewards based on score
26 changes: 26 additions & 0 deletions wiki/src/top_down_scenes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Top down scenes

Top-down scenes are the main kind of scenes in our game.
The player can move their character around the scene, interact with objects, and talk to NPCs.

## TODO

- [ ] Add crow animation.
A new atlas is up in the game files, 1 idle, 2 kvak, 3+4 flight, 4+5 zobani, 6+7 walking
Maybe the triggering of fly away animation when player is close but also we could do a little thing where you leave out shinies for him and after a certain amount he doesn't fly away and thanks you for the shinies.
- [ ] Add scooter.
Bottom line of winnie's atlas has scooter animation, environment asset folder has scooter scooter.
- [ ] Mirror needs to mirror.
- [ ] Butterfly needs animation.
Added a butterfly to a tree, the first two frames should repeat until interrupted, then we have two directions of flight, need a randomized route.
- [ ] Make seats sittable. n14 in winnies atlas for animation. Assign sittable to
- `chair_orange.png`
- `chair_purple.png`
- `chair_yellow.png`
- `meditation_chair.png`
- `sofa_purple.png`
- `sofa_purple_plain.png`
- `sofa_purple_plain_back.png`
- `sofa_yellow.png`
- `sofa_yellow_plain.png`
- `lavicka.png`

0 comments on commit 99bfce6

Please sign in to comment.