Lua 的应用

lua-users home
wiki

以下是全球范围内一些使用 Lua 的项目的简要介绍。(维基百科包含一个[更长的列表]。)如果您知道任何未在此处列出的令人兴奋的 Lua 项目,请添加它。

添加到此页面的项目有什么政策?其目的是提供高质量的 Lua 使用示例,还是对任何有 Lua 依赖的项目进行广告宣传?

是的,这是一个经过筛选的列表,但作者不想维护筛选算法,而是希望社区进行选择。也许我们可以将列表分成两部分,第一部分是主要示例,然后是更全面的列表。 -- JeromeVuarand

我认为一个全面的列表意义不大,可能会变成一个由从未启动的项目组成的垃圾场。Lua 并非一两年前出现、正在挣扎着被采用的语言,需要记录每一个用途。至于此页面的政策,最好 upfront 说明,而不是让编辑删除事后出现的条目,并可能惹恼某人。 --JohnBelmonte


[Simultus]

用于模拟自动化系统和设备的教育和行业软件

Simultus 允许对由机械设计和控制程序组成的整个设备进行模拟。Simultus 软件用于原型设计和系统测试,让用户可以避免在生产阶段出错。

在此处查找[快速入门]

如何[安装]


[SmartThings 物联网中心]

三星 SmartThings?

SmartThings? 是一个基于物理集线器的家庭物联网平台,可以控制 Zigbee、Z-Wave 和 LAN 设备。Individual devices are supported by [Edge Device Drivers],这些驱动程序是用 Lua 编写的,并在沙箱环境中直接在集线器上运行。驱动程序是在使用半事件驱动模式的自定义框架上编写的。High-level events can have event handlers registered, which are then run within a [cosock] coroutine thread which allows simple blocking-style socket programming when interacting with devices.


[NSBase]

数据库管理

Lua 也是 NSBase(数据库管理软件)的原生语言。脚本化使得表单和报表更加动态。集成 Lua 使得创建真正的数据库管理应用程序成为可能。


[Neovim]

文本编辑器

Neovim 是一个超可扩展的 Vim 文本编辑器。


[Screvle]

Lieron BVBA

Screvle 是一个硬件平台,允许您在没有嵌入式开发麻烦的情况下构建嵌入式产品。

只需浏览板载 Lua 开发环境,即可立即访问硬件(UART、I2C、SPI、ADC/DAC、PWM、CAN 等)和软件 API(SMTP 和 HTTP 客户端、GUI、SD 卡、设置等)。


[arcapos]

微系统

arcapos® 是一款用于票务、图书馆和零售的销售点解决方案。它完全可通过 Lua 语言进行扩展。通过 Lua,您可以访问所有外围设备、票据打印机、收据打印机、信用卡终端等。

联系方式:Marc Balmer

[中文文本分析器]

Imral Software Pty Ltd

中文文本分析器是一款面向中文学习者的工具,它可以跟踪用户已知的词汇量,并方便用户找到适合其词汇水平的文本。它还可以用于从中文文本中提取未知单词和句子的列表,并用于收集各种词频统计数据。

它将大量的核心文本处理和统计功能暴露给 Lua,用户可以编写 Lua 脚本并在应用程序内运行,以处理文本文档和提取有用信息。

联系方式:[Imral Software]

[Codea]

Codea 是一款带有视觉扩展的 iPad 应用程序。它允许您编写 Lua 代码来制作视觉游戏和其他程序。


[V-REP(虚拟机器人实验平台)]

V-REP Marc Freese

V-REP 是一个基于分布式控制架构的 3D 机器人模拟器:Lua 脚本(即控制程序)可以直接附加到场景对象并以线程或非线程方式同时运行。这使得 V-REP 非常通用,非常适合多机器人应用,并允许用户以与现实世界类似的方式对机器人系统进行建模——在那里控制在大多数情况下也是分布式的。


[ScriptStudio]

ScriptStudio? 是一个高性能的算法交易平台,使用户能够快速编写、测试和部署交易策略或订单路由场景。所有交易规则都写在 ScriptStudio? 的嵌入式 Lua 编辑器中。


[Spring RTS]

Spring RTS 是一款受《地球帝国》启发的即时战略游戏引擎,根据 GPL v2 许可证发布。它使用 Lua 脚本进行单位动画、大多数游戏规则(小工具)和游戏内 UI(小部件)以及 AI。所有这些 Lua 脚本都根据 GPLv2 兼容许可证发布。


