{"id":22989494,"url":"https://github.com/roxasshadow/sottaceto","last_synced_at":"2025-04-02T11:45:08.849Z","repository":{"id":7899147,"uuid":"9279187","full_name":"RoxasShadow/Sottaceto","owner":"RoxasShadow","description":"Game engine to make in a simple way Visual Novels for Android.","archived":false,"fork":false,"pushed_at":"2013-12-11T12:16:11.000Z","size":23360,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-08T02:45:01.875Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","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/RoxasShadow.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":"2013-04-07T16:12:00.000Z","updated_at":"2016-09-19T20:01:52.000Z","dependencies_parsed_at":"2022-09-25T05:01:20.836Z","dependency_job_id":null,"html_url":"https://github.com/RoxasShadow/Sottaceto","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/RoxasShadow%2FSottaceto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoxasShadow%2FSottaceto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoxasShadow%2FSottaceto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoxasShadow%2FSottaceto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RoxasShadow","download_url":"https://codeload.github.com/RoxasShadow/Sottaceto/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246811248,"owners_count":20837745,"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-12-15T04:17:43.831Z","updated_at":"2025-04-02T11:45:08.834Z","avatar_url":"https://github.com/RoxasShadow.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Sottaceto\r\n==============================================================\r\nGame engine to make in a simple way Visual Novels for Android. I made a porting in HTML5/javascript for internet browsers too called [sottolio](https://github.com/RoxasShadow/sottolio).\r\n\r\nHow the engine works\r\n-------------------\r\n\r\nMain game class is `Game`. It makes an instance for each widget in its layout, loads the `keyvalues` (an Hashtable\u003cString, String\u003e where ingame variables are stored) and asks `Parser` to parse the script in order to make a `Stack` of `DialogueType` (that is the interface given to each `Types`).\r\n\r\nThe stack contains each command to execute in the game (show a text, invoke an event, do a condition, ask for choice or input, etc).\r\n\r\nThen, `Dialogue.print` is invoked and is attached to the class a `onStop` method that stops all the musics and saves the `keyvalues`.\r\n\r\n\r\n`Dialogue.print` first of all takes the current dialogue to run from the stack and discover what `Types` is it. `Dialogue.print` is a recursive method, and is invoked until the stack is not empty or there is a `GoTo`.\r\n\r\nIn this case, the activity dies and `Game` is recalled with another script.\r\n\r\nHow to make a game with Sottaceto\r\n---------------------------------\r\n\r\nSottaceto allows you to make visual novels in a very simple way, without touching any type of programming languages.\r\n\r\nScripts are files which contains the flow of visual novel and you can understand how it is simple just reading the current script that you can find in `raw/script.xml`.\r\n\r\nImages are stored in `drawable` while musics and sounds in `raw`. Strings are stored in `values`, just edit them like you want.\r\n\r\nHow you have surely understood, you have essentially edit `script.xml` and store resources like images, musics and sounds and compile all with Android SDK.\r\n\r\nGoing in the deep\r\n-----------------\r\n\r\nHow you have surely seen in `script.xml`, characters can appears with animations.\r\n\r\nAnimations are handled by `AnimationHandler` and you can add more just adding their names in `AnimationHandler.AnimationType`, coding and storing them in `anim` and loading their respective resources in `AnimationHandler.execute`.\r\n\r\n\u003e In updating\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froxasshadow%2Fsottaceto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froxasshadow%2Fsottaceto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froxasshadow%2Fsottaceto/lists"}