{"id":19662524,"url":"https://github.com/davdag/windows-game-engine","last_synced_at":"2025-08-17T14:44:29.771Z","repository":{"id":256005282,"uuid":"166867213","full_name":"DavDag/Windows-Game-Engine","owner":"DavDag","description":"My own Game Engine ! (called Gengine)","archived":false,"fork":false,"pushed_at":"2019-02-25T18:45:42.000Z","size":93,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-10T01:52:22.763Z","etag":null,"topics":["colors","cpp-library","easy-to-use","fast","game-engine","graphics-engine","graphics-library","keyboard","math","mouse","windows-h","windows-library","windows-only"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DavDag.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":"2019-01-21T19:19:10.000Z","updated_at":"2019-08-10T07:40:07.000Z","dependencies_parsed_at":"2024-09-08T13:21:40.517Z","dependency_job_id":"9215dfb2-9b8b-4330-9169-1cd38579e1b3","html_url":"https://github.com/DavDag/Windows-Game-Engine","commit_stats":null,"previous_names":["davdag/windows-game-engine"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavDag%2FWindows-Game-Engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavDag%2FWindows-Game-Engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavDag%2FWindows-Game-Engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavDag%2FWindows-Game-Engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DavDag","download_url":"https://codeload.github.com/DavDag/Windows-Game-Engine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240971275,"owners_count":19886716,"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":["colors","cpp-library","easy-to-use","fast","game-engine","graphics-engine","graphics-library","keyboard","math","mouse","windows-h","windows-library","windows-only"],"created_at":"2024-11-11T16:11:40.654Z","updated_at":"2025-02-27T03:21:31.375Z","avatar_url":"https://github.com/DavDag.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# My-Windows-Game-Engine\nMy own graphic engine.\n(Currently works for every version of Window)\n\n## What can you do ?\n* Draw circles, ellipses, rectangle, polygons.\n* Read input from keyboard and mouse (pressed, held, released, toggled).\n* Colors ! (Now RGB only but i'm working to add Alpha).\n* Lock FPS ( from 1 to 1000! ).\n* Set Window Title.\n* Run in multithreading so FASTER on multicore machines.\n* I will add Surfaces, vector2d, vector3d, some helpful math's equations and others !.\n\n## How to install it\n### DevCpp\n\n1. Create New Project (Empty Project / Console Application)\n2. Go to Project-\u003eProject Options-\u003eParameters-\u003eAdd Library or object. Browse into C:\\somthing\\GEngine\\bin\\libGEngine.a and Select it.\n3. Paste \"-lgdi32 -lwinmm -lws2_32\" inside Linker box (_You need to complete second before !)\n4. Go to Project-\u003eProject Options-\u003eDirectories-\u003eInclude Directories. Browse into C:\\somthing\\GEngine\\src, Select it and click on \"ADD\".\n5. Then you can #include \u003cGEngine.hpp\u003e and use my library !\n\n## How to use it\n\n### Basics\n```c++\n#include \u003cGEngine.hpp\u003e\n\n/** Create a class and inherit from GEngine\n  * You must define onStart() and onUpdate(float dt)\n  * otherwise it will be abstract.\n  **/\nclass Engine: public GEngine\n{\n\n  public:\n    // This function will be called when the game start or restart.\n    bool onStart()\n    {\n      // Return true if all worked correctly\n      return true;\n    }\n    \n    // Every frame the engine will call this function\n    bool onUpdate(float dt)\n    {\n      clear(Color::Black);                          // Clear background with black\n      drawRect(400, 300, 100, 100, Color::Blue);    // Draw a simple 100px width 100px height blue rectangle\n      \n      if(KeyBoard::GetKeyState(KeyBoard::K_W).held) // Check if W is held\n       drawRect(500, 300, 100, 100, Color::Red)     // Draw a 100px width 100px height red rectangle\n      \n      // Its important to return true if you dont want to close the application\n      return true;\n    }\n    \n    // optional\n    bool onDestroy()\n    {\n      // This function is called when Game Loop is over.\n      // You can return true if you want to close or false if you want to restart the game.\n      return true;\n    }\n};\n\nint main()\n{\n  // Create an instance.\n  Engine demo;\n  \n  // Initialize the window (width, height) in pixels.\n  if(demo.init(800, 600))\n  \n      // If all is gone correctly you can run your game !\n      demo.run();\n  \n  return 0;\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavdag%2Fwindows-game-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavdag%2Fwindows-game-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavdag%2Fwindows-game-engine/lists"}