[SimCity 4]

Maxis/Electronic Arts

SimCity 4 延续了 Maxis 高品质城市模拟游戏的悠久传统。该游戏使用 Lua 来配置游戏常量并控制其各种元素,包括用户界面、教程、顾问和自动装置。SimCity 的第三方插件可以访问这些功能来定义自定义内容的行为。


[魔兽世界]

暴雪娱乐

《魔兽世界》是一款大型多人在线角色扮演游戏(MMORPG),它使用 Lua 作为 UI 子系统的嵌入式脚本语言。这允许在开发过程中快速原型化新功能,并让客户能够通过模组和插件来自定义和改进自己的界面。

《魔兽世界》是世界上最受欢迎的基于订阅的 MMORPG,拥有超过 800 万订阅用户。

联系方式:[魔兽世界 UI 论坛]


[Adobe Photoshop Lightroom]

Adobe Systems Incorporated

Adobe Lightroom 是“数字摄影艺术与工艺的完整、优雅的环境,从原始拍摄到创意输出”。超过 40% 的 Adobe Lightroom 是用 Lua 编写的。

联系方式:Mark Hamburg


[Warhammer Online: Age of Reckoning]

EA Mythic/EA Games

《Warhammer Online》是 EA Mythic(《Dark Age of Camelot》的创造者)推出的一款新的 MMORP 游戏。自 1990 年代中期成立以来,Mythic 一直是多人在线游戏的 prolific creator。2006 年,该公司被 Eletronic Arts 收购。

According to Lance Robertson, the Producer of Warhammer Online, "we are aiming for the game interface to be very modifiable; the actual method we have chosen for WAR is to have Lua addons." These Lua mods follow the same popular fashion of World of Warcraft mods, where authors can customize the default Warhammer Online interface all the way to create full new interfaces and functionality.


[Qryos]

[BCZ.com]

Lua / Luajit 用作数据生成的后端,并与 openresty(启用 luajit 的 nginx Web 服务器)一起使用。由于 luajit 的服务器占用空间与下一常用脚本语言(如 Perl 或 PHP)相比非常小,因此在快速编码和服务器资源节省方面提供了许多可能性。由 [[bczcentral.com]]([[bcz.com]] 的 IT 解决方案提供商分支)支持的网站使用 luajit 进行分析和聊天消息传递。


[CryENGINE2]

Crytek

CryENGINE2 是 CryENGINE 的后继者,CryENGINE 是《孤岛惊魂》背后的游戏引擎。除了其他用途,该引擎还被 Crytek 开发的射击游戏《孤岛危机》使用,由 Electronic Arts 发行。使用 Lua 可以设置和调整武器/游戏参数,播放声音,以及加载图形,而无需接触 C++ 代码。CryENGINE2 也用于非游戏应用,例如 IMAGTP,一个 3D 虚拟可视化程序。


[Metaplace]

Areae

Metaplace 是一个下一代虚拟世界平台,其设计理念与 Web 的工作方式相同。Metaplace 不需要大型自定义客户端和巨大的下载,而是允许您在任何支持其开放客户端标准的平台上玩同一个游戏。它提供了一套工具供您创建世界,并为主机托管服务器,以便任何人都可以连接和玩。客户端可以在 Web 上的任何地方。

Metaplace 承诺为其网络协议采用开放的标记标准——任何人都可以为自己想要的任何平台编写客户端。它使用 Web 标准处理一切可能的内容,这就是为什么您可以拥有一个既是游戏世界又是网站的游戏世界,或者使用 Web 数据来填充您的世界。游戏逻辑是用 Lua 编写的,因此可以轻松创建您想要的任何游戏或世界。


[FarCry]

Crytek/UbiSoft

FarCry 大量使用 Lua 为单人和多人游戏脚本化所有游戏事件和 AI/游戏逻辑,并用于实时游戏编辑。

联系方式:[Marco Corbetta]


[最高指挥官]

THQ

Supreme Commander (SupCom) 是由 Gas Powered Games 设计和开发的一款即时战略电脑游戏。该游戏被认为是《终极动员令》的续作,而《终极动员令》被 GameSpy 评为有史以来排名第一的即时战略游戏。Lua 是 Supreme Commander 使用的大部分高级游戏代码的语言。Lua 也是编写 SupCom 模组的语言。


