Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Common Lisp製のゲームエンジンTrialについてすこし
Search
t-sin
May 26, 2022
Programming
1.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Common Lisp製のゲームエンジンTrialについてすこし
Shibuya.lisp lispmeetup #103
で発表したときの資料です。
t-sin
May 26, 2022
More Decks by t-sin
See All by t-sin
Lispの紹介 〜 令和最新版
tsin45
0
890
Carp言語さわってみた 〜鯉を取り戻せ編〜
tsin45
0
1.5k
Common Lispでのゲームボーイエミュレータ実装進捗報告 vol.1
tsin45
0
960
Other Decks in Programming
See All in Programming
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
450
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
170
Jetpack Compose Mechanisms
skydoves
2
660
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
140
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
16k
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
260
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
360
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
280
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
130
sbt 2.0: takeoff
eed3si9n
0
110
Simple Storage Service(S3) is not simple
iwatsukayura
0
240
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
460
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Ethics towards AI in product and experience design
skipperchong
2
420
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Optimizing for Happiness
mojombo
378
71k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
620
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
210
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
260
How to Ace a Technical Interview
jacobian
280
24k
We Are The Robots
honzajavorek
0
390
Everyday Curiosity
cassininazir
0
350
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
780
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
Transcript
Common Lisp製のゲームエンジン Trialについてすこし @t-sin 2022-05-26 lispmeetup #103
ゲームエンジン: Trial • Common Lispのライブラリをたくさん書いてる Shinmeraさん作のゲームエンジン – https://github.com/Shirakumo/trial • SteamストアにあるゲームKandria
(early access)に使ってる – メトロイドヴァニアという探索系2Dアクションっぽい – https://store.steampowered.com/app/1261430/Kandria/ • Shinmeraさんのソフトウェアといえばこのへんが有名? – https://shirakumo.github.io/radiance/ – https://github.com/portacle/portacle
ゲームエンジンについて • ゲーム開発に特化した共通プログラムのこと • 単なるライブラリから統合開発環境までいろんな形態のものがある • ゲームに特殊化してない共通プログラムを「ミドルウェア」といっ て区別したりする – 3Dグラフィック向けとかサウンド向けとか
– 区別するものの、境目はあいまいっぽい • 参考: Wikipediaの『ゲームエンジン』の記事 – ゲームエンジンの一覧、こんなにあるのかーとなれるのでオススメ
ゲームエンジンの形態 • 統合開発環境型 – 大規模: Unity、Unreal Engine、Godot、 – 中〜小規模: RPGツクール、WOLFエディタ、吉里吉里(Z)
• ライブラリ型 – SDL (Simple DirectMedia Layer)、DXライブラリ • API型 – Direct X • ……境目はあいまい – DXライブラリは3Dグラフィックライブラリとも捉えられるし Direct XはマルチメディアAPIとも言える
Trialは? • 現時点ではライブラリ型っぽい • Kandria用に別途マップエディタを用意してあるもよう – https://twitter.com/Shinmera/status/1512750290474311681 – https://twitter.com/Shinmera/status/1466359294945894403 –
https://twitter.com/Shinmera/status/1403729050531663877 • まだドキュメントはほとんどない – 使いたい場合は参照実装のゲームリポジトリのコード読んでとなってる – https://github.com/shinmera/vpetjam
trial.asdを眺めてみる • 太字はShinmeraさん製 • • • • • • •
感想: – 生OpenGL、varjo (Lisp→GLSLコンパイラ)未使用 – サウンドのライブラリは含まれてない (自作はされている) – パーティクルエンジン (flare) 内蔵 – COM (com-on) とか DOM操作 (lquery) とか何につかってるんだ…?? :depends-on (:alexandria :3d-vectors :3d-matrices :verbose :deploy :closer-mop :trivial-garbage :trivial-indent :bordeaux-threads :cl-opengl :cl-gamepad :cl-ppcre :pathname-utils :flare :for :flow :glsl-toolkit :fast-io :ieee-floats :float-features :lquery :static-vectors :mmap :messagebox :form-fiddle :lambda-fiddle :jsown :zpng (:feature :linux :clx) (:feature :windows :com-on)))
まとめ • Common Lisp製ゲームエンジンTrialについて述べた – Steamに出せるくらいの本格ゲームがつくれる – 現状はまだ他人がさくっと使えない – もしかしたらKandriaのレベルエディタはリポジトリとして生えるかも?
• 「ゲームエンジン」についてちょろっと解説した • Trialの中をasdファイルだけ覗いた – 依存ライブラリの自作率すごい – もうちょっとディープに中を見たかったけど今回むりだった