{"id":15021543,"url":"https://github.com/halaway/qt-chess-engine","last_synced_at":"2026-01-31T10:31:21.773Z","repository":{"id":256978211,"uuid":"856987570","full_name":"halaway/Qt-Chess-Engine","owner":"halaway","description":"An interactive chess engine integrated into a Qt6.5 program designed for running as a native and browser-based GUI application, built with C++, CMake, Qt Creator, Emscripten, and compiled for WebAssembly.","archived":false,"fork":false,"pushed_at":"2024-10-07T02:20:01.000Z","size":9709,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-01T03:51:18.776Z","etag":null,"topics":["cmake","cpp","emscripten","qt","webassembly"],"latest_commit_sha":null,"homepage":"https://halaway.github.io/Qt-Chess-Engine/","language":"Makefile","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/halaway.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":"2024-09-13T15:30:09.000Z","updated_at":"2024-12-06T00:08:24.000Z","dependencies_parsed_at":"2024-12-18T03:50:27.430Z","dependency_job_id":null,"html_url":"https://github.com/halaway/Qt-Chess-Engine","commit_stats":{"total_commits":7,"total_committers":1,"mean_commits":7.0,"dds":0.0,"last_synced_commit":"f7229d97bd90469bc88149f9bddc0b5e5686f99f"},"previous_names":["halaway/qt-chess-engine"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halaway%2FQt-Chess-Engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halaway%2FQt-Chess-Engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halaway%2FQt-Chess-Engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/halaway%2FQt-Chess-Engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/halaway","download_url":"https://codeload.github.com/halaway/Qt-Chess-Engine/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253830143,"owners_count":21970991,"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":["cmake","cpp","emscripten","qt","webassembly"],"created_at":"2024-09-24T19:56:42.310Z","updated_at":"2026-01-31T10:31:21.747Z","avatar_url":"https://github.com/halaway.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e Qt Chess Engine \u003c/h1\u003e\n\n[![Deploy static content to Pages](https://github.com/halaway/Qt-Chess-Engine/actions/workflows/static.yml/badge.svg?branch=main)](https://github.com/halaway/Qt-Chess-Engine/actions/workflows/static.yml)\n\n\u003e A Qt6.5 program for developing native and browser-based GUI applications,\n  built with CMake, Qt Creator, and Emscripten, featuring a fully interactive Chess engine. \n\n## Description\nAs a final build, this project focuses again on the Qt Framework and creates a cross-platform graphical user interface for playing a game of Chess. \nQt handles widget customization, piece renderings, and event handling while the Board class manages positional logic, game rules, and piece interactions.\n\nAs before, this project makes use of WebAssembly, a binary instruction format, capable of running alongside Javascript inside a \nvirtual environment such as a web browser. Emscripten will again be used to compile the C++ application into WebAssembly (WASM) and JavaScript (js) files \nand finally deployed to be used across the web.\n\n\n\n## Getting Started\n\n### Dependencies\n\n* Qt 5/6 \n* CMake \n* Launch Qt VSCode Extension \n* GCC (Linux/macOS) – C++ compiler (install via ```apt``` or ```brew```)\n* Clang (macOS/Linux) – C++ Compiler (x86/x64)\n* Xcode Command Line Tools - Required for macOs\n* Emscripten – Compiling C++/C projects to WebAssembly\n\n## Building\n\n### VSCode macOs\n\nRunning on mac using VSCode requires the Launch Qt Extension along with CMake. \nUsing WebAssembly for browser compilation requires setting system Path for Emscripten: ```source \"$HOME/emsdk/emsdk_env.sh\" ```\n\nTo Run: \n\n```\n- cd build\n- cmake .. \n- cmake —-build .\n- open ChessGame.app\n```\n### Qt Creator \nUsing the Qt IDE:\n```\n- Run cmake\n- Run\n```\n\nTo run the application on a web browser using Qt Creator, ensure that compatible versions of Emscripten and WebAssembly are installed. Then \nset the Devices' Emscripten SDK path ```/users/path/to/emsdk/``` \nand Build using the WebAssembly Qt Kit.\n\n\n## Native Desktop GUI Build\n\u003cimg width=\"600\" alt=\"Screen Shot 2024-09-13 at 3 11 16 PM\" src=\"https://github.com/user-attachments/assets/d99e3052-e8e7-4479-871c-7a28a058ca4b\"\u003e\n\n## WebAssembly Based Browser Build \n\u003cimg width=\"600\" alt=\"chess_gui\" src=\"https://github.com/user-attachments/assets/1f73b86c-684b-49f2-92ac-6db84b7a9c89\"\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalaway%2Fqt-chess-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhalaway%2Fqt-chess-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalaway%2Fqt-chess-engine/lists"}