[Squeezebox Jive 平台]

Logitech

Jive 是一个软件平台,旨在支持 Squeezebox 和 Transporter 的遥控应用程序开发。Jive 平台的主要亮点是 Jive Browser(一个独立于分辨率和颜色深度的渲染器,允许我们支持从单色 VFD 到全彩色 LCD 屏幕的各种显示类型);以及 Jive UI(一个基于 Lua 的、新的、可扩展的用户界面,熟悉 Lua 强大、开源脚本语言的任何人都可以完全自定义)。

联系方式:Logitech 的流媒体系统组


[Garry's Mod]

Garry's Mod 是《半条命 2》的一个模组。它获得了 ModDB 的“年度最佳模组”(2005 年)、GameSpy 的“PC 年度最佳模组”(2005 年)以及 PCGamer US 的“2005 年度最佳模组”。Lua 为 Gmod 玩家打开了许多大门,允许他们脚本化新武器、游戏模式和其他功能。也许没有哪个附加功能像 Lua 一样伟大。

联系方式:[Garry Newman]


[LuaTeX]

LuaTeX 是 pdfTeX 的一个扩展版本,使用 Lua 作为嵌入式脚本语言。LuaTeX 项目的主要目标是提供一个开放且可配置的 TeX 变体,同时提供向后兼容性。

选择 Lua 的标准是:免费可用、可移植、易于用 pdfTeX 特定的功能扩展、占用空间小,并且工作起来很有趣。

联系方式:[Hans Hagen]


[MySQL Proxy]

MySQL AB

MySQL Proxy 是一个轻量级的二进制应用程序,位于一个或多个 MySQL 客户端和一个服务器之间。客户端使用常规凭据连接到代理,而不是连接到服务器。代理充当客户端和服务器之间的中间人。代理附带了一个嵌入式 Lua 解释器。使用 Lua,您可以定义在代理传递查询或结果集之前如何处理它们。

代理的强大之处在于其灵活性,这得益于 Lua 引擎。您可以在查询发送到服务器之前拦截它,并对其进行任何可想象的操作,例如原样传递、修复拼写错误、重写查询等。


[Nmap]

Insecure.org

Nmap(“网络映射器”)是一个免费的开源实用程序,用于网络探索或安全审计。Nmap 以新颖的方式使用原始 IP 数据包来确定网络上有哪些主机可用、这些主机提供哪些服务(应用程序名称和版本)、它们运行什么操作系统(和操作系统版本)、使用哪种类型的分组过滤器/防火墙,以及数十种其他特征。它获得了 Linux Journal 的“最佳安全工具”编辑选择奖、LinuxQuestions.Org 的“年度安全应用”奖,以及 Info World 的“最佳信息安全产品”奖。

Nmap 脚本语言是一个嵌入式 Lua 解释器,它已通过用于与 Nmap 接口的库进行了扩展。选择 Lua 是因为它在 Nmap 的所有标准中都表现出色:它体积小、根据 MIT 许可证分发、拥有提供并行脚本执行的合理方法的协程、为嵌入而设计、文档出色,并且拥有一个庞大且忠诚的社区。


[pbLua for the LEGO Mindstorms NXT]

Hempel Design Group

pbLua 是 Lua 5.1 在 LEGO Mindstorms NXT 上的实现。它基于 LEGO 提供的 NXT 砖块的开源代码。低级驱动程序进行了少量修改,然后与 Lua 源文件集成。pbLua 是 NXT 的一种替代文本编程环境,支持协程、字符串、表和有限的浮点运算。NXT 基于 ARM7 微处理器,具有 256KB 的 FLASH 和 64KB 的 RAM。pbLua 看起来像 PC 的串行端口,并通过 USB 连接。它完全独立,因为它在砖块上运行解析器。最终,当我们弄清楚 USB 在这些平台上的枚举方式后,我们将支持 Mac 和 Linux 平台。

联系方式:[Ralph Hempel]


[There]

Makena Technologies

“There”是一个在线的休息场所,您可以在其中与朋友们一起闲逛,结识新朋友——所有这一切都在一个郁郁葱葱的 3D 环境中,供您探索和共同建设。该游戏主要用 C++ 编写,大部分由可扩展的 Linux 集群提供服务,并使用 ThereScript(Lua 加附加函数)进行额外定制。


[Lua Player]

Lua Player 帮助程序员新手用 Lua 编写自己的游戏。它提供了一些与游戏相关的函数,例如图像加载和位图绘制,并且可用于索尼的 PlayStation Portable,或许以后还会用于其他平台。

联系方式:[Frank Buss]


航天飞机有害气体检测系统

ASRC Aerospace, Kennedy Space Center, Florida, USA

Lua 4.0 被集成到用于监控航天飞机发射操作期间气体浓度水平的系统中。发射人员使用 Lua 来执行一些更繁琐的任务,例如长期泄漏测试和统计数据收集。Lua 被集成到提供对发射台安装的泄漏检测设备进行远程控制的 Windows 应用程序中。远程控制应用程序提供了与 Lua 的挂钩,允许 Lua 脚本访问收集到的数据并向泄漏检测设备发出命令。选择 Lua 的主要原因是它是一种易于理解的语言(对发射人员来说是个优势),并且非常易于集成到项目中。

联系方式:[Charles Curley]


[Psychonauts]

Double Fine Productions

《Psychonauts》是一款来自 Tim Schafer 脑海中的 XBox 动作/冒险游戏。Psychonauts 的所有游戏逻辑都通过 Lua 实现。关卡设计师使用 Maya 创建关卡的几何图形,然后放置 Lua 控制的脚本实体的标记。这包括所有非玩家角色、平台、解谜元素。基本上,游戏引擎启动并将主玩家放入一个静态世界。然后 Lua 脚本接管并控制所有交互式元素。Lua 非常轻巧快速!太棒了!

联系方式:[Dave Dixon]


[Heroes of Might and Magic V]

Ubisoft/Nival Interactive

《Heroes of Might and Magic V》(HoMM5)是《Heroes of Might and Magic》电脑游戏系列的第五部。Lua 用于自定义逻辑编程。常规游戏过程是用 C++ 编程的,但是所有高级功能(如英雄移动、施法、改变资源或生物数量、放置地图对象、创建文本框等)都可以从 Lua 脚本访问。Nival Interactive 的地图和游戏设计师使用 Lua 来满足他们的需求,因为该语言易于学习,非程序员也能轻松使用。程序员也喜欢 Lua,因为它易于与现有的 C++ 代码绑定,并且足够强大,可以用于各种应用。


[S.T.A.L.K.E.R.: Shadow of Chernobyl]

GSC Game World

《S.T.A.L.K.E.R.: Shadow of Chernobyl》是一款 FPS(第一人称射击)游戏。它在全球 PC 上的销量超过 100 万份。该项目已开发 6 年,包括 20 名程序员(7 名脚本编写者)。它使用了 Lua 5.0.2 和 LuaJIT(感谢 Mike Pall)。选择 Lua 是因为它简单、快速,并且有一个开源绑定库(luabind)。Lua 是一个已有 10 年历史的开源项目,拥有庞大的社区,很少有 bug,并且已在许多其他 FPS 游戏中得到使用。

联系方式:[Dmitriy Iassenev]


[Barracuda Embedded Web Server]

RealTimeLogic

Barracuda 提供 Lua Server Pages (LSP) 用于网页创作。Barracuda 平台是一个先进的嵌入式 Web 服务器,专为实时控制和监控嵌入式工业应用而设计。Barracuda Web 服务器占用空间非常小,几乎可以在任何平台上运行。LSP 支持 Barracuda API 的大部分功能(cookie、会话、RPC 等),并内置 Lua-SQL 支持。LSP 可以使用现有的 Lua 库进行扩展。LSP 应用程序可以打包为 ZIP 文件和/或嵌入在 Barracuda Web 服务器可执行文件中。

联系方式:[Real Time Logic]


[BarracudaDrive Server]

RealTimeLogic

BarracudaDrive? 将您的计算机和 Raspberry Pi 等设备转变为强大而安全的在线存储系统,让您可以在世界上的任何连接的计算机或设备上访问和共享文件。

BarracudaDrive? 是一个应用程序服务器,它允许任何具有 Web 和服务器端经验的人扩展和/或更改服务器。BarracudaDrive? 支持一种称为 Lua Server Pages (LSP) 的服务器端脚本语言。请参阅 [BarracudaDrive 开发者页面] 以获取更多信息。

联系方式:[Real Time Logic]


[Wireshark - 世界上最流行的网络协议分析器]

Wireshark 开发团队

Wireshark 是世界上最领先的网络协议分析器,并且在许多行业中都是标准。Wireshark 被全球网络专业人士用于故障排除、分析、软件和协议开发以及教育。它拥有协议分析器应有的所有标准功能,以及其他任何产品中未见过的几项功能。Lua 已被添加到 Wireshark 中,作为原型化和脚本编写的语言。Lua 可用于编写 dissectors、post-dissectors 和 taps(一种从每个帧获取数据的机制)。

联系方式:Ethereal Developers


[Hercule - Olivetti 打印机固件]

Olivetti Engineering SA

Hercule 是 Olivetti 打印机的固件开发平台,用于 ANY_WAY 和 MY_WAY 系列。Lua 用作配置脚本,用于根据期望的质量来决定打印模式。这使得打印机驱动程序在运行时行为一致。此外,Lua 脚本可以直接从存储卡执行,无需任何主机计算机,从而简化了测试和生产任务。

联系方式:[Patrick Rapin]


[Giggle]

The Moving Picture Company

Giggle 是一个为了制作电影《特洛伊》而开发的 renderman 程序性 DSO。该项目需要渲染包含数万名战斗士兵的场景,以及复杂的城市布局和火焰、烟尘的粒子效果。所有这些几何图形的生成几乎完全在渲染时由 Giggle 处理。

Giggle 的核心功能包括大约 40,000 行 C++ 代码,由 2 名 MPC 程序员在 9 个月内编写。这提供了许多功能,包括:* 加载几何图形、着色器、粒子缓存和用于代理模拟的专有缓存格式。* 蒙皮和其他几何修改器* 程序化几何生成* 用于空间划分的 kd 树类* 用于执行光线交叉和最近点查询的几何求值器

功能被绑定到 Lua,提供了一个灵活的脚本接口,可以轻松地适应特定任务。MPC 最初选择 Lua 是因为它以速度和效率著称,并且 API 非常简单。随后,它通过 16 名左右的 CG 艺术家团队和超过 500 台机器的渲染农场的大量使用而证明了其价值。

自采用以来,Giggle 的使用已扩展到 MPC 的其他功能流程,并与交互式解释器和 OpenGL 预览渲染器相结合,以提供交互式脚本开发和调试。

联系方式:[John Haddon]


[Impossible Creatures]

Relic Entertainment Inc

Impossible Creatures 是一款 PC RTS(即时战略)游戏,于 2003 年 1 月 7 日发布。该项目有数十万行代码,由约 8 名程序员编写。Lua 贡献了其中约 50,000 行代码。

Lua 在游戏的各个方面都得到了广泛使用。它用于配置游戏几乎所有的系统和子系统。它定义和控制 UI,管理 AI,并指定效果和其他图形实体的外观。它用于实时调整游戏、编辑单位属性、处理游戏规则、自动化任务等等。

选择 Lua 是因为它速度快、语法简单,并且对程序员和设计师来说都易于理解。它还易于调试、修改并集成到我们的 C++ 游戏/工具中。

联系方式:[Shelby Hubick]


[Digital Fusion]

eyeon Software

Digital Fusion 是一个完全集成的、非线性的合成和特效后期制作系统,用于完成、设计和特效创作,广泛用于许多故事片、高清电视制作、广播视频、基于 Web/多媒体项目等。Lua 构成了 'DFScript' 的基础,DFScript 是 Digital Fusion v4 中添加的集成脚本语言。这可以自动化程序中的重复性任务,并促进与后期制作设施其他方面的集成,例如剪辑管理、3D 渲染器集成、EDL/conform 集成等。

联系方式:[Peter Loveday]


[ToME]

ToME 是一款免费的 Roguelike 游戏。它是一款非常发达且深入的游戏,最初是 Angband 的一个变体(实际上是其中一个变体),现在已发展成为一款全新的游戏。

ToME 使用 Lua 来允许自定义引擎、新任务、法术、能力等。由于 Lua,很多内容都可以自定义,而且还会更多。选择 Lua 是因为它具有可移植性、小巧、语法清晰、表以及整体的整洁性 :)

