From 1f5b1e95d85ade9618bf74f0ff1a95b7d8400750 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Jaenisch?= Date: Tue, 17 Aug 2021 23:18:41 +0200 Subject: [PATCH] docs: write journal entry MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: André Jaenisch --- journal/2021-08-13.md | 2 +- journal/2021-08-14.md | 4 +-- journal/2021-08-15.md | 2 +- journal/2021-08-16.md | 9 +++++-- journal/2021-08-17.md | 54 +++++++++++++++++++++++++++++++++++++++++ journal/2021-08-17.png | Bin 0 -> 11535 bytes journal/README.md | 3 +++ 7 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 journal/2021-08-17.md create mode 100644 journal/2021-08-17.png diff --git a/journal/2021-08-13.md b/journal/2021-08-13.md index 489a00d..401b0c1 100644 --- a/journal/2021-08-13.md +++ b/journal/2021-08-13.md @@ -84,7 +84,7 @@ Those tend to be less crowded. Also, I wanted to try IPFS anyway ### Codewise -- [ ] Optimise post-process script to remove references to stylesheets when +- [x] Optimise post-process script to remove references to stylesheets when they got inlined. - [ ] Strip CSS of comments (but keep license banners). - [ ] Assume a browser that understands ES modules and tweak rollup accordingly diff --git a/journal/2021-08-14.md b/journal/2021-08-14.md index 1ce5352..938f4d2 100644 --- a/journal/2021-08-14.md +++ b/journal/2021-08-14.md @@ -70,8 +70,8 @@ JSDoc annotations and tests). ### Codewise - [ ] See ToDos from [yesterday][yesterday]. -- [ ] Implement more parts of the physics engine. -- [ ] Consider using Nunjucks for interpolation to simplify post-processing. +- [x] Implement more parts of the physics engine. +- [x] Consider using Nunjucks for interpolation to simplify post-processing. ### Previous in line diff --git a/journal/2021-08-15.md b/journal/2021-08-15.md index 35e621f..887af97 100644 --- a/journal/2021-08-15.md +++ b/journal/2021-08-15.md @@ -36,7 +36,7 @@ up in life support systems as well as transport. It could look a bit like in ### Codewise -- [ ] See ToDos from [yesterday][yesterday]. +- [x] See ToDos from [yesterday][yesterday]. - [x] Investigate, why box and boundary don't collide. ### Previous in line diff --git a/journal/2021-08-16.md b/journal/2021-08-16.md index 6f45933..bae3633 100644 --- a/journal/2021-08-16.md +++ b/journal/2021-08-16.md @@ -34,16 +34,21 @@ I expect this problem to take considerable amount of my time. ### Codewise -- [ ] See ToDos from [yesterday][yesterday]. -- [ ] Replace JSDom with an alternative. +- [x] See ToDos from [yesterday][yesterday]. +- [x] Replace JSDom with an alternative. ### Previous in line See journal entry from [yesterday][yesterday]. +### Next in line + +See journal entry from [tomorrow][tomorrow]. + [cramer]: https://github.com/xem/mini2Dphysics/issues/3 [demo]: https://ryuno-ki.github.io/js13kgames-2021/ [diff]: https://jaenis.ch/hobbies/coding/repos/ryuno-ki/js13kgames-2021/compare/4f857eeb10b97e5df1383942aa653ef8fe1e417d...f5eca1e2964b0a4625ab2e7acfbd52234ba01814 [linkedom]: https://github.com/WebReflection/linkedom [screenshot]: ./2021-08-16.png +[tomorrow]: ./2021-08-17.md [yesterday]: ./2021-08-15.md diff --git a/journal/2021-08-17.md b/journal/2021-08-17.md new file mode 100644 index 0000000..d11a4d9 --- /dev/null +++ b/journal/2021-08-17.md @@ -0,0 +1,54 @@ +# 2021-08-17 + +Do you know those days, when you can barely sleep because your mind bursts +full of ideas? I had that last night. + +So today I set down and got them out of my head for the major part. + +## Today's achievement + +I was quite busy today. + +I started with updating dependencies, added some colour, a favicon, ripped out +JSDom and instead use sinon now, so I can actual check for a call to stroke +the hero. + +Then I started to add a second range input, so now the hero can move along +both dimensions! For that, additional boundaries were needed. + +I added a way to reload the page to reset the page, but that's a bit flaky on +Firefox. Also, the game now has a settings and game-over scene. + +With all of that, you can play it on my own domain now: +[Play it online][demo]. + +[commit diff 41fe3e4b63310b25fb6ca55bd9f13387c66b1650 to 514b19099772a4800be23d3c5db280c5d323bd1b][diff] + +![screenshot from 2021-08-17][screenshot] + +## Next steps + +I need a way to reset to the initial state, so I can properly reset the state. +Also, now would be an ideal time to start writing my Game Design Document, +since I have everything in place to develop the game I want to submit. + +### Codewise + +- [ ] See ToDos from [13th August][start]. (Yes, I solved everything after!) +- [ ] Figure out how to include icons. +- [ ] Look into including [ZzFX][zzfx]. +- [ ] Configure [MathJax][mathjax], but without a CDN. +- [ ] Look into [loading custom JavaScript and CSS in Gitea][css] to render + MathML / MathJax / ASCIImath. + +### Previous in line + +See journal entry from [yesterday][yesterday]. + +[css]: https://docs.gitea.io/en-us/external-renderers/#customizing-css +[demo]: https://jaenis.ch/hobbies/coding/demos/js13kgames/2021/ +[diff]: https://jaenis.ch/hobbies/coding/repos/ryuno-ki/js13kgames-2021/compare/41fe3e4b63310b25fb6ca55bd9f13387c66b1650...514b19099772a4800be23d3c5db280c5d323bd1b +[mathjax]: https://github.com/go-gitea/gitea/issues/3445#issuecomment-439673050 +[screenshot]: ./2021-08-17.png +[yesterday]: ./2021-08-16.md +[zzfx]: https://killedbyapixel.github.io/ZzFX/ diff --git a/journal/2021-08-17.png b/journal/2021-08-17.png new file mode 100644 index 0000000000000000000000000000000000000000..ae43c4d844baf19494dce2178fc6c8a8723e9619 GIT binary patch literal 11535 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