{"id":13657077,"url":"https://github.com/sebastiandine/openNES-Snake","last_synced_at":"2025-04-24T01:31:03.628Z","repository":{"id":45665065,"uuid":"54733667","full_name":"sebastiandine/openNES-Snake","owner":"sebastiandine","description":"Simple rebuilt of the classic Snake game for the NES in C using the cc65 cross compiler.","archived":false,"fork":false,"pushed_at":"2023-01-01T21:02:51.000Z","size":5533,"stargazers_count":26,"open_issues_count":2,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-02T05:06:43.666Z","etag":null,"topics":["6502","assembly","c","doxygen","game-development","homebrew","nes","nintendo","snake-game"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sebastiandine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-03-25T17:02:36.000Z","updated_at":"2024-02-02T20:33:42.000Z","dependencies_parsed_at":"2023-02-01T01:01:32.061Z","dependency_job_id":null,"html_url":"https://github.com/sebastiandine/openNES-Snake","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebastiandine%2FopenNES-Snake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebastiandine%2FopenNES-Snake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebastiandine%2FopenNES-Snake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebastiandine%2FopenNES-Snake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sebastiandine","download_url":"https://codeload.github.com/sebastiandine/openNES-Snake/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223940825,"owners_count":17228906,"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":["6502","assembly","c","doxygen","game-development","homebrew","nes","nintendo","snake-game"],"created_at":"2024-08-02T05:00:36.555Z","updated_at":"2024-11-10T10:30:40.683Z","avatar_url":"https://github.com/sebastiandine.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# openNES Snake\r\n## Rebuilding classic games for the NES as Open Source  \r\n![IMG1](snake-screenhost-1.png) ![IMG2](snake-screenhost-2.png) ![IMG3](snake-screenhost-3.png)\r\n\r\n## Project Description\r\nThis project is the first entry in what I hope will be a long line of projects aimed at recreating classic video games   \r\nfor the Nintendo Entertainment System on an open source basis.  \r\nThe purpose of these projects is to get more enthusiastic people interested in programming for the NES by providing code examples\r\nand providing a starting point for developing new games from scratch.\r\n\r\nThis particular project aims to recreate the classic game Snake, also known as Nibbles. As it is the first of its kind in this series of projects,\r\nit is reduced to the core mechanics of the original game, in order to avoid information overload for future beginners\r\nbut also because of the lack of knowledge of the main author at that time :stuck_out_tongue_winking_eye:.\r\n\r\nThe project was programmed entirely in C, using Shiru's NESLib and the cc65 cross compiler (for more references see the Toolkit section).\r\n\r\n## License\r\nThis project is licensed under the zlib license. See also the attached README file.\r\n\r\n## Toolkit\r\n* [cc65 cross compiler v.2.5](https://github.com/cc65/cc65) - A freeware C compiler for 6502 based systems\r\n\r\n* [Shiru's NESLib ](http://shiru.untergrund.net/articles/programming_nes_games_in_c.htm) - An programming library on top of cc65 for more comfortable NES development. See also the more up to date fork [here](https://github.com/clbr/neslib).\r\n\r\n* [Tile Molester v.0.16](http://www.romhacking.net/utilities/109/) - A tileset editor, for designing tiles/sprites\r\n\r\n* [NES Screen Tool v.2.04](https://shiru.untergrund.net/software.shtml) - A tool that allows to create and edit NES nametables, attributes, palettes, patterns (tiles), and metasprites\r\n\r\n* [FamiTracker v.0.4.2](http://famitracker.com) - Famous tracker for producing music for the NES/Famicom-systems\r\n\r\n* [Doxygen v.1.8.12](http://www.stack.nl/~dimitri/doxygen/) - Code documentation tool for C/C++ projects\r\n\r\n* [FCEUX v.2.2.3](http://www.fceux.com/web/home.html) - Famous NES emulator in the homebrew scene with many debugging utilities.\r\n\r\n* [NesDev Forum](http://forums.nesdev.com/) - You will always find friendly, skilled and helpful people in this community, who are willing to help with problems you are facing during your project.\r\n\r\n* [Nerdy Nights Tutorials](http://nintendoage.com/pub/faq/NA/index.html?load=nerdy_nights_out.html) - Even if it is based on introducing you to assembly, this is the classic lecture for understanding the NES architecture for many years.\r\n\r\n\r\n## How To Build Locally\r\nTo build a `.NES` rom from the project's sources, execute the build script at `build/build.sh` from the `build` directory or the script `build/build.bat` if you are working on Windows. Note that these scripts depend on the cc65 cross compiler, so you need ensure that this is available on your system.\r\n\r\n## Development Container\r\nThis project provides [VS Code Development Container](https://code.visualstudio.com/docs/remote/containers) configuration at `.devcontainer/`. Via this configuration, you automatically have a complete development environment for developing NES games.\r\n\r\n## Notes for Contributors\r\nFeel free to fork this project and extend it. If you find bugs, please submit them as issues so we can discuss together how you can fix them. \r\nAll your contributions need to include explaining Doxygen comments in order to share your knowledge with future contributors and maintaining the project's code documentation.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebastiandine%2FopenNES-Snake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsebastiandine%2FopenNES-Snake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebastiandine%2FopenNES-Snake/lists"}