# HG changeset patch # User Steve Losh # Date 1528348994 25200 # Node ID 5df938664e5d77356ff2ce2a5ac080d3a8fef589 # Parent e8e688cdaff3fe40dd21ef852c097dd366f93229 archive diff -r e8e688cdaff3 -r 5df938664e5d 2017.markdown --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/2017.markdown Wed Jun 06 22:23:14 2018 -0700 @@ -0,0 +1,389 @@ +[TOC] + +[aeropress]: http://amzn.to/2zZq5GT +[bearlibterminal]: https://bitbucket.org/cfyzium/bearlibterminal +[bria]: https://bitbucket.org/sjl/bria/ +[chancery]: https://bitbucket.org/sjl/chancery/ +[cl-blt]: https://sjl.bitbucket.io/cl-blt/ +[cl-ggp]: https://sjl.bitbucket.io/cl-ggp/ +[cl-losh]: https://bitbucket.org/sjl/cl-losh/ +[cl-nrepl]: https://bitbucket.org/sjl/cl-nrepl/ +[cl-pcg]: https://sjl.bitbucket.io/cl-pcg/ +[clojure-lanterna]: https://github.com/MultiMUD/clojure-lanterna/ +[dieharder]: https://www.phy.duke.edu/~rgb/General/dieharder.php +[ELS]: http://www.european-lisp-symposium.org/editions/2017/ +[ergolib]: https://github.com/rongarret/ergolib +[euler]: https://projecteuler.net/ +[gmtk]: https://www.youtube.com/user/McBacon1337 +[lisp3e]: http://amzn.to/2y0dnWG +[local-time]: https://common-lisp.net/project/local-time/ +[magitek]: https://github.com/sjl/magitek/ +[pandabt]: http://www.pandabehaviour.com/ +[PCG]: http://www.pcg-random.org/ +[procjam]: http://www.procjam.com/ +[qud-ds]: https://www.twitch.tv/ptychomancer +[recreations]: http://amzn.to/2zfRHre +[sand]: https://bitbucket.org/sjl/sand/ +[scully]: https://bitbucket.org/sjl/scully/ +[shebang]: http://amzn.to/2zYB1nN +[sjleuler]: https://github.com/sjl/euler +[Sketch]: https://github.com/vydd/sketch +[surreal numbers]: http://www.amazon.com/dp/0201038129/?tag=stelos-20 +[temperance]: https://bitbucket.org/sjl/temperance/ +[deploy]: https://shinmera.github.io/deploy/ +[hackerbox24]: https://hackerboxes.com/collections/frontpage/products/hackerbox-0024-vision-quest + +# January 2017 + +## 2017-01-26 + +* Rebooting this `.plan` after a long absence. It's a new year! +* Wrote a first draft of my proposal for a talk at [ELS][] 2017. +* Made a little prototype [name generator](https://github.com/sjl/sand/blob/master/src/names.lisp) + based on some ideas from last week's [Caves of Qud dev stream][qud-ds]. + +## 2017-01-27 + +* Polished up my ELS paper. + +## 2017-01-28 + +## 2017-01-29 + +* Finished and submitted the ELS paper. +* Worked a bit more on a platformer game assignment for a class. I hate + graphics/shader programming so much. +* Added a few docs to [cl-ggp][]. Still got a bit more to write. + +## 2017-01-30 + +* Handed off maintainership of [clojure-lanterna][]. +* More platformer work. Finally got the fucking sprite pack working. I hate + things with no documentation. + +## 2017-01-31 + +* Got nerd-sniped and ended up implementing [PCG][] in Common Lisp. + +# February 2017 + +## 2017-02-01 + +* Started working on a constrained game with my team for AGDD. + +## 2017-02-02 + +* Added a bit of juice to the constrained game. +* Finally sorted out the AI/animation bullshit for my minimal game. Assets + without docs are the worst. + +## 2017-02-05 + +* More juice to the constrained game. Been doing non-computer stuff lately. + +## 2017-02-06 + +* Implemented a little easing API in my [sandbox][sand] repo. +* Made the pluralization rules in [Chancery][] slightly less awful. I should + just sit down and fix it right some day. + +## 2017-02-07 + +* Chatted with my advisor a bit and solidified my plans for the home stretch of + [Scully][]. +* Made a little Lisp wrapper for [bearlibterminal][]. Learned more about SBCL's + floating-point traps than I wanted to. + +## 2017-02-08 + +* Worked more on our constrained game with my team. Got something almost + game-like now! + +## 2017-02-09 + +* More constrained game work. It's an actual game now. Fun. +* Changed all the `#:foo` uninterned symbols in [Temperance][] to regular `:foo` + keywords. Memory is cheap. + +## 2017-02-10 + +* Finished the docs and pushed the 1.0.0 release of [cl-ggp][]. I still need to + submit it to Quicklisp, but I need to submit [Temperance][] first. +* Dusted off my old [Project Euler][euler] repo and did another problem. +* Dumped initial commits of [cl-pcg][] and [cl-blt][] to the internet in case my + laptop catches fire. Still lots of work left to do on those. + +## 2017-02-11 + +* Added basic level generation and scrolling to my AGDD minimal game. Also + sound. +* Fleshed out [cl-blt][] a tiny bit more. Ported a little terrain gen demo over + to it. It seems promising. +* Wrote a little harness for [cl-pcg][] to test it with [dieharder][]. + +## 2017-02-12 + +* Did another [Project Euler][euler] problem over breakfast, and a couple more + after that. The early ones are simple to just brute-force. +* More work on the constrained game. + +## 2017-02-13 + +* More [Project Euler][euler]. Math is fun. +* Fixed up the universe-based matching in Scully. I'll need it soon for the + percept matching. + +## 2017-02-16 + +* More [Project Euler][euler], this time I had an excuse to poke at + [local-time][]. + +## 2017-02-17 + +* More tiny [Project Euler][euler] problems. +* Finally got the percept filtering in [Scully][] all figured out. +* Cleaned up [Temperance][] and start writing docstrings. One more "Finishing + Friday" and it should be ready for an initial release. Not perfect, but good + enough for now. + +## 2017-02-20 + +* More [Project Euler][euler]. +* Poked a bit more at my minimal game. It's gonna be *very* minimal. + +## 2017-02-21 + +* Finished the damn minimal game. +* Another [Project Euler][euler] problem. + +## 2017-02-24 + +* Chatted with my advisor and did more work on [Scully][]. The home stretch is + in sight! +* Tipsy [Project Euler][euler]. + +## 2017-02-25 + +* More [Project Euler][euler]. +* Watched the first part of the Merry Fragmas 3.0 Unity session. Multiplayer + FPS in Unity looks to be not too bad. +* Cleaned up the internal API in [Scully][] a bit. + +## 2017-02-26 + +* More [Project Euler][euler]. +* Watched the second part of the Merry Fragmas 3.0 Unity session. + +## 2017-02-28 + +* More [Project Euler][euler]. Problem 51 was painfully underspecified, but + I finally got the stupid thing. +* Watched the last part of the Merry Fragmas 3.0 Unity session. + +# March 2017 + +## 2017-03-01 + +* Started poking at a prototype game my teammate made. +* Added a janky priority queue to [cl-losh][]. + +## 2017-03-02 + +* Finished the stupid [Project Euler][] poker problem. This isn't math. + +## 2017-03-03 + +* More [Project Euler][euler]. +* Started documenting [Chancery][]. +* Started working through [Surreal Numbers][]. I'm going to try to code each + chapter up after I read it, to make sure I understand everything. So far I'm + done with chapter 2. + +## 2017-03-04 + +* More [Project Euler][euler]. +* Poked around at [PandaBT][]. Behavior trees are really weird. +* Watched [Why is Gone Home a Game?](http://www.gdcvault.com/play/1020376/Why-Is-Gone-Home-a). +* Read chapter 3 of [Surreal Numbers][]. Not much to code for this one, + I think. + +## 2017-03-05 + +* Worked on our game with my team. + +## 2017-03-06 + +* Watched [Math for Game Programmers: Building a Better + Jump](https://www.youtube.com/watch?v=hG9SzQxaCm8) over breakfast. I really + like the idea of deriving the gravity and initial velocity constants from jump + height/distance targets. I'll have to try that the next time I make + a platformer. +* Implemented a bunch of simple (but necessary) API functions in [Scully][]. + +## 2017-03-08 + +* Passed maintainership of [rerun](https://github.com/mandarg/rerun) over to + [@mandarg](https://github.com/mandarg/). + +## 2017-03-14 + +* Did the final bit of plumbing to make [Scully][] actually play games with the + game server. It works! +* Added `LICENSE.markdown` files to all my projects. Annoying, but if it staves + off the people complaining for a while it's worth the extra wasted bytes. +* Chatted with my advisor about the next step for fixing the combinatorial rule + tree explosions in Scully. +* Added a restart to [cl-nrepl][] to let me specify a new port to use more + easily, if the default one is already in use. Common Lisp's condition system + is really powerful but also really obtuse, and I don't seem to use it often + enough to really get it into my stupid brain. +* Added a couple of docstrings to [cl-pcg][]. Still not sure about the API + layout... I think I need to try it in a real game to see how it feels. + +## 2017-03-15 + +* Did a bunch of stuff on my team's game. I really need to dig into the Unity + networking documentation... + +## 2017-03-16 + +* Whipped up some docs for [cl-pcg][]. I think I'll just call it released in + the next day or two and see where it goes from there. + +## 2017-03-17 + +* Watched a big chunk more of the Unity course. I've made a bunch in Unity + already but it's good to follow along with a class and fill in all the gaps in + my self-learned knowledge. + +## 2017-03-20 + +* Added a test harness to [cl-pcg][]. Need to write a couple of simple tests. +* Worked on the game a bit more with my team at the end of class. + +## 2017-03-21 + +* Watched "5 Bits of Good Game Design from 2015" [GMTK][] video. I especially + like the bits about downtime in games and about giving players a reason *not* + to do something (like saving or killing every enemy). +* Fixed a nasty bug in our game. Multiplayer is hard (at least in Unity). + +## 2017-03-22 + +* More game bugfixes in the lab. + +## 2017-03-23 + +* Pushed v1.0.0 of [cl-pcg][]. Time to move on. +* Added a simple Monte Carlo player to [cl-ggp][]. It'll be used as an example + during my ELS talk. Also added some additional GDL cleaning to cl-ggp's + reasoner. +* Looked around for a simple, cross-platform way to just play a WAV file from + Common Lisp (or at least from C (which I can wrap with CFFI) but apparently + nothing exists. Computers are awful. + +# October 2017 + +## 2017-10-29 + +* Gonna try updating this thing again now that I'm settled back into the US. +* Tried my first [Aeropress][] coffee. It was a bit sour, which I think is due + to underextraction. Gonna try again with a finer grind (today's was a 13). +* Read a bit more of [The Whole Shebang][shebang]. It's good, + but the bit on the "evolution" of the universe seems like a bit of a stretch, + given that there's not replication mechanism like DNA has. +* Refactored the rate-limiting macro in [Bria][] to be more general. Of course + I immediately ran into edge cases because I'm using this to rate-limit + reloading of the entire bot, which means than all the forms get re-evaluated. + So using a gensym for the key in the macro was not gonna work. But at least + I ran into those edge cases early. +* Started reading through [ergolib][]. Lots of stuff in it, some of it + interesting, some of it a bit crazy. It's fun to see how other people + implement some of the utilities as in my own utils library. + +## 2017-10-30 + +* Work. +* Read [Fast generic dispatch for Common + Lisp](http://metamodular.com/generic-dispatch.pdf). A pretty simple idea at + its core, but Common Lisp's support for highly-dynamic things like redefining + classes at runtime complicates things. + +## 2017-10-31 + +* Work. +* [Streamed](https://go.twitch.tv/videos/186653039?t=6m45s) some Common Lisp and + ncurses gamedev. Made a spooky little Halloween clicker game. + +# November 2017 + +## 2017-11-01 + +* Work. + +## 2017-11-02 + +* Work. +* Finished writing [documentation](https://sjl.bitbucket.io/chancery/usage/) for + [Chancery][]. + +## 2017-11-03 + +* Work. +* Submitted [Chancery][] to Quicklisp. +* Continued reading [Lisp][lisp3e]. Learned about + [dribble](http://clhs.lisp.se/Body/f_dribbl.htm). + +## 2017-11-04 + +* Read more of [The Whole Shebang][shebang]. +* Read more of [Lisp][lisp3e]. +* Read more of [Recreations in the Theory of Numbers][recreations]. Ended up + implementing some [aliquot + sequence](https://en.wikipedia.org/wiki/Aliquot_sequence) functions in [my + Project Euler repo][sjleuler] for fun. +* Fixed the bitrot in my [magitek][] repo so I can make some bots for + [procjam][] later this week. +* Did another section of the Udemy Ardunio class (sound sensing). + +## 2017-11-05 + +* Read more of [Lisp][lisp3e]. +* Started working on [this month's Hackerbox][hackerbox24]. + Got the headers soldered to the Arduino Nano and the pan/tilt thing assembled. + Checked that the sketchy drivers worked to dump code to the Nano and they + appear to be okay. +* Finished reading the code of [EasyWFC](https://github.com/heyx3/EasyWFC). + I'll probably try to implement Wave Function Collapse on stream this week. + +## 2017-11-06 + +* Work. +* Did some preliminary work to get it out of the way for the WFC stream + tomorrow, mostly remembering how to use [Sketch][]. + +## 2017-11-07 + +* Work. +* Streamed. Did some work on WFC, though we didn't finish. +* Did a bit more on [Hacker Box 24][hackerbox24]. Finished putting the hardware + together, and got the Processing sketch to work with the webcam (finally). + +## 2017-11-08 + +* Work. + +## 2017-11-09 + +* Work. + +## 2017-11-10 + +* Read more [Lisp][lisp3e]. +* Wrote a little Lisp program to calculate ideal padding for hanging two rows of + different-sized photos so that they'll match up. +## 2017-11-11 + +* Realized that switching to [Deploy][] to build my [magitek][] lib fucked up + the random state generation, and fixed it. This bites me *constantly* in Lisp + and I hate it.