联系方式:[DarkGod]


[Publique!]

F�brica Digital

Publique! 是一个基于 Web 的内容管理系统。Publique! 管理的信息结构可以包含整个 HTML 站点或其中一部分。Publique! 也可以用作基于 XML 的 Web 服务或 WML 前端。Publique! 提供基于三种用户类型或角色的工作流程:作者、编辑和读者。

目前,巴西、阿根廷、美国和日本有超过 100 个网站使用 Publique。当前版本(2.2)提供葡萄牙语和英语版本。日语和西班牙语版本即将推出。

Publique 于 1998 年启动,在其生命周期中由 3 到 7 名程序员组成的团队开发。生产团队总计 30 人。

Publique 使用修改版的 [CGILua] 作为其当前的 Web 引擎,并且几乎包含 50,000 行 Lua 代码和 5,000 行 C 代码(不包括 CGILua 本身)。

选择 Lua 是因为它易于原型化、执行速度快且可扩展。除了操作系统平台、DBMS 和 Web 服务器抽象层之外,它几乎用于系统的所有功能。

联系方式:[Andr� Carregal]


[Tecgraf]

Computer Graphics Technology Group, PUC-Rio

Tecgraf 是 PUC-Rio(里约热内卢天主教大学)和[PETROBRAS](巴西石油公司)之间合作的成果。Lua 是 Tecgraf 的诞生地,自 1993 年以来一直在那里使用。目前,Tecgraf 中有三十多名程序员定期使用 Lua,他们已经编写了超过 20 万行代码,分布在数十种最终产品中。

