Skip to content

Commit

Permalink
update lisp, lua, gamedev
Browse files Browse the repository at this point in the history
  • Loading branch information
Aimeedeer committed Dec 19, 2020
1 parent 69ff84b commit 499cfb9
Show file tree
Hide file tree
Showing 5 changed files with 156 additions and 1 deletion.
18 changes: 18 additions & 0 deletions content/hacking/gamedev.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
+++
title = "Gamedev"
author = ["Aimee Z"]
description = "Game programming"
date = 2020-12-19
tags = ["gamedev", "game"]
categories = ["hacking"]
draft = false
[menu.main]
weight = 2013
identifier = "gamedev"
+++

[Gamedev, Sleep, Repeat](https://mfiano.net/posts/Gamedev-Sleep-Repeat.html)
> Game engines are large systems consisting of many moving parts. Good software engineering requires simplicity -- it is what allows a system to remain secure, stable, and coherent throughout its evolution. Simplicity itself requires a lot of work at the start of a project to reduce the idea to its essense, and lots of discipline over the lifetime of the project to be able to distinguish worthwhile changes from the pernicious ones. That is simply everything my game engine is not, because for such a complex piece of software such as a game engine, it is not easy to know HOW all the pieces fit together, just some vague idea. Complexity arises through the iterative process that is implementing and actually debugging problems with these features. Making a small change to get a engine feature to play nice with others could, and often does, adversely affects simplicity and elegance much later down the road during development.
[Follow up to Gamedev, Sleep, Repeat](https://mfiano.net/posts/Follow-up-to-Gamedev-Sleep-Repeat.html)
> I am less interested in making games, and more interested in the design of game engines. A game engine is interesting to me because it requires discipline in many fields of study, and each implementation is different. The thing is, a game engine is a piece of software that manages the data flow for a particular game, or a particular category of games. It is nothing more than a set of choices someone made for you in order to write games in a particular way. Any given game engine could be productive or counter-productive in creating your game. Even using a general purpose game engine like Unity and Unreal is a trade-off, and for a significant game, you'll find you still have to work around or reimplement core engine features at the 11th hour to get your game shipped.
58 changes: 58 additions & 0 deletions content/hacking/lisp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
+++
title = "Lisp-lang"
author = ["Aimee Z"]
description = "Lisp programming"
date = 2020-12-19
tags = ["lisp"]
categories = ["hacking"]
draft = false
[menu.main]
weight = 2012
identifier = "lisp-lang"
+++

<div class="ox-hugo-toc toc">
<div></div>

<div class="heading">Table of Contents</div>

- [Official](#official)
- [Books](#books)
- [Posts](#posts)
- [Videos](#videos)
- [Macros in Lisp](#macros-in-lisp)

</div>
<!--endtoc-->


## Official {#official}

<https://lisp-lang.org/>

- Style Guide: <https://lisp-lang.org/style-guide/>
- Writing Libraries: <https://lisp-lang.org/learn/writing-libraries>
- Test with Travis-CI: <https://github.com/luismbo/cl-travis>
- SLIME is the “Superior Lisp Interaction Mode for Emacs”:
<https://common-lisp.net/project/slime/doc/html/>


## Books {#books}

- Book list: [Lisp lang books](https://lisp-lang.org/books/)
- A chapter from **Practical Common Lisp**: [Macros: Standard Control Constructs](http://www.gigamonkeys.com/book/macros-standard-control-constructs.html)


## Posts {#posts}

- [Why I haven't jumped ship from Common Lisp to Racket (just yet)](https://fare.livejournal.com/188429.html)


## Videos {#videos}

- [Common Lisp - How to Start a New Project](https://www.youtube.com/watch?v=SPgjgybGb5o)


## Macros in Lisp {#macros-in-lisp}

[Lisp lang Macros](https://lisp-lang.org/learn/macros)
14 changes: 14 additions & 0 deletions content/hacking/lua.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
+++
title = "Lua-lang"
author = ["Aimee Z"]
description = "Lua programming"
date = 2020-12-19
tags = ["lua"]
categories = ["hacking"]
draft = false
[menu.main]
weight = 2013
identifier = "lua-lang"
+++

Paper: [The Implementation of Lua 5.0](https://www.lua.org/doc/jucs05.pdf)
2 changes: 1 addition & 1 deletion content/hacking/pgp.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ tags = ["pgp", "keybase", "protonmail"]
categories = ["hacking"]
draft = false
[menu.main]
weight = 2009
weight = 2014
identifier = "pgp"
+++

Expand Down
65 changes: 65 additions & 0 deletions notes.org
Original file line number Diff line number Diff line change
Expand Up @@ -1793,6 +1793,71 @@ Blog:

*** anyhow::Result

** Lisp-lang :lisp:@hacking:
:PROPERTIES:
:EXPORT_FILE_NAME: lisp
:EXPORT_DATE: 2020-12-19
:EXPORT_HUGO_SECTION: hacking
:EXPORT_DESCRIPTION: Lisp programming
:EXPORT_OPTIONS: toc:2
:END:

*** Official

https://lisp-lang.org/

- Style Guide: https://lisp-lang.org/style-guide/
- Writing Libraries: https://lisp-lang.org/learn/writing-libraries
- Test with Travis-CI: https://github.com/luismbo/cl-travis
- SLIME is the “Superior Lisp Interaction Mode for Emacs”:
https://common-lisp.net/project/slime/doc/html/

*** Books

- Book list: [[https://lisp-lang.org/books/][Lisp lang books]]
- A chapter from *Practical Common Lisp*: [[http://www.gigamonkeys.com/book/macros-standard-control-constructs.html][Macros: Standard Control Constructs]]

*** Posts

- [[https://fare.livejournal.com/188429.html][Why I haven't jumped ship from Common Lisp to Racket (just yet)]]

*** Videos

- [[https://www.youtube.com/watch?v=SPgjgybGb5o][Common Lisp - How to Start a New Project]]

*** Macros in Lisp

[[https://lisp-lang.org/learn/macros][Lisp lang Macros]]



** Lua-lang :lua:@hacking:
:PROPERTIES:
:EXPORT_FILE_NAME: lua
:EXPORT_DATE: 2020-12-19
:EXPORT_HUGO_SECTION: hacking
:EXPORT_DESCRIPTION: Lua programming
:EXPORT_OPTIONS: toc:2
:END:

Paper: [[https://www.lua.org/doc/jucs05.pdf][The Implementation of Lua 5.0]]


** Gamedev :gamedev:game:@hacking:
:PROPERTIES:
:EXPORT_FILE_NAME: gamedev
:EXPORT_DATE: 2020-12-19
:EXPORT_HUGO_SECTION: hacking
:EXPORT_DESCRIPTION: Game programming
:EXPORT_OPTIONS: toc:2
:END:

[[https://mfiano.net/posts/Gamedev-Sleep-Repeat.html][Gamedev, Sleep, Repeat]]
> Game engines are large systems consisting of many moving parts. Good software engineering requires simplicity -- it is what allows a system to remain secure, stable, and coherent throughout its evolution. Simplicity itself requires a lot of work at the start of a project to reduce the idea to its essense, and lots of discipline over the lifetime of the project to be able to distinguish worthwhile changes from the pernicious ones. That is simply everything my game engine is not, because for such a complex piece of software such as a game engine, it is not easy to know HOW all the pieces fit together, just some vague idea. Complexity arises through the iterative process that is implementing and actually debugging problems with these features. Making a small change to get a engine feature to play nice with others could, and often does, adversely affects simplicity and elegance much later down the road during development.

[[https://mfiano.net/posts/Follow-up-to-Gamedev-Sleep-Repeat.html][Follow up to Gamedev, Sleep, Repeat]]
> I am less interested in making games, and more interested in the design of game engines. A game engine is interesting to me because it requires discipline in many fields of study, and each implementation is different. The thing is, a game engine is a piece of software that manages the data flow for a particular game, or a particular category of games. It is nothing more than a set of choices someone made for you in order to write games in a particular way. Any given game engine could be productive or counter-productive in creating your game. Even using a general purpose game engine like Unity and Unreal is a trade-off, and for a significant game, you'll find you still have to work around or reimplement core engine features at the 11th hour to get your game shipped.

** PGP :pgp:keybase:protonmail:@hacking:
:PROPERTIES:
:EXPORT_FILE_NAME: pgp
Expand Down

0 comments on commit 499cfb9

Please sign in to comment.