{"id":16594095,"url":"https://github.com/jsdf/goose64","last_synced_at":"2025-03-16T21:30:46.020Z","repository":{"id":66018863,"uuid":"214956666","full_name":"jsdf/goose64","owner":"jsdf","description":"untitled goose game demake for nintendo 64","archived":false,"fork":false,"pushed_at":"2023-12-03T05:59:12.000Z","size":39896,"stargazers_count":78,"open_issues_count":1,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-15T04:55:46.665Z","etag":null,"topics":["goosegame","n64","nintendo-64"],"latest_commit_sha":null,"homepage":"https://twitter.com/ur_friend_james","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jsdf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-10-14T05:37:55.000Z","updated_at":"2024-08-28T14:09:09.000Z","dependencies_parsed_at":"2023-11-18T16:37:59.228Z","dependency_job_id":null,"html_url":"https://github.com/jsdf/goose64","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdf%2Fgoose64","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdf%2Fgoose64/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdf%2Fgoose64/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsdf%2Fgoose64/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsdf","download_url":"https://codeload.github.com/jsdf/goose64/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243830939,"owners_count":20354853,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["goosegame","n64","nintendo-64"],"created_at":"2024-10-11T23:45:08.953Z","updated_at":"2025-03-16T21:30:43.175Z","avatar_url":"https://github.com/jsdf.png","language":"C++","readme":"# goose64\n\nthis is a demake of untitled goose game for the nintendo 64\n\n![screenshot of the goose in the lake in the game running on the mupen64plus emulator](screenshot.png)\n\n## get it\n\ndownload the [most recent N64 ROM build here](src/goose64.n64)\n\nrun it with your favorite emulator or flashcart\n\n## build for emulator/console\n\n### install the n64 sdk \u0026 compiler\n\ne.g. https://crashoveride95.github.io/modernsdk/index.html\n\nfor example i install the sdk in a docker container on macOS via [colima](https://github.com/abiosoft/colima) + docker, using [this dockerfile](https://gist.github.com/jsdf/21bf1d2c0fd95693c592e998da9e2be9)\n\n### building the game for N64\n\ndefine machine-specific paths:\n\n```\ncp src/localdefs.makefile.example src/localdefs.makefile\n```\n\nthen edit src/localdefs.makefile to define paths to the N64 SDK:\n\n- `ROOT` (the 'ultra' directory)\n- `N64KITDIR` (the 'n64kit' directory)\n\nthen run `make`\n\nthis produces the rom file `goose64.n64` which you can then run with your favorite emulator or flashcart.\n\nenvironment variables which affect the build:\n\n- `OPTIMIZE=1`: enable gcc optimization and use non-debug versions of sdk libraries\n- `ED64=1`: build with everdrive64 logging support (see [ed64log](https://github.com/jsdf/ed64log)). don't use unless running on an everdrive64\n\nyou can also define these in `localdefs.makefile`\n\n## build the desktop opengl version\n\nthis repo also includes an opengl based version of the game, which runs on macOS (haven't tested other OSes)\n\ninstall dependencies:\n\n```\n# eg. using homebrew on macOS\nbrew install glm glew\n```\n\ndefine machine-specific paths\n\n```\ncp src/gldefs.makefile.example src/gldefs.makefile\n# edit src/gldefs.makefile\n```\n\nconfigure cmake \u0026 build\n\n```\ncmake -S src/ -B build\ncd build\nmake\n./goose64\n```\n\n## development\n\nmore information about n64 programming can be found in [N64SDK](N64SDK.md) and [ART](ART.md).\n\n### deploy to everdrive and start logging\n\nwith everdrive64 v3 inserted and usb cable connected, reset console and run:\n\n```\n./deploy.sh\n```\n\nif you get a 'device not found' error, check that 'FT245R USB FIFO' is visible in your system's list of connected usb devices\n\n### regenerate n64 header files from the OBJ models\n\nif you update .obj model files:\n\nfirst make sure you have lua installed\n\n```\n# eg. using homebrew on macOS\nbrew install lua\n```\n\nthen, to rebuild model header files\n\n```\n./rebuild_models.sh\n```\n\n### regenerate n64 header files for sprites\n\nif you update any texture files:\n\nmake sure you have python and pillow installed\n\n```bash\npip install pillow\n```\n\nthen, to rebuild sprites\n\n```bash\n./sprites.sh\n```\n\n### export map object data\n\n- open blender (or use `./blender.sh` to see console output)\n- in the blender text editor editor, open and run export_positions.py then open and run export_collision_mesh.py\n- see header files are created\n","funding_links":[],"categories":["Programming"],"sub_categories":["C"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsdf%2Fgoose64","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjsdf%2Fgoose64","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsdf%2Fgoose64/lists"}