TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Embedding Scheme for a game mission scripting DSL

106 点作者 carloscm超过 10 年前

8 条评论

srean超过 10 年前
Given the requirements I was rooting for Guile. He ended up choosing TinyScheme. Those who have not kept up with Guile development for the last 4 years would, I think, would be very pleasantly surprised, I was.<p>It has been vigorously developed upon, lots of changes to make it more performant and you can catch the highlights of all this action on Andy Wingo&#x27;s blog <a href="http://wingolog.org/tags/guile" rel="nofollow">http:&#x2F;&#x2F;wingolog.org&#x2F;tags&#x2F;guile</a><p>I like his rundown of different Scheme implementations <a href="http://wingolog.org/archives/2013/01/07/an-opinionated-guide-to-scheme-implementations" rel="nofollow">http:&#x2F;&#x2F;wingolog.org&#x2F;archives&#x2F;2013&#x2F;01&#x2F;07&#x2F;an-opinionated-guide...</a> including the comments that readers left there.<p>Another neat scheme for games that I am aware of is ypsilon <a href="http://code.google.com/p/ypsilon/" rel="nofollow">http:&#x2F;&#x2F;code.google.com&#x2F;p&#x2F;ypsilon&#x2F;</a> one driving motivation for it was to keep GC pauses small, pretty important for games. I believe it has an incremental GC, not a fully concurrent one.<p>&gt; The requirements included &quot;Windows (compiled with MSCV) and iOS.&quot; Guile can do that?<p>Yep! with MinGW on Windows. IIRC they distribute such a prepackaged bundle. Will probably work with cygwin dlls too. Dont know about GUI inter-op, but Guile would build with Xcode<p>@xpolitix Good point about the need to link statically on iOS, had not thought about that one.
评论 #8250390 未加载
评论 #8250455 未加载
评论 #8250394 未加载
wrl超过 10 年前
Embedded programming languages are really cool. Lua&#x27;s still ruling the roost, as far as I&#x27;ve seen, but there are some nice options out there.<p>I&#x27;m currently using mruby for a project and have been quite happy with it so far. The community around it is still somewhat thin, but the code quality is good and development is quite active. <a href="https://github.com/mruby/mruby" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;mruby&#x2F;mruby</a>
评论 #8251860 未加载
justincormack超过 10 年前
&gt; &quot;The &quot;small Lisps&quot; are truly small, unlike, say, Lua.&quot;<p>Well tinyscheme seems to be about half the size of Lua, which is not that different. Lua really is pretty small.
评论 #8250597 未加载
nanexcool超过 10 年前
Hey, I visited your game website <a href="http://thespatials.com/" rel="nofollow">http:&#x2F;&#x2F;thespatials.com&#x2F;</a> and it started blasting audio automatically. Some consider this an anti-pattern!<p>The info on mission scripting is really good though!
评论 #8252080 未加载
bakul超过 10 年前
s9fes is another small Scheme that runs on Unixes, OS X, Plan9 &amp; Windows. The code is in public domain and fully described in a very nice book &quot;Scheme 9 From Empty Space: a guide to implementing Scheme in C&quot;. It weighs in at roughly 25% more lines than tinyscheme for *.{h,c,scm}.<p><a href="http://www.t3x.org/s9fes/" rel="nofollow">http:&#x2F;&#x2F;www.t3x.org&#x2F;s9fes&#x2F;</a>
chipsy超过 10 年前
My kneejerk reaction was &quot;oh my god don&#x27;t dump a general-purpose language into the runtime just to write mission scripts,&quot; but this is actually a good example of how to do it: The DSL defines some data structures that the C++ code uses, and has a direct handoff of the emitted results from Lisp into C++. Lisp doesn&#x27;t have to interact with every frame of the game.<p>If you start exposing the engine in arbitrary fashion, things go south rather quickly; the scripting language will never stop finding more things it happens to need to get access to, and then you have an inner platform with boilerplate abstractions that make for worse tooling than whatever you started with.
评论 #8251504 未加载
davidw超过 10 年前
Tcl is probably a bit bigger than he wanted, but still does this kind of thing admirably.<p>Originally created by antirez, the &quot;Jim&quot; Tcl interpreter is pretty cool if you want something a bit more minimalistic than regular Tcl: <a href="http://jim.tcl.tk/index.html/doc/www/www/index.html" rel="nofollow">http:&#x2F;&#x2F;jim.tcl.tk&#x2F;index.html&#x2F;doc&#x2F;www&#x2F;www&#x2F;index.html</a>
krosaen超过 10 年前
Neat - I wonder if ClojureScript-Terra could have worked too:<p><a href="https://github.com/ohpauleez/cljs-terra" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ohpauleez&#x2F;cljs-terra</a>