Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Common Lisp製のゲームエンジンTrialについてすこし
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
t-sin
May 26, 2022
Programming
1.4k
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
800
Carp言語さわってみた 〜鯉を取り戻せ編〜
tsin45
0
1.4k
Common Lispでのゲームボーイエミュレータ実装進捗報告 vol.1
tsin45
0
910
Other Decks in Programming
See All in Programming
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.2k
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
770
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.4k
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
170
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
150
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
200
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
17
6.1k
さぁV100、メモリをお食べ・・・
nilpe
0
130
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
120
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
450
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.6k
LLM Plugin for Node-REDの利用方法と開発について
404background
0
160
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.2k
The Cost Of JavaScript in 2023
addyosmani
55
10k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Odyssey Design
rkendrick25
PRO
2
690
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
400
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
160
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
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ファイルだけ覗いた – 依存ライブラリの自作率すごい – もうちょっとディープに中を見たかったけど今回むりだった