联系方式:[Waldemar Celes]


[Multi Theft Auto: San Andreas]

Multi Theft Auto

Multi Theft Auto (MTA) 是 Rockstar North 的《Grand Theft Auto》系列游戏的多人模组。最初于 2003 年初作为一个实验性软件创立,Multi Theft Auto 此后已发展成为一个先进的多人平台,为游戏玩家和第三方开发者服务。从 MTA for Grand Theft Auto: San Andreas 开始,您就可以与朋友在线玩《Grand Theft Auto》,在您自己创建的自定义地图和游戏模式中,由 Lua 脚本语言支持,目前(截至 2006 年底)拥有 373 个游戏特定 Lua 函数!使用 Lua 可以让您在游戏中创建几乎任何您想要的游戏模式或功能。示例和其他炫酷的 Lua 内容可以在我们的主页上找到。

联系方式:[Cecill Etheredge]


[Setup Factory]

Indigo Rose Corporation

Setup Factory 是一款 Windows 软件开发工具,用于创建紧凑的软件安装程序,可通过 Web、电子邮件、LAN、CD、DVD 和软盘进行部署。其紧凑的单文件安装程序运行时开销很小(约 450KB,包括卸载程序),使其能够快速轻松地初始化和安装。它使用 Lua 5.0 作为脚本语言来控制和自定义安装过程。

