<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Aline Blog</title>
    <link>https://aline.games/blog/</link>
    <description>Notes on the graphics and game systems behind Aline.</description>
    <language>en-us</language>
    <lastBuildDate>Wed, 04 Nov 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://aline.games/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>What the heck is a line?</title>
      <link>https://aline.games/blog/what-is-aline/</link>
      <pubDate>Wed, 04 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://aline.games/blog/what-is-aline/</guid>
      <description>&lt;p&gt;Have you ever wanted a game that is smooth like butter, simple like a line, and integrated like a living ecosystem? Welcome to the world of &lt;em&gt;Aline&lt;/em&gt;!&lt;/p&gt;&#xA;&lt;h2 id=&#34;who-am-i&#34;&gt;Who am I?&lt;/h2&gt;&#xA;&lt;p&gt;My name is &lt;em&gt;Ondřej Tesáček&lt;/em&gt; but you can call me &lt;em&gt;Ondra&lt;/em&gt;. I&amp;rsquo;m a solo game developer based in Brno, Czech Republic. I&amp;rsquo;ve been interested in computers, games, and graphics since I was about 10. Around 15, I started programming (and using Linux!). I roamed through many programming languages searching for the best one for creating games and computer graphics programs. I loved the simplicity of C, but hated how dated some of its components were. About 5 years ago, I discovered &lt;a href=&#34;https://ziglang.org&#34;&gt;Zig&lt;/a&gt;. Even though it had only a fraction of the users, popularity and resources it has now, I learned how to use it and it instantly became my favorite programming language and has stayed that way ever since.&lt;/p&gt;&#xA;&lt;img src=&#34;https://aline.games/svg/timeline-of-me.svg&#34; alt=&#34;Timeline: 25 years ago, I was born. 15 years ago, I started loving games and computers. 10 years ago, I started programming and prototyping my first games. 5 years ago, I discovered Zig and fell in love with it. 3 years ago, I wrote a thesis about drawing and editing shapes as circular arcs. 1 year ago, I began working on the current Aline renderer and systems. Today, I created the Aline website and this blog.&#34;&gt;&#xA;&lt;h2 id=&#34;how-it-started&#34;&gt;How it started&lt;/h2&gt;&#xA;&lt;p&gt;For many years I dreamed of creating a really awesome and original game. Being inspired by Minecraft, I never really wanted to create a realistic game simulating our world, but a game that would define its own world and its own rules. The systems in the game needed to work nicely together, creating limitless possibilities for the players.&lt;/p&gt;&#xA;&lt;p&gt;I quickly settled on a strictly 2D world. I knew that having 3D graphics, physics and logic would slow down the development and require making the systems less well thought through, and less integrated. Only the limitations of a 2D world would allow me to deliver the quality I dreamed of.&lt;/p&gt;&#xA;&lt;p&gt;Then, I needed to choose how to do the graphics. First, I experimented with pixel art, since it was easy to begin with, thanks to its many tutorials and simple nature. But gradually, I started using vector graphics through the open-source vector graphics editor &lt;a href=&#34;https://inkscape.org&#34;&gt;Inkscape&lt;/a&gt;. Even though it is a bit harder to pick up at first, I learned everything I needed in a few months, and fell in love with Inkscape. I experimented with solid-color shapes, and created some concept art that could be used for my game.&lt;/p&gt;&#xA;&lt;p&gt;At this point, I realized that pixel art wasn&amp;rsquo;t gonna cut it. It requires managing textures and texture atlases. On top of that, I had to choose between stitching the character&amp;rsquo;s arms to the body using rotation and drawing all the character animations frame by frame. Rotation would break the essence of pixel art. Frame-by-frame movement would disallow any procedural animation and arbitrarily limit the frame rate. It all screamed at me that pixel art was not for me. I wanted the smooth shapes and strokes from Inkscape. Not shapes exported to a texture, which would have the same problems as pixel art. I wanted the strokes drawn directly in the engine. So, &lt;em&gt;Aline&lt;/em&gt; was born.&lt;/p&gt;&#xA;&lt;img src=&#34;https://aline.games/svg/pixel-vs-smooth.svg&#34; alt=&#34;A circle split in two: the left half drawn with blocky pixels, the right half drawn as a smooth, rounded stroke.&#34;&gt;&#xA;&lt;h2 id=&#34;what-is-aline&#34;&gt;What is Aline?&lt;/h2&gt;&#xA;&lt;p&gt;Aline is a female name, a misspelling of &amp;ldquo;a line&amp;rdquo; or &amp;ldquo;align&amp;rdquo;, and a personal brand for my game development journey. Additionally, Aline is a renderer capable of rendering a small subset of vector graphics in real-time.&lt;/p&gt;&#xA;&lt;p&gt;Initially, I planned to release it as a standalone graphics engine that could be used by anybody to create all kinds of programs. In the end, I published only a &lt;a href=&#34;https://github.com/ontes/aline-editor&#34;&gt;vector graphics editor&lt;/a&gt; as part of &lt;a href=&#34;https://is.muni.cz/th/l5rmj/&#34;&gt;my bachelor&amp;rsquo;s thesis&lt;/a&gt;. When creating the editor, I realized that I actually wanted the renderer to have all the features I need for my projects and exactly none of the features I don&amp;rsquo;t. I still plan to open-source Aline, but it will never be a multifunctional library for rendering real-time vector graphics.&lt;/p&gt;&#xA;&lt;p&gt;To build Aline quickly and make it efficient, I needed to choose a specific subset of vector graphics that would be both easy to render and easy to work with in the other components of the games I create. So I chose to represent each path or shape as a sequence of points with circular arcs in between them. A straight line segment is an arc of an infinitely large circle. I will write an in-depth description of this system in a separate post. To sum it up, by adding only one &amp;ldquo;bulge&amp;rdquo; parameter to each segment of a polygon, we suddenly gain a powerful tool, with which we can create rounded objects of various shapes and sizes. Furthermore, their strokes can be generated using the same format too!&lt;/p&gt;&#xA;&lt;img src=&#34;https://aline.games/svg/arc-shape.svg&#34; alt=&#34;A shape drawn with arcs and lines: its top edge is three semicircles, bulging up, down and up, and its sides and bottom are straight lines.&#34;&gt;&#xA;&lt;h2 id=&#34;beyond-a-graphics-engine&#34;&gt;Beyond a graphics engine&lt;/h2&gt;&#xA;&lt;p&gt;As time went on, Aline became more than just a graphics engine. It became a way to create a 2D world and to interact with it. In the past year, I&amp;rsquo;ve created a physics system that can detect and solve collisions and constraints between the shapes, a lighting system that allows each shape to cast a shadow and show a stylized specular reflection, and a block system that can manage structures made of blocks (similar to Minecraft and Terraria), except each such structure is an independent object controlled by the physics system (similar to Teardown).&lt;/p&gt;&#xA;&lt;p&gt;Next, I&amp;rsquo;m planning a vegetation system that will allow the trees and plants to grow and bend like real living things. I&amp;rsquo;ve also come up with some lore for the game, and I&amp;rsquo;m looking forward to drawing concept art for it and sharing it with you! There&amp;rsquo;s still a long way to go before the game could be considered finished, but it is surely already a playable demo that is also pretty fun and satisfying (at least for a couple of minutes). I&amp;rsquo;m not sure when and under what license I will release it to the public, but I know that time will come and it will be epic!&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-to-expect-here&#34;&gt;What to expect here&lt;/h2&gt;&#xA;&lt;p&gt;This page is a personal blog about the graphics and game systems I am developing. Overall, you can expect:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Deep dives into systems I designed for the game.&lt;/li&gt;&#xA;&lt;li&gt;Unique solutions to the problems I encounter during software development.&lt;/li&gt;&#xA;&lt;li&gt;Programming and computer graphics tips and tutorials.&lt;/li&gt;&#xA;&lt;li&gt;A look at dilemmas about freedom, open-source software, and AI.&lt;/li&gt;&#xA;&lt;li&gt;Progress updates about the upcoming game.&lt;/li&gt;&#xA;&lt;li&gt;Download and source links when the game or any of its components is released.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If you have any questions, you can always contact me at &lt;a href=&#34;mailto:hello@aline.games&#34;&gt;hello@aline.games&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;You can bookmark the address &lt;a href=&#34;https://aline.games&#34;&gt;aline.games&lt;/a&gt; or follow the blog via &lt;a href=&#34;https://aline.games/blog/index.xml&#34;&gt;RSS&lt;/a&gt;, so that you don&amp;rsquo;t forget to read the upcoming articles.&lt;/p&gt;&#xA;&lt;p&gt;See you soon!&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>
