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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Adventure Games and Eigenvalues (2017)

125 点作者 rayvega将近 6 年前

3 条评论

balddenimhero将近 6 年前
Application of formal methods is always an interesting read, and this article is a gentle introduction to some of the ideas exploited in probabilistic model checking. However to me, the way the article is written, gives software verification, and CBMC in particular, an unnecessary bad reputation.<p>&gt; There is no need to define “game progress” or implement a naive game AI, as formal verification methods appear to require.<p>&gt; The mathematical verification code is about one-third the size of the formal verification code presented by the TTTM author<p>Most of the author&#x27;s argumentation stems from the different levels of modelling. He pursues verification at <i>model-level</i>. That is, he does the interpretation that a &quot;game progress&quot;&#x2F;&quot;native game AI&quot; would provide, and lifts the problem from the <i>source-level</i> to a formal representation as Markov process.<p>With that in mind, it should be clear that reasoning on that higher level can be done more efficiently. In fact, if the author of TTTM would have chosen to verify just the transition relation, an even simpler modelling would have sufficed, e.g. via Prism, ITSTools&#x2F;GAL, SMV.<p>I just want to stress that the author of TTTM did not just formally verify that the concrete <i>transition relation</i> can not reach a &quot;bad state&quot;, but proved that <i>the actual implementation</i> indeed cannot reach said states. For example, this also includes proving that the game&#x27;s pseudo-random generation of initial states is safe to use.<p>&gt; The TTTM formal verification code requires a value called MAX_FINISH_DEPTH, which represents the maximum number of steps required to finish the game from any valid state. It is unclear how the TTTM author arrived at the number 18, but the value can easily be calculated using the matrix representation of the game.<p>Again, when reasoning at the level of an actual implementation, i.e. software&#x2F;binaries, such high-level reasoning is not applicable. Therefore, when employing bounded verification techniques, an educated guess about a sufficiently high number of steps must be provided.
评论 #20213425 未加载
krm01将近 6 年前
I’m an engineer, have a degree in Gamedesign and turned UX&#x2F;UI designer. Many lessons from adventure games&#x2F;level design are very useful to apply when designing SaaS products (not talking about “gamification”. Dead ends is particularly an interesting point in the experience.<p>One way you could apply lessons from game design into crafting better software products is by breaking down what a game is. Think of it as 3 layers.<p>- 1. Set of rules (ex. Finish before opponent)<p>- 2. A story&#x2F;shell around those rules (ex. Race car&#x2F;horse riding&#x2F;athletics&#x2F;etc)<p>- 3. Rewarding Experience (ex. Real-world Monetary reward&#x2F;nice video&#x2F;animation with your character holding a trophy etc)<p>——<p>3. Is the reason people use your product. What real-world benefit are they seeking?<p>2. This is the UI of your product. A race game has a different vibe and audience than a horse racing game. Even though they have the same underlying ruleset. So make sure you tailor your UI to your audience.<p>1. This is the UX of your product. Here you’ll get core lessons from gamedesign (like dead ends discussed in the article)<p>You Can always contact me with Ui&#x2F;UX questions, find my contact details in my bio.
评论 #20210853 未加载
steventhedev将近 6 年前
Isn&#x27;t this overkill to verify that you don&#x27;t have any invalid states? Consider the state machine as a directed graph, reverse each edge and run DFS from the end state. if you have any vertices in the graph you didn&#x27;t visit, they&#x27;re dead ends. That should be more efficient than the O(n^3) way of finding eigenvectors.
评论 #20210881 未加载