{"id":21342710,"url":"https://github.com/tboydston/supremetictactoe","last_synced_at":"2026-04-29T10:05:13.358Z","repository":{"id":56040894,"uuid":"280391508","full_name":"tboydston/supremetictactoe","owner":"tboydston","description":"Löve 2d, Lua tictactoe implementation of Minimax algo with alpha/beta pruning. Includes sardonic AI opponent, multiple win paths and over 200 ego shattering quips. ","archived":false,"fork":false,"pushed_at":"2020-11-29T13:42:03.000Z","size":1836,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-22T15:45:01.251Z","etag":null,"topics":["love2d","lua","minimax","tictactoe"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tboydston.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":"2020-07-17T10:05:50.000Z","updated_at":"2020-11-29T13:42:06.000Z","dependencies_parsed_at":"2022-08-15T12:00:51.703Z","dependency_job_id":null,"html_url":"https://github.com/tboydston/supremetictactoe","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/tboydston%2Fsupremetictactoe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tboydston%2Fsupremetictactoe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tboydston%2Fsupremetictactoe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tboydston%2Fsupremetictactoe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tboydston","download_url":"https://codeload.github.com/tboydston/supremetictactoe/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243818198,"owners_count":20352629,"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":["love2d","lua","minimax","tictactoe"],"created_at":"2024-11-22T01:09:44.267Z","updated_at":"2026-04-29T10:05:13.289Z","avatar_url":"https://github.com/tboydston.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Supreme TicTacToe\n\n![banner](assets/header.jpg)\n\n## Overview \n\nYou, a mere mortal meatbag, face off against the perfect immortal machine known as \"Supreme\" in an epic battle of X's and O's. It will require all or your human cunning to find and exploit bugs to defeat Supreme at it's own game. \n\nHighlights\n\n- 8 unique paths to victory. \n- Over 200 ego shattering insults.\n- Disappointing 8 bit graphics.\n\n## Less Hyperbolic Overview \n\nSupreme TicTacToe was created when I was playing around with implementing miniMax alpha beta pruning in Lua for Love2d. I got tired of playing against myself and so added a little frenemy to play against. \n\nOverall it is a puzzle game. You cannot defeat Supreme at tictactoe but if you’re clever you unleash your inner QA engineer and exploit bugs in Supreme's code. \n\n# Code Overview\n\nAs with all Love2d programs the entry point is 'main.lua'. All traditional love game loop calls are routed to the 'SceneManager' which is a singleton responsible for directing calls to the active scene. \n\n### Minimax Alpha/Beta Pruning Implementation\n\nIf you are here for the lua minimax implementation see lib/miniMaxMove.lua\n\n### File Structure\n\nassets - Contains graphics, sounds, fonts, ect.\u003cbr\u003e\nentities - If it draws on the screen it is an entity. Entities are created using entity1 = Entity:new() \u003cbr\u003e\nlib - Libraries contain global functions that are expected to exist only once. There internal function are called using lib.function()\u003cbr\u003e\nquips - Quips control Supreme's speech. There are autoload by the quipManager library and new quips can be added directly  \u003cbr\u003e\nscenes - Scenes are the game-loop for each scene. They are auto-loaded by the sceneManager. \u003cbr\u003e\nconfig.lua - Basic config data mostly used for debugging.\u003cbr\u003e\nmain.lua - Program start point.\u003cbr\u003e\n\n# Running The Game. \n\nSupreme TicTacToe can be run directly from the console using the below command on mac/linux systems.\n\n``\nlove . --console\n``\n\n# Building the game\n\nWe build Supreme TicTacToe using 'Make Love' available here. \n\nhttps://github.com/pfirsich/makelove\n\n\n# Thanks\nThanks to Komodeo for playtesting and improving content.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftboydston%2Fsupremetictactoe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftboydston%2Fsupremetictactoe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftboydston%2Fsupremetictactoe/lists"}