{"author_link":"\/users\/benjamin-san-souci","author_name":"Benjamin San Souci","author_uid":"benjamin-san-souci","comments":[],"epoch":1524694473,"event":"LD41","format":"md","ldjam_node_id":94288,"likes":8,"metadata":{"p_key":"113852","p_author":"Benjamin San Souci","p_authorkey":"1067532","p_urlkey":"329812","p_title":"My Dear Farm - Instant feedback when coding","p_cat":"LDJam ","p_event":"LD41","p_time":"1524694473","p_likes":"8","p_comments":"0","p_status":"WAYBACK","us_key":"1067532","us_name":"Benjamin San Souci","us_username":"benjamin-san-souci","event_start":"1524182400","event_key":"72","event_name":"LD 41"},"node":{"_collation":{"body_sanitizer":"TextUtils::SanitizeHTML via existing importer","event":"LD41","removed_author":false},"_superparent":73256,"_trust":3,"author":67532,"body":"Our game [My Dear Farm](https:\/\/ldjam.com\/events\/ludum-dare\/41\/my-dear-farm) mixes farming simulator mechanics with story-driven horror aspects. This left us with way too much to do. Luckily our development setup allowed us to iterate extremely fast on visuals and mechanics.\n\nWe used [ReasonML](http:\/\/reasonml.github.io\/) as a programming language and [Reprocessing](https:\/\/github.com\/schmavery\/reprocessing) as our drawing library. Reprocessing comes with multi-file hot-reloading, which means we can leave the game running and make any edits to the files and see them pop in without losing the state of the game.\n\nHere's an example where I'm tweaking the text of the interaction (the game updates when I save the text file)\n\n![hotreloading-demo1.gif](\/\/\/raw\/cc7\/01\/z\/1408f.gif)\n\nWe can actually update most things from our game like this. Below is an example of me adding a whole new action for the seeds, which are game objects on the scene.\nI'm just adding another case saying \"if you're not holding anything and you're facing the PickUp(Seed) action, then show this text\" and same for the code actually updating what you're carrying. Then you can magically pick up seeds, like you can pick up water. Everything Just Works\u2122\n\n![hotreloading-demo2.gif](\/\/\/raw\/cc7\/01\/z\/14095.gif)\n\nHere's a more fancy example where I git checkout master to get changes my friend made, and the game update correctly.\n\n![hotreloading-demo3.gif](\/\/\/raw\/cc7\/01\/z\/140a1.gif)\n\n\nThe last cool thing I'll mention about Reprocessing is that we developed this entire game compiling it to bytecode, but then, without needing to touch anything, compiled it to JS and published it that way. And this whole thing is just a drawing library compiled to very normal JS using webgl, it's a super thin stack compared to alternatives.\n\nHope you enjoyed this! The code is all on [GitHub](http:\/\/github.com\/bsansouci\/ludum-dare-41\/).\n\nWould love to hear about what you think about [My Dear Farm](https:\/\/ldjam.com\/events\/ludum-dare\/41\/my-dear-farm).","comments":0,"created":"2018-04-25T21:37:06Z","files":[],"files-timestamp":0,"id":94288,"love":8,"love-timestamp":"2018-11-18T10:03:38Z","meta":[],"modified":"2018-11-18T10:03:38Z","name":"My Dear Farm - Instant feedback when coding","node-timestamp":"2018-04-25T22:15:35Z","parent":83580,"parents":[1,5,9,73256,83580],"path":"\/events\/ludum-dare\/41\/my-dear-farm\/my-dear-farm-instant-feedback-when-coding","published":"2018-04-25T22:14:33Z","scope":"public","slug":"my-dear-farm-instant-feedback-when-coding","subsubtype":"","subtype":"","type":"post","version":277049},"node_metadata":{"n_key":"94288","n_urlkey":"329812","n_parent":"83580","n_path":"\/events\/ludum-dare\/41\/my-dear-farm\/my-dear-farm-instant-feedback-when-coding","n_slug":"my-dear-farm-instant-feedback-wh","n_type":"post","n_subtype":"","n_subsubtype":"","n_author":"67532","n_created":"1524692226","n_modified":"1542535418","n_version":"277049","n_status":"WAYBACK"},"source_url":"https:\/\/ldjam.com\/events\/ludum-dare\/41\/my-dear-farm\/my-dear-farm-instant-feedback-when-coding","text":"Our game [My Dear Farm](https:\/\/ldjam.com\/events\/ludum-dare\/41\/my-dear-farm) mixes farming simulator mechanics with story-driven horror aspects. This left us with way too much to do. Luckily our development setup allowed us to iterate extremely fast on visuals and mechanics.\n\nWe used [ReasonML](http:\/\/reasonml.github.io\/) as a programming language and [Reprocessing](https:\/\/github.com\/schmavery\/reprocessing) as our drawing library. Reprocessing comes with multi-file hot-reloading, which means we can leave the game running and make any edits to the files and see them pop in without losing the state of the game.\n\nHere's an example where I'm tweaking the text of the interaction (the game updates when I save the text file)\n\n![hotreloading-demo1.gif](\/\/\/raw\/cc7\/01\/z\/1408f.gif)\n\nWe can actually update most things from our game like this. Below is an example of me adding a whole new action for the seeds, which are game objects on the scene.\nI'm just adding another case saying \"if you're not holding anything and you're facing the PickUp(Seed) action, then show this text\" and same for the code actually updating what you're carrying. Then you can magically pick up seeds, like you can pick up water. Everything Just Works\u2122\n\n![hotreloading-demo2.gif](\/\/\/raw\/cc7\/01\/z\/14095.gif)\n\nHere's a more fancy example where I git checkout master to get changes my friend made, and the game update correctly.\n\n![hotreloading-demo3.gif](\/\/\/raw\/cc7\/01\/z\/140a1.gif)\n\n\nThe last cool thing I'll mention about Reprocessing is that we developed this entire game compiling it to bytecode, but then, without needing to touch anything, compiled it to JS and published it that way. And this whole thing is just a drawing library compiled to very normal JS using webgl, it's a super thin stack compared to alternatives.\n\nHope you enjoyed this! The code is all on [GitHub](http:\/\/github.com\/bsansouci\/ludum-dare-41\/).\n\nWould love to hear about what you think about [My Dear Farm](https:\/\/ldjam.com\/events\/ludum-dare\/41\/my-dear-farm).","title":"My Dear Farm - Instant feedback when coding","wayback_source":[]}