RWOを読むかもしれないので(自分のさじ加減一つの問題だけど)準備した。やったことは次のページのとおり。

Installation Instructions · realworldocaml/book Wiki

$ opam switch 4.01.0
$ eval (opam config env)
$ opam install core utop
$ opam install \
   async yojson core_extended core_bench \
   cohttp async_graphics cryptokit menhir

4.01.0より上のバージョンをインストールしようとすると(coreやutopをやろうとした時点で)エラーが出て無理だった。当方macOS

~/.ocamlinitに次のような設定を書いた。

#use "topfind";;
#thread;;
#camlp4o;;
#require "core.top";;
#require "core.syntax";;
(* Added by OPAM. *)
let () =
  try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH")
  with Not_found -> ()
;;

open Core.Std

もし本当に読むとして、言語仕様をつつき回しても仕方ないので、ちゃきちゃきパーサ書くところまで読んでいきたい。

Godot プロジェクト 参考

Godot触ってないのでよくわかりませんが。

デモプロジェクト

Godot Engine - Download

ダウンロードページにあるやつです。本体を落とした人も意外と見落としてるかもしれません。これを読むのがGodotでゲームを作る上での早道となるでしょう。

Dolphin Island

www.youtube.com

Platformer系。デモのPlatformerに比べてプロジェクト構成が見づらい気がする。

github.com

Tanks of Freedom

www.youtube.com

isometric map(クォータービュー)な戦略ゲーム。

github.com

DynaDungeons

いわゆるボンバーマン

github.com

https://raw.githubusercontent.com/akien-mga/dynadungeons/master/background.png


あとググればなんかチュートリアル動画とか出てくるようです。

プログラミングの基礎 take -1

ざっと目を通した。説明を読み、問題を実装することで身につけていくというスタイルなので、読むだけでは分かったと言いづらいところがある。ただ文章だけ読んでもモジュールシステムの話はためになった。

テキストエディタのデータ構造

Text Editor: Data Structures – averylaird.com

1998年、Charles Crowleyという人がテキストエディタの実装で使われるデータ構造を研究した論文を出している

He concluded that – from a basis of speed, simplicity, and structure – the piece table was the leading method.

ただpiece tableの実装は複雑で、心がくじけそうになるのも確かだと述べているので、がんばりましょう。


この記事に対する指摘。

Text Editor: Data Structures | Hacker News

  • まずxi editorの作者がコメントをしている。実装にropeを使っている、たしかに単純ではないが、一回作れば実装など気にせず使い回せるのでこれでいいと思っている。もっともgap bufferはシンプルさでは圧勝といえるだろう。あとCrowleyの論文はropeについては考察してない。piece tableについても言及しているが、何を言っているか理解できなかった。
  • 別のコメント。そもそもmemcpy()/memove()は現代的なマシンならGB/sという速度で動く。なので、配列でテキストを保持するのは最悪ではない。テキストエディタのデータ構造を考えるは後回しで構わない。