{"id":13779279,"url":"https://github.com/sussman/twisty","last_synced_at":"2025-05-11T12:33:10.458Z","repository":{"id":31476905,"uuid":"35041004","full_name":"sussman/twisty","owner":"sussman","description":"Twisty is a text-adventure interpreter for the Android operating system, playing both Z-machine and Glulx games.","archived":false,"fork":false,"pushed_at":"2017-07-09T14:04:22.000Z","size":6197,"stargazers_count":37,"open_issues_count":48,"forks_count":6,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-08-03T18:13:48.818Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"zh-google-styleguide/zh-google-styleguide","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sussman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-04T14:57:44.000Z","updated_at":"2023-10-29T23:42:02.000Z","dependencies_parsed_at":"2022-08-07T16:30:18.894Z","dependency_job_id":null,"html_url":"https://github.com/sussman/twisty","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sussman%2Ftwisty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sussman%2Ftwisty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sussman%2Ftwisty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sussman%2Ftwisty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sussman","download_url":"https://codeload.github.com/sussman/twisty/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225049037,"owners_count":17412915,"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":[],"created_at":"2024-08-03T18:01:03.413Z","updated_at":"2024-11-17T14:31:18.920Z","avatar_url":"https://github.com/sussman.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"Twisty, a text-adventure interpreter for Android.\n-------------------------------------------------\n\nTwisty is a game interpreter for the Android operating system.  It\nallaws you to play both classic and modern \"text adventures\" on your\nmobile device.\n\nYou can find numerous games to download at http://ifarchive.org.  We\nalso recommend visiting http://www.ifwiki.org for general information\non Interactive Fiction.\n\nThe z-machine is a virtual machine designed in 1979 by Infocom for\nplaying text adventures, and it has been re-implemented on nearly every\ncomputer and PDA since then.  This application allows Android users to\nplay Infocom classics just as 'Zork', as well hundreds of newer text\nadventures written in the last ten years or so.\n\nThe glulx-machine is an modernized version of the z-machine capable of\nabstracted I/O, 32-bit operations, and other nifty things possible\nwithout ancient memory constraints.  Most modern text adventures\nwritten in Inform (www.inform7.com) create games of this type.\n\nTwisty is theoretically capable of identifying and playing both types\nof games.\n\n\nHistory\n-------\n\nThe codebase originally began as an Android Activity constructed\naround a heavily-hacked port of 'zplet', an early lightweight\nz-machine interpreter written for Java 1.0.\n\n *** This project is now undergoing a huge rewrite! ***\n\nWe are now attempting to use Android's Native Development Kit (NDK) to\nmake JNI calls to various VM-interpreters running as C libraries.\nThis should give us a ~10x speed improvement, and also allow us to\nsupport a wider range of z-machines (via 'nitfol'), glulx games (via\n'git') and perhaps someday even TADS or other interpreters.\n\nSpecifically, we're using the GlkJNI layer to provide an abstract UI to \nthe various C interpreters.  GLK is a UI \"abstraction layer\" created by\nAndrew Plotkin which can be implemented in any GUI toolkit, and GlkJNI\nports this abstraction to JNI via a set of java interfaces.  It then\nprovides an Android-specific implementation of those interfaces.  The\nbest C interpreters out there expect to use GLK for I/O, so this\nallows us our pick of C interpreters.\n\n\nRedistribution and Licensing\n-----------------------------\n\nTwisty is open source software, and is distributed as a whole under\nthe GPL v3 license.  It depends heavily on the GlkJNI project, which\nis also under GPL v3; on 'nitfol', a z-machine interpreter, under the\nGPL v2 (which we're releasing under a \"later version\", GPL v3); and\nalso on 'git', a Glulx interpreter, under an MIT license.  The\ncollective Twisty product is thus safely all GPLv3-able.\n\nThree free, classic games are packaged with the application;  for\ndetails on their licensing, see the LICENSE file.  (This doesn't\nviolate the GPL as far as we know, as these games aren't linked into\nthe code, nor are they necessary for the code to build or run.  They\nare merely interpreted and provided for convenience to users.)\n\nPatches are welcome!  Please mail us at twisty-dev@googlegroups.com.\n\n\nInstalling the App\n---------------------\n\nIMPORTANT:\n\nThe version of Twisty in Google Play Store is from 2009 -- it's built\nfrom a totally different codebase that is 100% Java and only\nunderstands 'z machine' games.  It's /not/ able to play most modern\nInform-based glulx games (e.g. ones that end with .gblorb).\n\nThe rewritten version of Twisty isn't yet suitable for release.  While\nit also knows how to play glulx games, it's still buggy and missing\nmany features.  That said, if you're a techie who knows how to install\napps directly (e.g. loading an .apk package via the 'adb install'\ncommand), then you can find the experimental app in the downloads area\nof this Bitbucket project:\n\n  https://bitbucket.org/sussman/twisty/downloads\n\n\n\nBuilding from Source\n--------------------\n\nFor developers contributing:  see the BUILD.md file.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsussman%2Ftwisty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsussman%2Ftwisty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsussman%2Ftwisty/lists"}