{"id":15142315,"url":"https://github.com/guillaume-gomez/ld39","last_synced_at":"2025-10-23T19:31:29.341Z","repository":{"id":23324269,"uuid":"98716741","full_name":"guillaume-gomez/LD39","owner":"guillaume-gomez","description":"My LD39 entry ","archived":false,"fork":false,"pushed_at":"2022-12-07T01:10:44.000Z","size":14671,"stargazers_count":8,"open_issues_count":16,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-29T21:55:34.509Z","etag":null,"topics":["concept","game","ipad","iphone","ludum-dare","ludum-dare-39","nodejs","smartphone"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/guillaume-gomez.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":"2017-07-29T07:35:27.000Z","updated_at":"2024-07-18T20:11:42.000Z","dependencies_parsed_at":"2022-08-13T01:00:17.372Z","dependency_job_id":null,"html_url":"https://github.com/guillaume-gomez/LD39","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/guillaume-gomez%2FLD39","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guillaume-gomez%2FLD39/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guillaume-gomez%2FLD39/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guillaume-gomez%2FLD39/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guillaume-gomez","download_url":"https://codeload.github.com/guillaume-gomez/LD39/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237882172,"owners_count":19381176,"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":["concept","game","ipad","iphone","ludum-dare","ludum-dare-39","nodejs","smartphone"],"created_at":"2024-09-26T09:40:31.898Z","updated_at":"2025-10-23T19:31:27.937Z","avatar_url":"https://github.com/guillaume-gomez.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![logo](/screenshots/logo.png)\n\n## About\nThe concept of this game if fairly simple, there’s a map, you and your friend (represented by the diamond shaped element) are stuck in there and need to find the exit. You can move in 4 directions and to do so you'll have to use your devices.\nFor instance, to move to the right, it's super easy : You put your second device on the right of the first one\nand you just pinch ! The second device become the new spot where you and your friend are (as seen on\nthe mini map in game) and you keep on going until you find the exit ! (before you run out of power and die a horrible death of course ^^)\n\n## Dev process\n\nFor this LD, the theme being running out of power, we thought about an \"escape before\nit's too late\" kind of game but with a interesting twist in the gameplay.\nIn this game, to move from one room to another you use 2 real life devices\nto build your path !\nWe used a library called [Swip JS](https://github.com/paulsonnentag/swip) that let you connect several devices (smartphones, iphones, ipads,\nor even a laptop with touch screen) with only one move, a pinch on the screens.\n\nSince we had to go on the LD39 journey with a super small team, we decided to keep\nall the other fancy elements, like graphics or music, super low key with room for future\nimprovements.\n\nAll assets have been made during the event.\n\n## Demo\n\n\u003ca href=\"https://www.youtube.com/watch?v=j-0KVw4JqFs\" target=\"_blank\"\u003e\n\u003cimg src=\"./screenshots/preview-google.png\"/\u003e\n\u003c/a\u003e\n\n## Screenshots\n![starting-game](screenshots/begin.gif)\n\n![finish-game](screenshots/end.gif)\n\n\u003cimg src=\"screenshots/first-screen.png\" width=\"250\"\u003e \u003cimg src=\"screenshots/second-screen.png\" width=\"250\"\u003e \u003cimg src=\"screenshots/finish-screen.png\" width=\"250\"\u003e\n\n### Controls\n- Move : Your fingers\n\n## Set up Project\n\n### Install dependency\nThe project has one dependency : NodeJs.\n\nSo first let's install it :\n\n#### Windows and MacOs\nYou can download installer on the [NodeJs website](https://nodejs.org/en/).\n\n#### Linux\nOpen a terminal\n```\n    sudo apt-get update\n    curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -\n    sudo apt-get install -y nodejs\n ```\n\n### Compile and start the game\n\nYou have to get the sources.\nTo do it, you need to download the ZIP folder of the game on [Github](https://github.com/guillaume-gomez/LD39) (like in the picture below).\n\n![download-zip](screenshots/github-download.png)\n\nFor the next steps, let's consider that you **have extracted the ZIP** directly in the Downloads folder (you can extract it whatever you want but you will need to adapt the path in the command lines in the next part of the guide).\n\n## Build from sources\n\n#### Windows, Linux and Mac\nOpen a terminal, and type the following\n```\ncd Downloads/LD39-master\nnpm install\nnpm run build\ncd client\nnpm install\nnpm run build\ncd ..\nnpm start (or npm custom)\n```\n_The last command launch the server_. _For the basic version, use `npm start`_. _To enable a more challenging version use `npm custom`_.\n\n\nOk, so your serveur is started (Do not kill the terminal until you stop playing the game).\nNow you can see the result on your computer, to visualize go to `localhost:3000` on your favorite browser.\n\nThere is one last step to connect your portable devices (Smartphone, Iphone, Ipads, Kindle, etc).\n\nYou will need your network local address by typing in **another** terminal (your devices need to be connected on the same network as your pc by simply connecting your device on WIFI).\n\nSo on linux, and mac, open a terminal and enter\n```\n  ifconfig\n```\n\n![mac-inet](screenshots/ipv4-mac.png)\n\n\nFor instance my local address is `192.168.1.125`\n\nOn Windows, on a terminal too, and enter\n```\n  ipconfig\n```\n\n![windows](screenshots/ipv4-windows.png)\n\n\nFor instance my local address is `192.168.1.125`\n\n**The local adress can change, so don't hesitate to check this address. It may changed when your computer leave the network (basicaly when you turn off your computer)**\n\n### Basic Vs Custom version\n\nThe basic version allows you to move wherever the character is located in the main screen.\nIn the second version, the character have to be at the edges of the screen. So to move on the left, the character have to go on the left corner.\n\n\u003cimg src=\"screenshots/basic-version.png\" width=\"400\"\u003e \u003cimg src=\"screenshots/custom-preview.png\" width=\"400\"\u003e\n\n## Let's play\nYou can now play the game easily.\nOpen a browser on both your devices, and type `(YourLocalAddress):3000.` (in the case above `192.168.1.125:3000`)\n\nThe game will start on your devices.\n\nIf something went wrong, don't hesitate to restart the server by killing the terminal where the server is running.\nAnd restart it with command `npm start` (or `npm custom` in the folder LD39-master of course)\n\nEnjoy !\n\n_the server can be still buggy :| , but I will work on it_\n\n[link to ludum dare page](https://ldjam.com/events/ludum-dare/39/pinchscape)\n\n## Team\n- Maxime Lambert: Concept / Game Design\n- Guillaume Gomez: Programming\n\n## Results\n1361 jam entries\n\n![results](screenshots/results.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguillaume-gomez%2Fld39","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguillaume-gomez%2Fld39","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguillaume-gomez%2Fld39/lists"}