联系方式:[Indigo Rose Software]


[SciTE]

Scintilla.org

SciTE 是一个基于 SCIntilla 的文本编辑器。最初是为了演示 Scintilla 而构建的,后来发展成为一个通用的编辑器,具有构建和运行程序的功能。它最适合用于配置简单的作业。SciTE 具有许多现代编辑器功能(大部分由 Scintilla 提供),如代码语法高亮、调用提示、代码自动完成、折叠等。自 1.60 版本以来,Lua 可用于对当前缓冲区执行操作,使用 Scintilla 组件的完整 API。

联系方式:[Neil Hodgson]


[AutoPlay Media Studio]

Indigo Rose Corporation

AutoPlay Media Studio 是一款独特的软件工具,可让您快速创建自己的自定义 Windows 软件、自动播放/自动运行 CD/DVD ROM 以及交互式多媒体演示。只需将照片、视频、音频、Macromedia Flash 内容、文本、HTML 等丰富媒体内容直接拖放到您的项目中。您可以将所有内容与基于流行的 Lua 语言的强大自由格式脚本引擎连接起来。这种易于理解的脚本语言提供了从“for、repeat 和 while”循环到“if/else”条件、函数、变量和表(关联数组)的所有内容。我们包含了一个包含 350 多个强大动作(高级函数)的库,以及内置的数学和布尔评估。“点按即视”的“动作向导”和“代码向导”使其足够简单,即使是完全的新手也可以为他们的项目添加强大的交互性。高级开发人员会欣赏语法彩色高亮、代码补全、函数高亮、实时动作原型和 Ctrl+Space 函数列表。AutoPlay Media Studio Personal Edition 是 AutoPlay Media Studio 的免费非商业版本。

