{"id":22545191,"url":"https://github.com/pdevine/textinvaders","last_synced_at":"2025-03-28T08:25:00.769Z","repository":{"id":57573631,"uuid":"303261439","full_name":"pdevine/textinvaders","owner":"pdevine","description":"Terminal Text Invaders!","archived":false,"fork":false,"pushed_at":"2020-10-16T04:36:06.000Z","size":31,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-02T09:13:29.886Z","etag":null,"topics":["console-game","games","space-invaders"],"latest_commit_sha":null,"homepage":"","language":"Go","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/pdevine.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-10-12T02:53:39.000Z","updated_at":"2023-11-10T22:18:19.000Z","dependencies_parsed_at":"2022-09-26T19:01:25.848Z","dependency_job_id":null,"html_url":"https://github.com/pdevine/textinvaders","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdevine%2Ftextinvaders","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdevine%2Ftextinvaders/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdevine%2Ftextinvaders/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pdevine%2Ftextinvaders/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pdevine","download_url":"https://codeload.github.com/pdevine/textinvaders/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245993178,"owners_count":20706516,"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":["console-game","games","space-invaders"],"created_at":"2024-12-07T14:09:10.113Z","updated_at":"2025-03-28T08:25:00.742Z","avatar_url":"https://github.com/pdevine.png","language":"Go","readme":"# Text Invaders!\nby Patrick Devine, 2019-2020\n\nTL;DR - A unicode space shooter based upon class Space Invaders from 1978\n\nTry it out with the command:\n\n```\n  $ docker run -it --rm ghcr.io/pdevine/textinvaders\n```\n\nIt should look something like:\n\n![Text Invaders!](https://github.com/pdevine/textinvaders/blob/main/imgs/textinvaders.png)\n\n\nThis game was the second that I wrote to show off my Unicode/ASCII Sprite\nlibrary [go-asciisprite](github.com/pdevine/go-asciisprite), with the first\nbeing [Tetromino Elektronika](github.com/pdevine/tetromino). This game,\nhowever, is the first that uses Unicode block characters as \"pixels\" to make it\nlook more like an actual graphical game.\n\nSo why use Unicode block graphics to create a game? It was really to see how\nfar I could push the library. I'd been thinking a lot about old ANSI based BBS\ngames from back in the 1990's, and I'd seen the really impressive [Paku\nPaku](https://www.classicdosgames.com/game/Paku_Paku.html) game by Jason Knight\nwhich uses a trick in DOS to create a 16 colour game using CGA text mode.\n\nFor Text Invaders!, I decided to skip using colour, at least to just prove that\nthe game would work. I've since gone back and made changes go-asciisprite to support\nthe full 256 colour Xterminal palette, so if you're interested in making a\ngraphical text game, it's certainly possible to do.\n\nThe block \"font\" I used inside of the game is based loosely on the font in Paku Paku.\nEven though you can use real text directly in the game, I wanted it to\nlook more pixelated so that it wouldn't break the illusion that you were playing\nan actual graphical game. The Paku Paku font is available directly in the go-asciisprite\nlibrary to use if you want to use it in your own games.\n\nSo what's next for Text Invaders? I've still been tweaking it occasionally by\nadding extra things. There's now a stats screen, and a title screen which \nmakes it easier for players to know how to re-size their terminal to the\ncorrect size. I've been thinking a lot about how movement works in Galaxian\nand Galaga and thinking of changing up the way waves work, so it's possible that\nthere might be some pretty big changes in the future. We'll have to see.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpdevine%2Ftextinvaders","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpdevine%2Ftextinvaders","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpdevine%2Ftextinvaders/lists"}