{"id":19179348,"url":"https://github.com/nearhuscarl/castlevania","last_synced_at":"2025-05-07T21:46:31.314Z","repository":{"id":98240083,"uuid":"149013992","full_name":"NearHuscarl/Castlevania","owner":"NearHuscarl","description":"A remake of Castlevania NES (Block 01) written in C++ and directx 9","archived":false,"fork":false,"pushed_at":"2019-10-15T12:56:17.000Z","size":12462,"stargazers_count":34,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-07T21:46:22.755Z","etag":null,"topics":["2d-game","castlevania","cpp","directx","platformer","remake"],"latest_commit_sha":null,"homepage":"","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/NearHuscarl.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-16T16:27:48.000Z","updated_at":"2025-03-08T18:02:45.000Z","dependencies_parsed_at":"2023-05-18T21:45:43.620Z","dependency_job_id":null,"html_url":"https://github.com/NearHuscarl/Castlevania","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NearHuscarl%2FCastlevania","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NearHuscarl%2FCastlevania/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NearHuscarl%2FCastlevania/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NearHuscarl%2FCastlevania/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NearHuscarl","download_url":"https://codeload.github.com/NearHuscarl/Castlevania/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252961858,"owners_count":21832192,"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":["2d-game","castlevania","cpp","directx","platformer","remake"],"created_at":"2024-11-09T10:42:54.026Z","updated_at":"2025-05-07T21:46:31.302Z","avatar_url":"https://github.com/NearHuscarl.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n   \u003cimg src =\"images/Logo.png\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nA remake of Castlevania NES (Block 01) written in C++ and directx 9\n\u003c/p\u003e\n\n## Download\n\n[Castlevania x86 executable zip file](https://github.com/NearHuscarl/Castlevania/releases)\n\n## Controls\n\n| Key                         | Command              |\n|-----------------------------|----------------------|\n| \u003ckbd\u003e←\u003c/kbd\u003e                | Walk left            |\n| \u003ckbd\u003e→\u003c/kbd\u003e                | Walk right           |\n| \u003ckbd\u003e↑\u003c/kbd\u003e                | Go upstairs          |\n| \u003ckbd\u003e↓\u003c/kbd\u003e                | Go downstairs / Duck |\n| \u003ckbd\u003ea\u003c/kbd\u003e                | Attack               |\n| \u003ckbd\u003es\u003c/kbd\u003e                | Jump                 |\n| \u003ckbd\u003e↑\u003c/kbd\u003e + \u003ckbd\u003ea\u003c/kbd\u003e | Use subweapon        |\n| \u003ckbd\u003eEsc\u003c/kbd\u003e              | Toggle devtool       |\n\n### Devtool Control\n\n#### Keyboard\n\n| Key                 | Command                        |\n|---------------------|--------------------------------|\n| \u003ckbd\u003etab\u003c/kbd\u003e      | Set category to PLAYER         |\n| \u003ckbd\u003eq\u003c/kbd\u003e        | Set category to ENEMY          |\n| \u003ckbd\u003ew\u003c/kbd\u003e        | Set category to CONTAINER      |\n| \u003ckbd\u003ee\u003c/kbd\u003e        | Set category to POWERUP        |\n| \u003ckbd\u003er\u003c/kbd\u003e        | Set category to WEAPON         |\n| \u003ckbd\u003et\u003c/kbd\u003e        | Set category to EFFECT         |\n| \u003ckbd\u003eg\u003c/kbd\u003e        | Toggle drawing grid info       |\n| \u003ckbd\u003e[\u003c/kbd\u003e        | Previous map                   |\n| \u003ckbd\u003e]\u003c/kbd\u003e        | Next map                       |\n| \u003ckbd\u003e1\u003c/kbd\u003e        | Move player to `Checkpoint`    |\n| \u003ckbd\u003e2\u003c/kbd\u003e        | Move player to `Checkpoint_02` |\n| \u003ckbd\u003e3\u003c/kbd\u003e        | Move player to `Checkpoint_03` |\n| \u003ckbd\u003e4\u003c/kbd\u003e        | Move player to `Checkpoint_04` |\n| \u003ckbd\u003e5\u003c/kbd\u003e        | Move player to `Checkpoint_05` |\n| \u003ckbd\u003e6\u003c/kbd\u003e        | Move player to `Checkpoint_06` |\n| \u003ckbd\u003e8\u003c/kbd\u003e        | Add 200 hearts to player       |\n| \u003ckbd\u003e9\u003c/kbd\u003e        | Set player health to 1 hp      |\n| \u003ckbd\u003e0\u003c/kbd\u003e        | Set player health to full      |\n| \u003ckbd\u003eNumpad -\u003c/kbd\u003e | Kill player                    |\n| \u003ckbd\u003eNumpad +\u003c/kbd\u003e | Add 1 live to player           |\n| \u003ckbd\u003eNumpad 1\u003c/kbd\u003e | Open menu                      |\n| \u003ckbd\u003eNumpad 2\u003c/kbd\u003e | Open gameplay scene            |\n| \u003ckbd\u003eNumpad 3\u003c/kbd\u003e | Open gameover screen           |\n| \u003ckbd\u003e~\u003c/kbd\u003e        | Toggle god mode for player     |\n\n#### Mouse\n\n| Mouse button           | Command                              |\n|------------------------|--------------------------------------|\n| \u003ckbd\u003eScroll up\u003c/kbd\u003e   | Select next item                     |\n| \u003ckbd\u003eScroll down\u003c/kbd\u003e | Select previous item                 |\n| \u003ckbd\u003eLeft click\u003c/kbd\u003e  | Spawn current item at mouse position |\n| \u003ckbd\u003eRight click\u003c/kbd\u003e | Toggle item facing                   |\n\n## Development Environment\n\n-  Visual Studio 2017\n-  C++17\n-  [Tiled] - A general purpose tile map editor for all tile-based games\n\n### Libraries\n\n-  [DirectX 9 SDK]\n-  [pugixml] - Light-weight, simple and fast XML parser for C++\n-  [freetype] - Font rendering library\n-  [fmt] - Modern formatting library\n-  [mappy] - Used to create tiledset from the complete map ([Instruction](TUTORIALS.md))\n\n[sample project]: https://github.com/dungdna2000/gamedev-intro-tutorials/\n\n## References\n-  [Castlevania_Block_1]\n-  [Castlevania_Inventory]\n-  [Block_1 Walkthrough]\n-  [Item_Data]\n-  [Back to the Basics! Essentials of Modern C++ Style]\n-  [Smart pointers need careful programmers]\n-  [UIT-SE102-Game-Project ]\n-  [Game Programming Patterns]\n-  [Swept AABB collision detection]\n-  [Evolve Your Heirachy]\n-  [Monogame Framework]\n-  [Monogame Samples]\n   -  [CatapaultWars]\n   -  [NetRumble]\n   -  [RolePlayingGame]\n\n[native event]: https://msdn.microsoft.com/en-us/library/ee2k0a7d.aspx\n[Tiled]: https://www.mapeditor.org/\n\n[Castlevania_Block_1]: http://castlevania.wikia.com/wiki/Castlevania_Block_1\n[Castlevania_Inventory]: http://castlevania.wikia.com/wiki/Castlevania_Inventory\n[Block_1 Walkthrough]: http://castlevania.wikia.com/wiki/Walkthrough:Castlevania/Block_1\n[Item_Data]: http://castlevania.wikia.com/wiki/Vampire_Killer_(whip)/Item_Data\n\n[back to the basics! essentials of modern c++ style]: https://github.com/CppCon/CppCon2014/blob/master/Presentations/Back%20to%20the%20Basics!%20Essentials%20of%20Modern%20C%2B%2B%20Style/Back%20to%20the%20Basics!%20Essentials%20of%20Modern%20C%2B%2B%20Style%20-%20Herb%20Sutter%20-%20CppCon%202014.pdf\n[smart pointers need careful programmers]: https://yatb.giacomodrago.com/en/post/11/cpp11-smart-pointers-need-careful-programmers.html\n[uit-se102-game-project ]: https://github.com/danhph/UIT-SE102-Game-Project\n[game programming patterns]: http://gameprogrammingpatterns.com/contents.html\n[Swept AABB collision detection]: https://luuthevinh.me/2016/11/xet-va-xu-ly-va-cham-bang-swept-aabb\n[evolve your heirachy]: http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/\n[monogame framework]: https://github.com/MonoGame/MonoGame\n[monogame samples]: https://github.com/CartBlanche/MonoGame-Samples\n[catapaultwars]: https://github.com/CartBlanche/MonoGame-Samples/tree/master/CatapaultWars\n[netrumble]: https://github.com/CartBlanche/MonoGame-Samples/tree/master/NetRumble\n[roleplayinggame]: https://github.com/CartBlanche/MonoGame-Samples/tree/master/RolePlayingGame\n[directx 9 sdk]: https://www.microsoft.com/en-us/download/details.aspx?id=6812\n[pugixml]: https://github.com/zeux/pugixml/\n[freetype]: https://github.com/ubawurinna/freetype-windows-binaries\n[fmt]: https://github.com/fmtlib/fmt\n[mappy]: http://www.tilemap.co.uk/mappy.php\n[create smart pointer from raw pointer]: https://stackoverflow.com/questions/4665266/creating-shared-ptr-from-raw-pointer\n[seperate animation and physical bounding box]: http://community.monogame.net/t/examples-of-good-adaptive-code-for-animated-sprites/9569\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnearhuscarl%2Fcastlevania","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnearhuscarl%2Fcastlevania","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnearhuscarl%2Fcastlevania/lists"}