{"id":20526567,"url":"https://github.com/nikvoronin/sokoban","last_synced_at":"2025-06-22T04:35:53.308Z","repository":{"id":144197580,"uuid":"59475041","full_name":"nikvoronin/Sokoban","owner":"nikvoronin","description":"All-in-one Sokoban game (about 64Kb size) with vector graphics. Game and levels are packed in one .exe file.","archived":false,"fork":false,"pushed_at":"2017-02-16T11:31:43.000Z","size":257,"stargazers_count":2,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-16T11:27:05.471Z","etag":null,"topics":["csharp","game","game-development","gamepad","sokoban","vector-graphics","xinput"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nikvoronin.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-23T10:52:00.000Z","updated_at":"2020-03-15T03:10:51.000Z","dependencies_parsed_at":"2023-06-16T07:30:41.087Z","dependency_job_id":null,"html_url":"https://github.com/nikvoronin/Sokoban","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikvoronin%2FSokoban","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikvoronin%2FSokoban/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikvoronin%2FSokoban/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikvoronin%2FSokoban/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nikvoronin","download_url":"https://codeload.github.com/nikvoronin/Sokoban/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242133430,"owners_count":20077095,"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":["csharp","game","game-development","gamepad","sokoban","vector-graphics","xinput"],"created_at":"2024-11-15T23:14:45.100Z","updated_at":"2025-03-06T01:44:49.560Z","avatar_url":"https://github.com/nikvoronin.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sokoban\r\n\r\nThis is a small (about 64Kb) [Sokoban](https://en.wikipedia.org/wiki/Sokoban) game written in C# with vector graphics. Game and levels are packed in one .exe file. Primary goals of this project are use of vector graphics, MVC-pattern, packed embedded resources, [XInput gamepads](https://github.com/nikvoronin/XInput.Wrapper) and using of GDI+ only.\r\n\r\n[DOWNLOAD](https://github.com/nikvoronin/sokoban/releases/latest) latest release here.\r\n\r\n![Main menu](https://cloud.githubusercontent.com/assets/11328666/16518051/83aeb698-3f89-11e6-8efb-33c1f4483686.png)\r\n\r\nCURSOR, WASD, [D-Pad] to move.\u003cbr/\u003e\r\nESCAPE, [START] to select another level.\u003cbr/\u003e\r\nCTRL+, CTRL-, [RB, LB] resizes game board (Numpad's +- keys and Gamepad's bumper-keys does the same).\u003cbr/\u003e\r\nBACKSPACE, [B] to undo last movement.\u003cbr/\u003e\r\nF5, [BACK] restarts current level.\u003cbr/\u003e\r\n\r\nYou can use gamepad at select level menu: [D-Pad] to navigate, [A] as ENTER and [B] as TAB.\r\n\r\n![Ingame screen](https://cloud.githubusercontent.com/assets/11328666/16518066/981edcca-3f89-11e6-9e6a-c54808de643d.png)\r\n\r\n\r\n## Thanks to\r\n\r\n**ZipStorer** by [Jaime Olivares](https://github.com/jaime-olivares/zipstorer)\u003cbr/\u003e\r\n**Rabbit** levels by [Thinking Rabbit](https://en.wikipedia.org/wiki/Thinking_Rabbit)\u003cbr/\u003e\r\n**SVB** levels by [Belyaev S. V.](http://svb-sokoban.narod.ru)\u003cbr/\u003e\r\n**GRIGoRusha** levels by [Evgeny Grigoriev](http://grigr.narod.ru)\r\n\r\n\r\n# Level Map\r\n\r\nThe game contains about 838 levels.\r\n\r\n![Select level](https://cloud.githubusercontent.com/assets/11328666/16518070/9b01f09e-3f89-11e6-9c3b-18ced594cb25.png)\r\n\r\nLevel is a text file with CRLF line ending. First line is a name of the level. Next lines contains blocks of level. Level map must ends with empty line (CRLF only).\r\n\r\nLegend (without quotes):\u003cbr/\u003e\r\n\u003cpre\u003e_ ' ' underscore or space for empty cells.\r\n# Wall\r\n$ Barrel or box\r\n. Plate\r\n* Barrel on the plate \r\n@ Player's start point\r\n+ Player starts over the plate\r\n\u003c/pre\u003e\r\n\r\n\r\n## Example 'Rabbit 01'\r\n\r\nDo not forget that levels are separated each other by CRLF (empty line).\r\n\r\n\u003cpre\u003eRabbit 01\r\n____#####__________\r\n____#___#__________\r\n____#$__#__________\r\n__###__$##_________\r\n__#__$_$_#_________\r\n###_#_##_#___######\r\n#___#_##_#####__..#\r\n#_$__$__________..#\r\n#####_###_#@##__..#\r\n____#_____#########\r\n____#######________\r\n\r\n\u003c/pre\u003e\r\n\r\n\r\n## Levels Pack\r\n\r\nLevels are contained in a single text file. You can pack that file into a .zip archive. One .zip contains one level file. Game will automatically recognize zipped files.\r\n\r\n\r\n# Command-line\r\n\r\nSokoban.exe\u003cbr/\u003e\r\nSokoban.exe userDefinedLevels.pack","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikvoronin%2Fsokoban","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikvoronin%2Fsokoban","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikvoronin%2Fsokoban/lists"}