<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>The Shadow Palace</title>
    <link>https://edison.tendi.com.br/</link>
    <description>Recent content on The Shadow Palace</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 04 Sep 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://edison.tendi.com.br/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Starting a New Game</title>
      <link>https://edison.tendi.com.br/posts/startinganewgame/</link>
      <pubDate>Sun, 04 Sep 2022 00:00:00 +0000</pubDate>
      
      <guid>https://edison.tendi.com.br/posts/startinganewgame/</guid>
      <description>After I finished my last game (Shadow Palace) I wanted to do something similar but in a 3D game.
As a quick recap, Shadow Palace is a simple rogue-like 2D platform game, your objective is to go from the initial room to the final boss room the fastest you can, the faster you complete the game the higher the number of points, so in the end is just a score-based game.</description>
      <content>&lt;p&gt;After I finished my last game (Shadow Palace) I wanted to do something similar but in a 3D game.&lt;/p&gt;
&lt;p&gt;As a quick recap, Shadow Palace is a simple rogue-like 2D platform game, your objective is to go from the initial room to the final boss room the fastest you can, the faster you complete the game the higher the number of points, so in the end is just a score-based game.&lt;/p&gt;
&lt;p&gt;The rogue-like part comes from the fact that the rooms are randomly chosen, there’s 16 rooms and the game select 8 between the intro room and the boss room. 
Also, in the game there’s coins that you collect and those are persistent between runs and can be used to buy items, plus some levels have secrets or different ways to complete it that can help you even more.&lt;/p&gt;
&lt;p&gt;Originally, I was doing some prototypes in 3D and on Unreal Engine 4, but I was not happy with Unreals performance on mobile (this was around Unreal 4.4 or something very old like that) and when I decided to move the game to 2D I felt it would be better to simple use my engine or parts of it. At that time, I also read about how Yacht Club games developed Shovel Knight almost like they were making a NES game, and I thought it was an interesting and cool idea and inspired by it I decided to try something similar.&lt;/p&gt;
&lt;p&gt;I took a look at the NES hardware and its limitations and like the Shovel Knight team I would use it more as a reference than make a game that literally can run on that kind of hardware, some of the changes are that it would use a widescreen framebuffer, it would support some visual post-fxs, it would use a tilemap to draw the background but would support 4 of them with parallax scrolling, it would support a very simple point-base particle system for some visual effects and the biggest change from a 8 bit hardware is that the sprite drawing system would use 3D rendering of meshes and models with an orthographic projection instead of regular 2D sprites (simple because I cannot draw 2D animated sprites, but I can do a somewhat okeyish job with 3D models and animation 😛)&lt;/p&gt;
&lt;p&gt;And the result was this:

  &lt;figure class=&#34;center&#34; &gt;
    &lt;img src=&#34;https://www.tendi.com.br/edison/media/ShadowPalace/sp2.png&#34;   /&gt;
    
  &lt;/figure&gt;



  &lt;figure class=&#34;center&#34; &gt;
    &lt;img src=&#34;https://www.tendi.com.br/edison/media/ShadowPalace/sp1.png&#34;   /&gt;
    
  &lt;/figure&gt;



  &lt;figure class=&#34;center&#34; &gt;
    &lt;img src=&#34;https://www.tendi.com.br/edison/media/ShadowPalace/sp7.png&#34;   /&gt;
    
  &lt;/figure&gt;

&lt;/p&gt;
&lt;p&gt;After I finished Shadow Palace, I started thinking about doing something similar but in 3D, so instead of a modern interpretation of a NES game it would be a modern version of a PSX or Saturn game. Or to put it in another way, my idea for the game art style and technology would be a hardware with the memory limitations of 1995/1996 but with the same kind of power of today, so, it could have a widescreen framebuffer with a fixed post-fx pipeline support and while it would have a fixed rendering pipeline it would support for a modern PBR material system with per-pixel lighting and normal maps.&lt;/p&gt;
&lt;p&gt;At the same time D3D 12 was released and there’s a lot on it that I wanted to test and experiment to use on this project and then sometime later DXR was released and I started to think on the possibility for this project to be 100% raytraced.&lt;/p&gt;
&lt;p&gt;I did some initial prototypes but after a while I was not working 100% on the project anymore and when I joined WildLife studios the project was put on hold, but again after a few years I started thinking on this project again specially while reading the specs for the D3D 12 Ultimate and the Sampler Feedback feature and reading about texture space shading, in special this presentation from Intel:&lt;/p&gt;

&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
  &lt;iframe src=&#34;https://www.youtube.com/embed/VDDbrfZucpQ&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; allowfullscreen title=&#34;YouTube Video&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;My idea was because of the art style I’m going for, if I run the lighting at the same texel density as my textures it would be a lot less rays to trace than a 2160p (or even 1080p) screen while at the same time giving me a “cache” for the indirect lighting.&lt;/p&gt;
&lt;p&gt;And that is what most of this blog probable will be about, my tests and experiments on writing this new renderer, things that went right, things that went wrong, things that I’m still working and the game that uses it.&lt;/p&gt;
&lt;p&gt;But that’s not all, while I really like to write and play with ideas on my own engine I also really like to play with other engines (and in my current contract job I’m using Unreal 4) so I will also have posts here about Unreal, Unity and possible other engines.&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>About</title>
      <link>https://edison.tendi.com.br/about/</link>
      <pubDate>Wed, 31 Aug 2022 00:00:00 +0000</pubDate>
      
      <guid>https://edison.tendi.com.br/about/</guid>
      <description>Welcome! I’m Edison da Silva Prata Junior, a game developer from São Paulo Brazil.
On this blog I plan to write about cool and interesting projects I’m working or new ideas I’m testing and playing around for my game engine Lucid Dream.
My main topics of interest include:
Rendering Game engines Game programming Game design I hope that you can find something useful and/or interesting here.</description>
      <content>&lt;h1 id=&#34;welcome&#34;&gt;Welcome!&lt;/h1&gt;
&lt;p&gt;I’m Edison da Silva Prata Junior, a game developer from São Paulo Brazil.&lt;/p&gt;
&lt;p&gt;On this blog I plan to write about cool and interesting projects I’m working or new ideas I’m testing and playing around for my game engine Lucid Dream.&lt;/p&gt;
&lt;p&gt;My main topics of interest include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Rendering&lt;/li&gt;
&lt;li&gt;Game engines&lt;/li&gt;
&lt;li&gt;Game programming&lt;/li&gt;
&lt;li&gt;Game design&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I hope that you can find something useful and/or interesting here.&lt;/p&gt;
</content>
    </item>
    
  </channel>
</rss>