联系方式:[Indigo Rose Software]


[Homeworld 2]

Relic Entertainment Inc

Homeworld2 是一款太空 PC RTS 游戏,在游戏的几乎所有方面都广泛使用 Lua4,包括 UI、AI、游戏规则、游戏流程、统计数据、游戏属性、游戏调整和自动化。

联系方式:[Shelby Hubick]


[SpellForce - The Order Of Dawn]

Phenomic Game Development

我们在项目的多个部分使用 Lua。最初我们选择它作为任务脚本语言(触发器和其他东西),但目前我们将 Lua 用于任务脚本、声音脚本、数据定义语言、通用预处理工具以及其他用途。

联系方式:[Dirk Ringe]


[GUPPY - 遗传序列可视化]

Computational Biology Research Center, AIST Tokyo

GUPPY (Genetic Understanding Perspective Preview sYstem) 是一个用于可视化分子生物学序列数据库信息的程序。该程序旨在加速生物信息学各种研究的计算任务。我们目前的开发涉及为一些活跃的生物项目原型化附加功能。Lua 语言被嵌入到该程序中,以方便数据处理和布局序列图的脚本功能。

该程序还具有高度交互式操作,可实现从基因组景观到离散核酸序列的平滑滚动和缩放。

联系方式:[Yutaka Ueno]


[PtokaX Direct Connect Hub]

PtokaX Direct Connect Hub 是 Neo-Modus Direct Connect 对等网络的多平台服务器应用程序。该应用程序根据 GPLv3 许可证发布。Lua 脚本由核心提供,API 文档齐全。脚本扩展了 Hub 的基本功能,并允许程序员在不接触 C++ 代码的情况下进行控制。


[tomsrtbt - “一张软盘上的最佳 Linux”]

Tom's NET

tomsrtbt 是“一张软盘上的最佳 Linux”,用于:救援恢复恐慌与紧急情况,放在衬衫口袋里的工具,当您无法使用硬盘驱动器时。

Tomsrtbt 包括一个带有 luasocket、md5 和 regex 库的 Lua 解释器,以及 vi 和 emacs 编辑器,以及其他工具。目前用 Lua 编写的实用程序包括:wc unrpm-- undeb-- tee split login head grep dirname cut cmp basename dhcpcd--。

联系方式:[Tom Oehser]


[Soul Ride]

Slingshot Game Technology

Soul Ride 是一款 PC 单板滑雪游戏,拥有广阔的真实地形和基于物理的游戏玩法和角色动画。我们在引擎中使用了标准的 Lua 3.2.2 作为配置工具和控制台接口,并用于脚本化一些游戏事件。我们在开发后期将 Lua 放入引擎中,事实证明它简单、功能强大且没有麻烦。

联系方式:[Thatcher Ulrich]


[Crazy Ivan Robot]

Crazy Ivan Robot Team

Crazy Ivan 是赢得 2000 年丹麦 RoboCup 比赛的机器人。Crazy Ivan 的“大脑”使用 Lua 作为脚本语言。所有 AI 和逻辑都用 Lua 实现。该大脑运行在 Motorola Coldfire 5206e 处理器上,并且 Lua 被修改为仅使用整数,因为 Coldfire 没有 FPU。

联系方式: [Erik Hougaard]


[Illarion]

Illarion e.V.

Illarion 是一款开源的图形化在线角色扮演游戏,专注于真实的 RPG 体验。Illarion 自 2005 年 4 月起使用 Lua 作为脚本语言。非玩家角色、任务、施法、战斗和制作等系统都由 Lua 脚本处理。Illarion 于 2000 年启动,现已发展成为一款功能丰富的在线游戏,在很大程度上可与《创世录》相媲美。Illarion 使用基于 Slick 2D 游戏库的 Java 客户端。它由 Illarion e.V. 资助,可以免费玩。

联系方式: [vilarion]


[OpenTibia]

OpenTibia? 是 MMORPG Tibia 的开源服务器替换项目。OpenTibia? 使用 Lua 脚本编写整个游戏环境,例如物品操作、事件和任务。

