{"id":26874084,"url":"https://github.com/luut189/2dgame","last_synced_at":"2026-04-27T23:33:17.420Z","repository":{"id":64937115,"uuid":"575576169","full_name":"luut189/2DGame","owner":"luut189","description":"A top-down 2D game made with Java from scratch.","archived":false,"fork":false,"pushed_at":"2023-02-03T00:59:40.000Z","size":3148,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T09:38:05.122Z","etag":null,"topics":["2d-game","java","java-graphics"],"latest_commit_sha":null,"homepage":"https://luut189.github.io/2DGame/","language":"Java","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/luut189.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":"2022-12-07T20:32:18.000Z","updated_at":"2025-02-25T00:09:52.000Z","dependencies_parsed_at":"2023-02-18T02:01:18.019Z","dependency_job_id":null,"html_url":"https://github.com/luut189/2DGame","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/luut189/2DGame","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luut189%2F2DGame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luut189%2F2DGame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luut189%2F2DGame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luut189%2F2DGame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luut189","download_url":"https://codeload.github.com/luut189/2DGame/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luut189%2F2DGame/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32360110,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"ssl_error","status_checked_at":"2026-04-27T20:07:00.910Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","java","java-graphics"],"created_at":"2025-03-31T09:33:29.810Z","updated_at":"2026-04-27T23:33:17.402Z","avatar_url":"https://github.com/luut189.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 2D Game - Stew the Wanderer\n\n![This is supposed to be my line-of-code count](https://tokei.rs/b1/github/luut189/2DGame?category=code)\n\n## About this\n\nThis is an attempt at making a 2D game for the **ICS4UI**'s final project\n\n- [2D Game - Stew the Wanderer](#2d-game---stew-the-wanderer)\n  - [About this](#about-this)\n  - [Screenshots](#screenshots)\n  - [How To Play](#how-to-play)\n  - [Keybindings](#keybindings)\n  - [How To Run](#how-to-run)\n  - [Folder Structure](#folder-structure)\n\n## Screenshots\n\n![Screenshot](screenshots/7.png)\n\n## How To Play\n\nIn this game, you're a wanderer, who was teleported to an unknown world.\n\nYou have to survive in this world by killing other creatures.\n\nYour only goal is not to die. (*for now*)\n\nYou're equipped with high-level monitoring gears to check all your vitals.\n\nFrom top to bottom:\n\n- The first bar is your regeneration cooldown. When you're not at full health, the bar will start rising.\n  - You will heal **1** unit of health when the bar is full.\n\n- The second bar is your experience bar.\n  - You will be able to increase your health capacity by **1** if this bar is full.\n\n- The third bar is your hit cooldown.\n  - You can only deal damage to something when the bar is full.\n\n- The last bar is your health.\n  - When you're in a normal state, this bar is red. However, it will turn into dark purple if you're cursed by a ghost.\n\nYou're also equipped with a small map that can quickly show your surrounding area.\n\n## Keybindings\n\nGameplay-related Keybinds:\n\n- **W**: Move up\n\n- **S**: Move down\n\n- **D**: Move right\n\n- **A**: Move left\n\n- **Space**: Attack\n\n- **E**: Show the player's stats\n\n- **M**: Toggle the map\n\n- **X**: Zoom the map in\n\n- **Z**: Zoom the map out\n\nApplication-related Keybinds:\n\n- **ESC**: Pause the game\n\n- **H**: Toggle the HUD\n\n- **F**: Toggle between fullscreen mode and windowed mode\n\n## How To Run\n\nIf you downloaded the `.jar` file:\n\n- There is a little [Releases](https://github.com/luut189/2DGame/releases) tab which includes the executable `.jar` file to play the game.\n\n- After downloading the `.jar` file, you can go ahead and run it:\n\n  - For some people, they can run the `.jar` file by simply **double-clicking** it.\n\n  - However, for the others, they need to execute a little command from the **Terminal**:\n\n  ```bash\n  java -jar 2DGame.jar\n  ```\n\nIf you're using **Visual Studio Code**:\n\n- If you clone this project into your local machine, good luck running it without **Code Runner**.\n\n- Actually, even with **Code Runner**, you would probably need to edit the script inside `settings.json` in the `.vscode` folder.\n\n- Your best bet is probably using your personal `settings.json` file.\n\n- If you're using your own `setting.json` file, you **have to** include the `res` folder as a source folder along with the `src` folder by doing this:\n\n```json\n\"java.project.sourcePaths\": [\n    \"src\",\n    \"res\"\n]\n```\n\n\u003e With the `Extension Pack for Java`, you should be able to run the source code without the need of Code Runner.\n\nIf you're using **Replit**:\n\n- I have it setup on **Replit**, so you can just press `Run`.\n\n- However, I **do not** recommend running it on **Replit** because of how big this project is.\n\nIf you're running it via **Terminal** because you think you're cool:\n\n```bash\ngit clone https://github.com/luut189/2DGame.git\ncd 2DGame\ncd src\njavac -cp . -d ../bin dev/kyzel/App.java\njava -classpath ../bin dev.kyzel.App\n```\n\nIf you're using something else, **why?**\n\n\u003e Using **IntelliJ IDEA** is understandable though.\n\n## Folder Structure\n\nThe workspace contains:\n\n- `.vscode`: Visual Studio Code's settings\n\n- `res`: Resources (*sprites*, *textures*, *musics*,...)\n\n- `src/dev/kyzel`: Sources\n\n  - `game`: Game-related components\n\n    - `entity`: Entity-related components\n\n    - `menu`: Menu-related components\n\n    - `world`: World-related components\n\n  - `gfx`: GUI-related components\n  \n  - `sfx`: Sound-related component\n\n  - `utils`: Utilities components (mostly include ***Loaders*** for the game)\n\n  - `App.java`: main class\n\nMeanwhile, the compiled output files will be generated in the `bin` folder and ignored by `.gitignore` by default.\n\n\u003e If you are using Visual Studio Code, you can export `.jar` file if you have the `Extension Pack for Java` and it will be in the `build` folder.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluut189%2F2dgame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluut189%2F2dgame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluut189%2F2dgame/lists"}