{"id":13526643,"url":"https://github.com/bjornbytes/tick","last_synced_at":"2025-10-11T20:41:55.855Z","repository":{"id":27520302,"uuid":"31001187","full_name":"bjornbytes/tick","owner":"bjornbytes","description":"Fixed timestep library for LÖVE","archived":false,"fork":false,"pushed_at":"2021-02-17T00:18:11.000Z","size":11,"stargazers_count":86,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-04T17:37:14.059Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Lua","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/bjornbytes.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":"2015-02-19T04:28:08.000Z","updated_at":"2025-03-27T05:41:24.000Z","dependencies_parsed_at":"2022-09-02T09:12:31.847Z","dependency_job_id":null,"html_url":"https://github.com/bjornbytes/tick","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/bjornbytes/tick","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjornbytes%2Ftick","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjornbytes%2Ftick/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjornbytes%2Ftick/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjornbytes%2Ftick/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bjornbytes","download_url":"https://codeload.github.com/bjornbytes/tick/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bjornbytes%2Ftick/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279008621,"owners_count":26084480,"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","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-08-01T06:01:32.540Z","updated_at":"2025-10-11T20:41:55.829Z","avatar_url":"https://github.com/bjornbytes.png","language":"Lua","funding_links":[],"categories":["Utilities"],"sub_categories":[],"readme":"tick\n===\n\nGives `love.run` superpowers, including a [fixed timestep model](http://gafferongames.com/game-physics/fix-your-timestep/) and framerate limiting.\n\nUsage\n---\n\nCopy the `tick.lua` file to a project directory and require it, which returns a table that includes all of the functionality.\n\n```lua\nlocal tick = require 'tick'\n\nfunction love.load(arg)\n  tick.framerate = 60 -- Limit framerate to 60 frames per second.\nend\n```\n\nDocumentation\n---\n\n### Properties\n\nThese are simple variables that can be set on the `tick` table to change its behavior.\n\n- `tick.framerate = -1`\n\nSets the maximum number of frames per second that can occur.  For example, setting framerate to 60 will limit the number of calls to `love.draw` to 60 per second.  Can be set to -1 for unlimited framerate (the default).\n\n- `tick.rate = .03`\n\nSets the tick rate of the fixed timestep model (in seconds per tick), which limits the number of calls to `love.update`.  As a consequence, the `dt` argument passed to `love.update` will always be `tick.rate`.  The default is 33 ticks per second.\n\n- `tick.timescale = 1`\n\nMultiplies all time values by this factor.  For example, setting `timescale` to `0.5` could be used for a bullet time effect.\n\n- `tick.sleep = .001`\n\nThe number of milliseconds to sleep at the end of a frame.  The default of .001 is recommended so you're nice to the player's CPU.\n\n### Read-only Values\n\nThese are timing values that can be read from the `tick` table.  They should only be read, but I guess you can write to them if you want.\n\n- `tick.dt`\n\nA read-only value representing the time elapsed since the last frame.  This is *not* the `dt` passed into `love.update`.\n\n- `tick.accum`\n\nA read-only value representing an accumulation of time.  In `love.draw` this will always be less than `tick.rate`.\n\n- `tick.tick`\n\nA read-only value representing the current tick.  On the first call to `love.update` this will return 1, on the second call it will return 2, and so on.\n\n- `tick.frame`\n\nA read-only value representing the current frame.  On the first call to `love.draw` this will return 1, on the second call it will return 2, and so on.\n\nLicense\n---\n\nMIT, see LICENSE for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbjornbytes%2Ftick","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbjornbytes%2Ftick","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbjornbytes%2Ftick/lists"}