Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Game submission: Mallard #12

Open
wants to merge 82 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
7c7ae3f
Create minigame. Add some VS Code C/C++ configurations for QOL.
joshkautz Nov 4, 2024
96c5587
I've copied lambertjamesd's code entirely, but I'd replaced his *.GLB…
joshkautz Nov 5, 2024
a1eec36
Miles Morales
joshkautz Nov 6, 2024
94c0af3
Video playing in minigame init.
joshkautz Nov 6, 2024
fec586e
Makefile is building from an mp4. That's great.
joshkautz Nov 6, 2024
8ac9b9f
Got the video rendering to the display, with audio playing, and it's …
joshkautz Nov 7, 2024
ff19ed1
commit WIP stuff
joshkautz Nov 8, 2024
db994db
Progress, I suppose.
joshkautz Nov 8, 2024
10e26a7
Added an ascii art scene to the start. Still have to figure out how t…
joshkautz Nov 8, 2024
363990b
Set up a slightly better sequence lifecycle. Having trouble alternati…
joshkautz Nov 8, 2024
2bc96c5
I think i've got my two scenes reliably alternating forever!
joshkautz Nov 8, 2024
1d2b7ae
Added a Minimal Reproducible Example minigame to try to get help, but…
joshkautz Nov 9, 2024
c78ccd5
Added pausing, stopping, and rewinding to the video.
joshkautz Nov 9, 2024
eb1f64d
Got video and audio pausing and rewinding in sync.
joshkautz Nov 11, 2024
f774dab
I believe I've safely introduced sequence skipping for sequence 1. No…
joshkautz Nov 12, 2024
fed1cf6
Refactored all the sequence variables / naming conventions, and added…
joshkautz Nov 12, 2024
daa87ab
Setting up scene 4 for story text. Still need to finish scene 2 with …
joshkautz Nov 13, 2024
c4c47e5
Cleanup and making changes to sequence 3's different display ratio. M…
joshkautz Nov 13, 2024
94c86c5
Added fonts. Got sprite animation working. Added paragraph animations…
joshkautz Nov 14, 2024
4cc1e5e
Making some progress. I need to clean up and structure all my sub-seq…
joshkautz Nov 15, 2024
858bc4c
I've definitely made some better QOL improvements, and also structure…
joshkautz Nov 17, 2024
845d170
Okay I think things are looking pretty fine. Next order of business i…
joshkautz Nov 17, 2024
16588db
Got the menu background to fade in. Need to allow an "A" press to ski…
joshkautz Nov 18, 2024
c0dd3f1
Just committing everything. I've done a pretty good job of isolating …
joshkautz Nov 18, 2024
6c46fe2
Making good progress in the refactor before I dive into the main game.
joshkautz Nov 18, 2024
4b14bd0
Heavy refactor, but I think it's for the best. Everything still works…
joshkautz Nov 19, 2024
1701ffc
I've refactored a bunch and added some half-assed pausing lol.
joshkautz Nov 19, 2024
b33d487
The pause shaking effect for holding the start button to end mini gam…
joshkautz Nov 20, 2024
13af7e6
paused quitting is in a good place.
joshkautz Nov 20, 2024
d395d07
Added a little threshold for pressing & holding start to quit the min…
joshkautz Nov 20, 2024
3b7a71a
Creating initial spawn locations.
joshkautz Nov 20, 2024
9349033
Committing the code with the PAUSED sprite blit there just in case I …
joshkautz Nov 20, 2024
3892555
Clean up a little.
joshkautz Nov 21, 2024
7099742
I've got characters randomly spawning in reasonably appropriate locat…
joshkautz Nov 21, 2024
7036c34
Starting to refactor more before adding the player update loops to pl…
joshkautz Nov 21, 2024
c82f99d
Using libdragon CLI.
joshkautz Nov 22, 2024
15cc56c
Attempting to use submodules.
joshkautz Nov 22, 2024
15409fb
Merge pull request #1 from joshkautz/windows-compatibility
joshkautz Nov 22, 2024
122dab5
Merge pull request #2 from n64brew/main
joshkautz Nov 22, 2024
1743038
Updating submodules.
joshkautz Nov 25, 2024
cbb56a6
Organization
joshkautz Nov 26, 2024
9651879
Added movement to the ducks according to controller input. Added idle…
joshkautz Nov 26, 2024
64d7074
Added a bunch of art, and added main game music. Better way of tracki…
joshkautz Nov 26, 2024
1e656d7
Added a shitty implementation of slapping and ensuring the animation …
joshkautz Nov 26, 2024
635070b
Improvement for handling action animations for each character, very g…
joshkautz Nov 26, 2024
38d9463
Added running if you hold B. Also movement in diagonal directions mov…
joshkautz Nov 26, 2024
b38c170
Invisible border for playable area works.
joshkautz Nov 26, 2024
0a9ed2d
some refactor for snowmen
joshkautz Nov 27, 2024
b9c0bf9
Updating submodules.
joshkautz Nov 27, 2024
7424382
Created a linked list for dynamically adding snowmen. I still need to…
joshkautz Nov 27, 2024
16fd74d
Updating submodules.
joshkautz Nov 27, 2024
9378369
Updating submodules.
joshkautz Nov 27, 2024
551360f
Merge pull request #3 from joshkautz/test
joshkautz Nov 27, 2024
a4ae97f
We've got the snowmen spawning in, and animating. I might want to cle…
joshkautz Nov 28, 2024
95635a8
Handled some bad logic of not properly cleaning up resources from int…
joshkautz Nov 29, 2024
afddbfa
Updating submodules.
joshkautz Nov 29, 2024
c5a6ebe
Updating submodules.
joshkautz Nov 29, 2024
c010aa8
Made big, BASIC improvements to handle collisions better in all direc…
joshkautz Nov 30, 2024
01cb6d9
Updating submodules.
joshkautz Nov 30, 2024
c1ae9e3
Sliding works.
joshkautz Dec 1, 2024
419132c
Prevent ducks and snowmen from spawning on top of ducks.
joshkautz Dec 1, 2024
1c9333d
Handled the snowman vs duck spawn areas much better for the current s…
joshkautz Dec 1, 2024
38810a2
Updated the snowmen linked list to be sorted on the Y-value, so that …
joshkautz Dec 2, 2024
33f132b
Updating submodules.
joshkautz Dec 2, 2024
34c5d0c
Made some progress in handlign the rendering order. Going to need to …
joshkautz Dec 2, 2024
7572273
Remove a bunch of assets.
joshkautz Dec 2, 2024
84d5c97
Alrighty. I think I refactored everything to work with ducks as linke…
joshkautz Dec 3, 2024
b601167
Bubble sort for ducks is working flawlessly.
joshkautz Dec 4, 2024
e8c424b
What a successful day. All the sorting and rendreing is complete, and…
joshkautz Dec 4, 2024
622a696
Added idle animations back. Right now it's only for human players. I …
joshkautz Dec 4, 2024
ef28ccf
Added scores for each player, refined hitboxes, fixed some bugs.
joshkautz Dec 6, 2024
b35c097
I am so happy! Progress feels like it's cascading exponentially now w…
joshkautz Dec 6, 2024
c738dc6
Changed the snowmen art and set up game to have snowmen damage sprite…
joshkautz Dec 8, 2024
89137a8
Updating submodules.
joshkautz Dec 8, 2024
dda3165
Added health and damage animations to snowmen.
joshkautz Dec 8, 2024
76f8151
Added messaging to the pause menu.
joshkautz Dec 9, 2024
231a4e9
Updating submodules.
joshkautz Dec 9, 2024
a0fd515
Good changes to the sound effects and start times, allowing pausing a…
joshkautz Dec 11, 2024
d78b17f
Updating submodules.
joshkautz Dec 11, 2024
6a5c644
I've done everything except handle different difficulty of computer p…
joshkautz Dec 11, 2024
5827d5e
Final tweaking of AI difficulties.
joshkautz Dec 11, 2024
2792457
Okey dokey that's the last change I think I'll make. Thanks for the G…
joshkautz Dec 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
build/
filesystem/
*.z64
.vscode/
# .vscode/

