introduction.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. <!DOCTYPE html>
  2. <html class="writer-html5" lang="en" >
  3. <head>
  4. <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
  5. <meta property="article:modified_time" content="2026-02-10T23:35:42+00:00" /><meta property="og:title" content="Introduction" />
  6. <meta property="og:type" content="website" />
  7. <meta property="og:url" content="https://docs.crownengine.org/html/latest/introduction.html" />
  8. <meta property="og:site_name" content="Crown 0.60.0 Manual" />
  9. <meta property="og:description" content="What is it?: Crown is a complete and cross-platform game engine designed for flexibility, performance, and fast-iterations. It isn’t tied to any specific game type or genre; instead, it provides versatile tools and general primitives suitable for building a wide range of 3D an..." />
  10. <meta property="og:image" content="https://docs.crownengine.org/html/latest/_images/level-editor.png" />
  11. <meta property="og:image:alt" content="Crown 0.60.0 Manual" />
  12. <meta name="description" content="What is it?: Crown is a complete and cross-platform game engine designed for flexibility, performance, and fast-iterations. It isn’t tied to any specific game type or genre; instead, it provides versatile tools and general primitives suitable for building a wide range of 3D an..." />
  13. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  14. <title>Introduction &mdash; Crown 0.60.0 Manual 0.61.0 documentation</title>
  15. <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
  16. <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
  17. <link rel="stylesheet" href="_static/css/custom.css" type="text/css" />
  18. <link rel="shortcut icon" href="_static/org.crownengine.Crown.svg"/>
  19. <link rel="canonical" href="https://docs.crownengine.org/html/latest/introduction.html" />
  20. <!--[if lt IE 9]>
  21. <script src="_static/js/html5shiv.min.js"></script>
  22. <![endif]-->
  23. <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
  24. <script src="_static/jquery.js"></script>
  25. <script src="_static/underscore.js"></script>
  26. <script src="_static/doctools.js"></script>
  27. <script src="_static/js/theme.js"></script>
  28. <link rel="index" title="Index" href="genindex.html" />
  29. <link rel="search" title="Search" href="search.html" />
  30. <link rel="copyright" title="Copyright" href="copyright.html" />
  31. <link rel="next" title="Installing Crown" href="installing_crown/index.html" />
  32. <link rel="prev" title="Changelog" href="changelog.html" />
  33. </head>
  34. <body class="wy-body-for-nav">
  35. <div class="wy-grid-for-nav">
  36. <nav data-toggle="wy-nav-shift" class="wy-nav-side">
  37. <div class="wy-side-scroll">
  38. <div class="wy-side-nav-search" >
  39. <a href="index.html">
  40. <img src="_static/org.crownengine.Crown.svg" class="logo" alt="Logo"/>
  41. </a>
  42. <div class="version">
  43. Crown 0.60.0 Manual
  44. </div>
  45. <div role="search">
  46. <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
  47. <input type="text" name="q" placeholder="Search docs" />
  48. <input type="hidden" name="check_keywords" value="yes" />
  49. <input type="hidden" name="area" value="default" />
  50. </form>
  51. </div>
  52. </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
  53. <ul class="current">
  54. <li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li>
  55. <li class="toctree-l1 current"><a class="current reference internal" href="#">Introduction</a><ul>
  56. <li class="toctree-l2"><a class="reference internal" href="#what-is-it">What is it?</a></li>
  57. <li class="toctree-l2"><a class="reference internal" href="#license">License</a></li>
  58. <li class="toctree-l2"><a class="reference internal" href="#supported-platforms">Supported platforms</a></li>
  59. <li class="toctree-l2"><a class="reference internal" href="#design-principles">Design Principles</a></li>
  60. <li class="toctree-l2"><a class="reference internal" href="#features">Features</a></li>
  61. </ul>
  62. </li>
  63. <li class="toctree-l1"><a class="reference internal" href="installing_crown/index.html">Installing Crown</a></li>
  64. <li class="toctree-l1"><a class="reference internal" href="getting_started/index.html">Getting Started</a></li>
  65. <li class="toctree-l1"><a class="reference internal" href="level_editor/index.html">The Level Editor</a></li>
  66. <li class="toctree-l1"><a class="reference internal" href="importing_resources/index.html">Importing Resources</a></li>
  67. <li class="toctree-l1"><a class="reference internal" href="gameplay/index.html">Writing Gameplay</a></li>
  68. <li class="toctree-l1"><a class="reference internal" href="deploying/index.html">Deploying</a></li>
  69. <li class="toctree-l1"><a class="reference internal" href="reference/index.html">Reference</a></li>
  70. <li class="toctree-l1"><a class="reference internal" href="lua_api.html">Lua API reference</a></li>
  71. <li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary</a></li>
  72. <li class="toctree-l1"><a class="reference internal" href="copyright.html">License</a></li>
  73. <li class="toctree-l1"><a class="reference internal" href="hackers/index.html">Hackers</a></li>
  74. </ul>
  75. </div>
  76. </div>
  77. </nav>
  78. <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
  79. <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
  80. <a href="index.html">Crown 0.60.0 Manual</a>
  81. </nav>
  82. <div class="wy-nav-content">
  83. <div class="rst-content">
  84. <div role="navigation" aria-label="Page navigation">
  85. <ul class="wy-breadcrumbs">
  86. <li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
  87. <li>Introduction</li>
  88. <li class="wy-breadcrumbs-aside">
  89. <a href="_sources/introduction.rst.txt" rel="nofollow"> View page source</a>
  90. </li>
  91. </ul>
  92. <hr/>
  93. </div>
  94. <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
  95. <div itemprop="articleBody">
  96. <section id="introduction">
  97. <h1>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h1>
  98. <section id="what-is-it">
  99. <h2>What is it?<a class="headerlink" href="#what-is-it" title="Permalink to this headline">¶</a></h2>
  100. <p>Crown is a complete and cross-platform game engine designed for flexibility,
  101. performance, and fast-iterations. It isn’t tied to any specific game type or
  102. genre; instead, it provides versatile tools and general primitives suitable for
  103. building a wide range of 3D and 2D games.</p>
  104. <img alt="_images/level-editor.png" src="_images/level-editor.png" />
  105. <div class="admonition note">
  106. <p class="admonition-title">Note</p>
  107. <p>Crown is in active development and new features are added and improved all
  108. the time; You can follow the development progress in real-time on <a class="reference external" href="https://github.com/crownengine/crown/issues">GitHub</a> and join the discussions on
  109. the <a class="reference external" href="https://discord.com/invite/CeXVWCT">Discord</a> channel!</p>
  110. </div>
  111. </section>
  112. <section id="license">
  113. <h2>License<a class="headerlink" href="#license" title="Permalink to this headline">¶</a></h2>
  114. <p>The games you create with Crown are your sole property. All the data (models,
  115. textures, levels etc.) and code you produce (including any data and code
  116. generated by Crown) are yours to use as you wish. See <a class="reference internal" href="copyright.html"><span class="doc">License</span></a> for a
  117. comprehensive list of applicable licenses.</p>
  118. </section>
  119. <section id="supported-platforms">
  120. <h2>Supported platforms<a class="headerlink" href="#supported-platforms" title="Permalink to this headline">¶</a></h2>
  121. <ul class="simple">
  122. <li><dl class="simple">
  123. <dt>Runtime</dt><dd><ul>
  124. <li><p>Android 7.0+ (ARMv7-a, ARMv8-a)</p></li>
  125. <li><p>HTML5 (Wasm/Emscripten)</p></li>
  126. <li><p>Ubuntu 22.04+ (x86_64)</p></li>
  127. <li><p>Windows 10+ (x86_64)</p></li>
  128. </ul>
  129. </dd>
  130. </dl>
  131. </li>
  132. <li><dl class="simple">
  133. <dt>Editor</dt><dd><ul>
  134. <li><p>Ubuntu 22.04+ (or any 64-bit Linux with GTK+ &gt;= 3.24)</p></li>
  135. <li><p>Windows 10+</p></li>
  136. </ul>
  137. </dd>
  138. </dl>
  139. </li>
  140. </ul>
  141. </section>
  142. <section id="design-principles">
  143. <h2>Design Principles<a class="headerlink" href="#design-principles" title="Permalink to this headline">¶</a></h2>
  144. <p>Crown is loosely inspired by the Bitsquid engine and shares with it many of its
  145. design principles:</p>
  146. <ul class="simple">
  147. <li><dl class="simple">
  148. <dt>Data-driven</dt><dd><p>All aspects of the game are defined via text-based configuration files,
  149. which are compiled into native, efficient, platform-specific BLOBs before
  150. shipping. These files are human-readable, making them easy to inspect and
  151. compatible with traditional VCS and regular text-based utilities.</p>
  152. </dd>
  153. </dl>
  154. </li>
  155. <li><dl class="simple">
  156. <dt>Data-oriented</dt><dd><p>Data in memory is organized to achieve the maximum performance possible on
  157. every supported platform.</p>
  158. </dd>
  159. </dl>
  160. </li>
  161. <li><dl class="simple">
  162. <dt>Hot-reload everything</dt><dd><p>Every game asset is reloadable at run-time, including code.</p>
  163. </dd>
  164. </dl>
  165. </li>
  166. <li><dl class="simple">
  167. <dt>Multi-process Editor/Runtime architecture</dt><dd><p>The Editor and the Runtime live in separate processes. The Editor helds all
  168. the important data: if the Runtime crashes you can restart it without losing
  169. any work.</p>
  170. </dd>
  171. </dl>
  172. </li>
  173. <li><dl class="simple">
  174. <dt>Lightweight Codebase and Runtime</dt><dd><p>The whole engine (runtime + tools) consists of fewer than 100K lines of
  175. code. Written in high-performance native languages only, it is easily
  176. understood and extensible by anyone.</p>
  177. </dd>
  178. </dl>
  179. </li>
  180. </ul>
  181. </section>
  182. <section id="features">
  183. <h2>Features<a class="headerlink" href="#features" title="Permalink to this headline">¶</a></h2>
  184. <ul class="simple">
  185. <li><dl class="simple">
  186. <dt>Cross-platform Editors</dt><dd><ul>
  187. <li><p>DCC data importers for models, textures, sprites, sounds, fonts etc.</p></li>
  188. <li><p>Level Editor with place/move/rotate/scale controls, snapping, selection etc.</p></li>
  189. <li><p>Dedicated editors for most resource types (Animation, Unit prefabs, Texture Settings etc.)</p></li>
  190. <li><p>Object Inspector with component-based workflow.</p></li>
  191. <li><p>Project Browser with global searching, multiple view modes, thumbnails etc.</p></li>
  192. <li><p>Deployer for Android, HTML5 and desktop platforms.</p></li>
  193. <li><p>Console with Lua REPL and runtime commands.</p></li>
  194. <li><p>Undo/redo everywhere, light/dark theme, customizable launchers and much, much more…</p></li>
  195. </ul>
  196. </dd>
  197. </dl>
  198. </li>
  199. <li><dl class="simple">
  200. <dt>Graphics</dt><dd><ul>
  201. <li><p>D3D11, Vulkan and GLES 3.0 render backends.</p></li>
  202. <li><p>High-level 3D &amp; 2D objects (meshes, cameras, lights and sprites).</p></li>
  203. <li><p>Physically-based rendering pipeline with metallic workflow.</p></li>
  204. <li><p>GLSL-like shader programming language.</p></li>
  205. <li><p>3D skeletal animation.</p></li>
  206. <li><p>Animation state machine with events, variables and blending with simple expressions evaluator.</p></li>
  207. <li><p>Immediate-mode GUI API with customizable materials.</p></li>
  208. <li><p>TrueType text rendering via texture atlas.</p></li>
  209. <li><p>Flipbook sprite animation.</p></li>
  210. <li><p>FBX and custom mesh formats.</p></li>
  211. <li><p>DDS, EXR, JPG, KTX, PNG, PVR and TGA texture formats.</p></li>
  212. </ul>
  213. </dd>
  214. </dl>
  215. </li>
  216. <li><dl class="simple">
  217. <dt>Physics</dt><dd><ul>
  218. <li><p>Static, dynamic and keyframed rigid bodies with multiple colliders.</p></li>
  219. <li><p>Dedicated Mover object for controlling characters.</p></li>
  220. <li><p>Collision begin/stay/end events.</p></li>
  221. <li><p>Triggers with enter/leave events.</p></li>
  222. <li><p>Spatial queries: ray-, sphere- and box-casts.</p></li>
  223. <li><p>Joints (fixed, spring and hinge).</p></li>
  224. </ul>
  225. </dd>
  226. </dl>
  227. </li>
  228. <li><dl class="simple">
  229. <dt>Audio</dt><dd><ul>
  230. <li><p>3D audio sources with position and range-based attenuation.</p></li>
  231. <li><p>Sound groups for bulk volume adjustments.</p></li>
  232. <li><p>Audio streaming.</p></li>
  233. <li><p>Formats: WAV and OGG.</p></li>
  234. </ul>
  235. </dd>
  236. </dl>
  237. </li>
  238. <li><dl class="simple">
  239. <dt>Scripting</dt><dd><ul>
  240. <li><p>Integrated Lua runtime can be used to control every aspect of the game.</p></li>
  241. <li><p>On supported platforms, LuaJIT is used for even higher performances.</p></li>
  242. <li><p>Integrated REPL to quickly test and experiment while the game is running.</p></li>
  243. <li><p>Live reloading of gameplay code without needing to restart the game.</p></li>
  244. </ul>
  245. </dd>
  246. </dl>
  247. </li>
  248. <li><dl class="simple">
  249. <dt>Input</dt><dd><ul>
  250. <li><p>Unified interface for mice, keyboards, joypads and touchpads.</p></li>
  251. <li><p>Access to sub-frame input events list.</p></li>
  252. <li><p>Simplified polling interface for rapid prototyping.</p></li>
  253. </ul>
  254. </dd>
  255. </dl>
  256. </li>
  257. <li><dl class="simple">
  258. <dt>Debugging</dt><dd><ul>
  259. <li><p>Integrated profiler API and data plotter graph.</p></li>
  260. <li><p>C++ and Lua callstack generation.</p></li>
  261. </ul>
  262. </dd>
  263. </dl>
  264. </li>
  265. </ul>
  266. </section>
  267. </section>
  268. </div>
  269. </div>
  270. <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
  271. <a href="changelog.html" class="btn btn-neutral float-left" title="Changelog" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
  272. <a href="installing_crown/index.html" class="btn btn-neutral float-right" title="Installing Crown" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
  273. </div>
  274. <hr/>
  275. <div role="contentinfo">
  276. <p>&#169; <a href="copyright.html">Copyright</a> Except where otherwise noted, content on this page is licensed under a CC-BY-SA 4.0 Int. License.
  277. <span class="lastupdated">Last updated on Feb 10, 2026.
  278. </span></p>
  279. </div>
  280. Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
  281. <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
  282. provided by <a href="https://readthedocs.org">Read the Docs</a>.
  283. </footer>
  284. </div>
  285. </div>
  286. </section>
  287. </div>
  288. <script>
  289. jQuery(function () {
  290. SphinxRtdTheme.Navigation.enable(true);
  291. });
  292. </script>
  293. <!-- Theme Analytics -->
  294. <script async src="https://www.googletagmanager.com/gtag/js?id=G-XNVGCMNDZH"></script>
  295. <script>
  296. window.dataLayer = window.dataLayer || [];
  297. function gtag(){dataLayer.push(arguments);}
  298. gtag('js', new Date());
  299. gtag('config', 'G-XNVGCMNDZH', {
  300. 'anonymize_ip': true,
  301. });
  302. </script>
  303. </body>
  304. </html>