{"id":45749601,"url":"https://github.com/hangovergames/project-memory","last_synced_at":"2026-02-25T17:47:42.300Z","repository":{"id":232007185,"uuid":"783226662","full_name":"hangovergames/project-memory","owner":"hangovergames","description":"Matching Game Project","archived":false,"fork":false,"pushed_at":"2024-04-13T23:30:06.000Z","size":11843,"stargazers_count":0,"open_issues_count":31,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-14T06:45:49.640Z","etag":null,"topics":["game","games","io","io-games","iogame","iogames","matching-card-game","memory","memory-games","memory-matching","memory-matching-game","webgame","webgames"],"latest_commit_sha":null,"homepage":"https://memory.hangover.games","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hangovergames.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-04-07T09:42:27.000Z","updated_at":"2024-04-15T12:06:02.191Z","dependencies_parsed_at":"2024-04-15T12:05:34.319Z","dependency_job_id":"6955d35f-2265-4918-8bd4-337129ef737b","html_url":"https://github.com/hangovergames/project-memory","commit_stats":null,"previous_names":["hangovergames/project-memory"],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/hangovergames/project-memory","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hangovergames%2Fproject-memory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hangovergames%2Fproject-memory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hangovergames%2Fproject-memory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hangovergames%2Fproject-memory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hangovergames","download_url":"https://codeload.github.com/hangovergames/project-memory/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hangovergames%2Fproject-memory/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29832981,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T17:17:09.781Z","status":"ssl_error","status_checked_at":"2026-02-25T17:16:50.421Z","response_time":61,"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":["game","games","io","io-games","iogame","iogames","matching-card-game","memory","memory-games","memory-matching","memory-matching-game","webgame","webgames"],"created_at":"2026-02-25T17:47:37.354Z","updated_at":"2026-02-25T17:47:42.291Z","avatar_url":"https://github.com/hangovergames.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hangover Games' Memory Matching Game\n\nWelcome to the GitHub repository for our memory matching game!\n\n1. ***Want to play it?*** The game is at [https://memory.hangover.games/](https://memory.hangover.games/)\n\n2. ***Want to follow the development?*** See [the index issue](https://github.com/hangovergames/project-memory/issues/1)\n\n3. ***Want to join the community?*** Join our [Discord](https://discord.com/invite/tKKMczp)!\n\nThis repository contains the frontend source code and is the central hub for tracking issues and \ndevelopments related to the game.\n\n## Rules of the Game\n\n1. **Combo Points**: Earn points for consecutive matching pairs. More points \n   are awarded for longer combos, with a maximum of eight consecutive pairs.\n\n2. **Memory Bonus**: Gain extra points for recalling a card’s position for a \n   longer time, up to a set limit based on the number of cards on the board. This \n   bonus applies only when you successfully match a card on the second attempt \n   after its first reveal and when more than two cards are open (the time bonus \n   stops when only two cards are visible).\n\n3. **First Reveal Points**: Points are awarded the first time you reveal a \n   card. However, you will lose points each subsequent time you reveal the same \n   card without making a match.\n\n4. **Visibility Penalty**: Points are reduced the longer a card remains \n   revealed without being paired. This penalty increases exponentially over time. \n   \n   **Note**: No need to rush if all cards are paired — take this moment for a quick \n   coffee break as this penalty pauses when there are no unpaired cards open on \n   the board.\n\n5. **Mismatch Penalty**: Points are deducted each time you incorrectly attempt \n   to pair a revealed card with another.\n\n## Releases\n\nNotice: Our releases in this repository contain the game server as encrypted \nself-installing release. You need to have the private key to use them. Contact \nus, if you want to host your own server.\n\n## IFrame\n\nYou can share our game on your website using an iframe:\n\n```\n\u003ciframe src=\"https://memory.hangover.games/\" width=\"960\" height=\"540\" scrolling=\"none\"\n frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" hspace=\"0\" vspace=\"0\"\n webkitallowfullscreen=\"true\" mozallowfullscreen=\"true\" msallowfullscreen=\"true\"\n allowfullscreen=\"true\"\u003e\u003c/iframe\u003e\n```\n\n## Contribution and Issue Tracking\n\nWe encourage you to participate in our development process. You can find and \ncontribute to our discussions on software development through our [Issues \npage](https://github.com/hangovergames/project-memory/issues). Here, you will \nencounter three main types of issues that guide our work:\n\n1. **Development Overview Issue:** Tracks the overall development progress of \n   the game.\n\n2. **Next Release Issue:** Pinned to track the forthcoming iteration of \n   development.\n\n3. **Backlog Issue:** Contains all tasks and developments pending allocation to \n   a release.\n\n### Community Engagement\n\nJoin our community on [Discord](https://discord.com/invite/tKKMczp)!\n\nAdditionally, we contribute to \n[the HyperifyIO project](https://github.com/hyperifyio), which maintains its own \n[Discord Server](https://discord.com/invite/UBTrHxA78f).\n\n### Issue Hierarchy\n\nOur product management is streamlined into four levels of issues, ensuring \nclarity and focus in our development efforts:\n\n- **Index Issue (`index`):** Serves as the master tracker for all development \n  activities, including project and backlog issues.\n\n- **Project Issues (`project`):** Represent a development iteration or release, \n  encompassing various tasks and bugs.\n\n- **Task Issues (`task` or `bug`):** The primary unit of work, ideally broken \n  down into manageable steps achievable within a single release.\n\n- **Subtask Issues (`subtask`):** Detailed components of a task or bug, either \n  tracked as separate GitHub issues or as checklist items within a task issue.\n\n### Work Estimates\n\nWe adopt a straightforward approach to estimating development progress through \n[ticket \ncounting](https://info.thoughtworks.com/rs/thoughtworks2/images/twebook-perspectives-estimation_1.pdf). \nExperience shows that detailed time estimates are often unnecessary. By \nsplitting tasks into the smallest feasible units, we find that the average \ncompletion time becomes a constant. Assuming an average of one (1) story point \nper item, we standardize all tasks to this value, simplifying our estimation \nprocess to merely counting tasks/subtasks. This method has proven effective and \nefficient, allowing us to focus more on actual development work.\n\n### Source Code\n\nWhile the complete source code for the game is not publicly \navailable, we and our parent company [Heusala Group Ltd](https://heusalagroup.fi) are \nopen to crafting similar websites for interested customers under a commercial \nagreement.\n\nOur development stack is rooted in modern technologies such as ReactJS, NodeJS, \nand Golang, which enables us to deliver highly responsive and scalable \nwebsites. \n\nFor those interested in leveraging our expertise for their own projects, we \ninvite you to [contact our sales team](https://www.heusalagroup.fi/contact) for \na detailed discussion and to request a quote. Our team is dedicated to \nproviding you with a solution that not only meets your needs but also surpasses \nyour expectations in terms of quality and security.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhangovergames%2Fproject-memory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhangovergames%2Fproject-memory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhangovergames%2Fproject-memory/lists"}