# Blender backup files
*.blend[0-9]
Expand Down
8 changes: 8 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[submodule "libdragon"]
path = libdragon
url = https://github.com/DragonMinded/libdragon
branch = preview
[submodule "tiny3d"]
path = tiny3d
url = https://github.com/HailToDodongo/tiny3d.git
branch = main
5 changes: 5 additions & 0 deletions .libdragon/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"imageName": "ghcr.io/dragonminded/libdragon:preview",
"vendorDirectory": "libdragon",
"vendorStrategy": "submodule"
}
17 changes: 17 additions & 0 deletions .vscode/c_cpp_properties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"${env:N64_INST}/**"
],
"defines": [],
"compilerPath": "/usr/bin/clang",
"cStandard": "c17",
"cppStandard": "c++14",
"intelliSenseMode": "linux-clang-x64"
}
],
"version": 4
}
57 changes: 57 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "C/C++: gcc build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: gcc build active file",
"miDebuggerPath": "/usr/bin/gdb"
},
{
"name": "C/C++: gcc-11 build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: gcc-11 build active file",
"miDebuggerPath": "/usr/bin/gdb"
},
]
}
54 changes: 54 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{
"files.associations": {
".fantomasignore": "ignore",
"libdragon.h": "c",
"core.h": "c",
"minigame.h": "c",
"stdio.h": "c",
"t3dmath.h": "c",
"t3dmodel.h": "c",
"mallard.h": "c",
"profile.h": "c",
"debug.h": "c",
"memory.h": "c",
"*.tcc": "c",
"ctime": "c",
"limits": "c",
"numeric": "c",
"streambuf": "c",
"tuple": "c",
"type_traits": "c",
"utility": "c",
"algorithm": "c",
"charconv": "c",
"format": "c",
"unistd.h": "c",
"cstdint": "c",
"strings.h": "c",
"sequence_1.h": "c",
"input.h": "c",
"ascii.h": "c",
"sequence_3.h": "c",
"sequence_3_input.h": "c",
"sequence_1_input.h": "c",
"sequence_2_input.h": "c",
"sequence_1_graphics.h": "c",
"sequence_3_graphics.h": "c",
"sequence_introduction_graphics.h": "c",
"rdpq_paragraph.h": "c",
"sequence_4.h": "c",
"random": "cpp",
"sequence_introduction_input.h": "c",
"audio.h": "c",
"xm64.h": "c",
"sequence_introduction.h": "c",
"sequence_game.h": "c",
"sequence_game_graphics.h": "c",
"sequence_game_input.h": "c",
"sequence_game_initialize.h": "c",
"controller.h": "c",
"sequence_game_snowman.h": "c",
"sequence_game_duck.h": "c"
},
"C_Cpp.errorSquiggles": "disabled"
}
48 changes: 48 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc build active file",
"command": "/usr/bin/gcc",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
},
{
"type": "cppbuild",
"label": "C/C++: gcc-11 build active file",
"command": "/usr/bin/gcc-11",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "Task generated by Debugger."
}
]
}
Binary file added assets/mallard/CelticGaramondTheSecond.ttf
Binary file not shown.
Binary file added assets/mallard/HaloDek.ttf
Binary file not shown.
Binary file added assets/mallard/HaloDekBig.ttf
Binary file not shown.
Binary file added assets/mallard/HaloDekMedium.ttf
Binary file not shown.
Binary file added assets/mallard/four/duck_damage.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/four/duck_idle.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/four/duck_run.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/four/duck_slap.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/four/duck_walk_1.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/libdragon.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/mallard_background_park.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/mallard_game_music.xm
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/mallard_intro_music.xm
Binary file not shown.
Binary file added assets/mallard/mallard_logo_black.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/mallard_logo_white.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/mallard_snowman_idle.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/one/duck_damage.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/one/duck_idle.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/one/duck_run.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/one/duck_slap.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/one/duck_walk_1.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/snowman/snowman_idle_evil.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/snowman/snowman_jump_evil.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/three/duck_damage.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/three/duck_idle.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/three/duck_run.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/three/duck_slap.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/three/duck_walk_1.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/two/duck_damage.rgba32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/mallard/two/duck_idle.rgba32.png
Binary file added assets/mallard/two/duck_run.rgba32.png
Binary file added assets/mallard/two/duck_slap.rgba32.png
Binary file added assets/mallard/two/duck_walk_1.rgba32.png
Loading