[DCS: Black Shark]

Eagle Dynamics

“DCS: Black Shark”是俄罗斯 Ka-50 攻击直升机的 PC 飞行模拟器,是 Eagle Dynamics 和 The Fighter Collection 新模拟系列“Digital Combat Simulator” (DCS) 的第一款产品。“DCS: Black Shark”将秉承 Eagle Dynamics 的卓越传统,带来比其前作“Flaming Cliffs”更逼真的模拟体验。“DCS: Black Shark”将在飞行动力学、仪器建模、航空电子系统和武器系统方面提供前所未有的真实感。地面车辆和直升机的人工智能以及武器建模都得到了显著改进。新的任务编辑器包含一个强大的电子地图系统,允许用户轻松创建任务和战役。新的战役系统允许战场前线根据您的任务成功或失败而向前或向后移动。由于 DCS 系统的灵活性增强,固定翼飞机和直升机的附加组件将很快推出。

Lua 被大量用于整个项目,用于游戏 AI 编程、配置目的以及更多用途。游戏任务编辑器几乎完全是用 Lua 实现的。

联系方式: [Sales]


[OhMyBot]

Maysami Soft

OhMyBot 是一个用于自动化和机器人创建的工具。它拥有丰富的 API,使用 Lua 作为脚本语言,并集成了图形化 Lua 调试器。

联系方式: [Contact]


[Daimonin MMORPG]

Daimonin Open Source Project

Daimonin 是一款 MMORPG,它在服务器端使用 Lua 作为通用脚本引擎。它与地图编辑器结合使用,作为任务和通信接口,也作为 AI 扩展或地图中触发的事件。

到 C 服务器的基础插件和脚本托管在 [sourceforge 项目 SVN]

联系方式: [Contact]


[G-WAN]

G-WAN 是一款 Linux 应用服务器,支持 Lua 和其他各种语言的脚本。


[Asterisk: Telecom PBX]

来自上面链接的网站:Asterisk 是一款将普通计算机变成通信服务器的软件。Asterisk 支持 IP PBX 系统、VoIP 网关、会议服务器等。它被全球的小型企业、大型企业、呼叫中心、运营商和政府使用。Asterisk 是免费且开源的。


[Hexinator]

Hexinator 是一款用于二进制文件的建模工具。所谓的语法以抽象的方式描述二进制文件格式。解析逻辑可以通过自定义 Lua 脚本进行扩展。此外,特殊的数据类型也可以用 Lua 实现。


这是我用来生成所有条目的脚本: -- JeromeVuarand

local entries = {
  {
    id = 6,
    title = "SimCity 4",
    title_link = "http://simcity.ea.com/",
    subtitle = "Maxis/Electronic Arts",
    text = [===[
SimCity 4 continues a long tradition of high-quality
city simulation games by Maxis.
The game uses Lua for configuring game constants and to
control various of its elements
including the user interface,
tutorials, advisors, and automata.
Third-party plugins for SimCity can access these features to define
the behavior of custom content.]===],
  },
}

local function dewikify(text)
  local n
  repeat
    text,n = text:gsub("(%u%l+)(%u%l+%a*)", "%1{{}}%2")
  until n == 0
  return text
end

local function generate_entry(entry)
  local output = ""
  local function print(str) output = output..(str or "").."\n" end
  print("----")
  if entry.title_link then
    print("== ["..entry.title_link.." "..dewikify(entry.title).."] ==")
  else
    print("== "..dewikify(entry.title).." ==")
  end
  if entry.subtitle then
    print("''"..dewikify(entry.subtitle).."''")
  end
  print()
  print(dewikify(entry.text))
  print()
  if entry.contact then
    if entry.contact_email then
      print("Contact: ''[mailto:"..entry.contact_email.." "..dewikify(entry.contact).."]''")
    elseif entry.contact_link then
      print("Contact: ''["..entry.contact_link.." "..dewikify(entry.contact).."]''")
    else
      print("Contact: ''"..dewikify(entry.contact).."''")
    end
    print()
  end
  return output
end

for _,entry in ipairs(entries) do
  print(generate_entry(entry))
end


RecentChanges · preferences
编辑 · 历史
最后编辑于 2022 年 11 月 29 日 GMT 上午 5:58 (差异)