<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>PAVEL NEČAS</title>
    <description>NONODE - Personal site of Pavel Nečas.</description>
    <link>https://pavelnecas.com/</link>
    <atom:link href="https://pavelnecas.com/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Thu, 10 Sep 2026 15:18:19 +0000</pubDate>
    <lastBuildDate>Thu, 10 Sep 2026 15:18:19 +0000</lastBuildDate>
    <generator>Jekyll v4.3.4</generator>
    
      <item>
        <title>Prague Signal Festival Interactive Wall</title>
        <description>&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/2X6Iw7lBXww&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;I don’t have many screenshots for this project, but I was approached by Prague’s 3DSense to program interactive full year installation for Prague’s Signal Festival. 
This installation was designed for kids to play with spheres projected on a wall, where different “themes” were avalaible, switching the gameplay in each theme. 
Programmed in Unity, some features:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Input is from a 3D depth camera.&lt;/li&gt;
  &lt;li&gt;Various modes, prepared a command UI to be able to fine tune everything directly on site.&lt;/li&gt;
  &lt;li&gt;The 3D skeleton tracking is smoothed out with Unity’s game time, making the sphere’s physics calculations and the skeleton movement aligned - meaning the physics work actually as expected and reliably (otherwise if the player touched a sphere, the sphere would sometimes just fly away).&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Fri, 15 May 2026 14:01:35 +0000</pubDate>
        <link>https://pavelnecas.com/2026/05/15/signal-festival/</link>
        <guid isPermaLink="true">https://pavelnecas.com/2026/05/15/signal-festival/</guid>
        
        <category>programming</category>
        
        <category>events</category>
        
        
      </item>
    
      <item>
        <title>Fortnite Racing Mod for American Cancer Society</title>
        <description>&lt;p&gt;&lt;img src=&quot;level_1.jpg&quot; alt=&quot;stage&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/p4lCJuNvgi8&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;level_2.jpg&quot; /&gt;
    &lt;img src=&quot;level_3.jpg&quot; /&gt;
    &lt;img src=&quot;level_4.jpg&quot; /&gt;     
&lt;/div&gt;

&lt;h2 id=&quot;creating-a-mod-in-uefn-great-new-challenge-that-isnt-as-easy-at-it-seems&quot;&gt;Creating a mod in UEFN. Great new challenge that isn’t as easy at it seems.&lt;/h2&gt;

&lt;p&gt;I was approached by a prominent agency Carper Creative to design and develop a mod for Fortnite. The mod’s purpose was to raise money for American Cancer Society, and the mod’s gameplay challenge was to pick up passengers around a map, use jumps and hidden paths, and bring them back to central drop-off point to gain points, while competing with other players.&lt;/p&gt;

&lt;p&gt;div class=”gallery-box”&amp;gt;&lt;/p&gt;
&lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;Map_Concept_1.jpg&quot; /&gt;
    &lt;img src=&quot;Map_Concept_2.jpg&quot; /&gt;
  &lt;/div&gt;
&lt;p&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;

&lt;p&gt;I went through multiple game design variations, how to do such gameplay with pretty limited tools that are in Fortnite for Unreal. More of a classic approach was selected, where players have a countdown to complete the challenge, while passengers that are having the most points are the furthest away from the drop-off point - giving is nice risk and reward balance.&lt;/p&gt;

&lt;div class=&quot;gallery-box&quot;&gt;
  &lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;level_5.jpg&quot; /&gt;
    &lt;img src=&quot;level_6.jpg&quot; /&gt;
    &lt;img src=&quot;level_7.jpg&quot; /&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&quot;my-main-takeaways&quot;&gt;My main takeaways:&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;UEFN is locked down when it comes to adding content. Adding custom characters or cars is not supported. Custom meshes can be added.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Memory lock to 100k. We had to redesign the map 3x, using different assets, to try to fit into this memory lock.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Memory is not visible in UEFN - It is only in Fortnite. Sometimes it takes 10 minutes to launch the mod from UEFN to test the memory allocation.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Blueprints do not have any functionality as in Unreal, they are more as a “bucket” where to store multiple models.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;UEFN is designed for small levels. Big issue for us was that our Island had multiple town parts that had different designs, that meant different models, which in turn increased memory requirement. If one needs to design large map, there should be small “towns” far away from another, pretty much as Fortnite was designed.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;It is better to work with the tools that Fortnite provides, and design a game around that. The Verse coding language is hard to iterate with, and lacks functionality, in time of writing this article. Each test of code takes at least 10 minutes because one has to launch Fortnite from UEFN every time to do so.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Use own repository solution, such as Github, and create a good .gitignore. Epics built in repository is very slow to upload or download from (sometimes it took hours).&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Use custom barebone models as much as possible - Built in models has all the functionality (breaking, building, etc), they take a lot of memory.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Try to design most of the game in Fortnite directly, not in UEFN. Use UEFN only as a model placer.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;here-is-a-short-gameplay-cut&quot;&gt;Here is a short gameplay cut.&lt;/h2&gt;

&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/hbcG3fnJ7a8&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

</description>
        <pubDate>Sun, 18 Jun 2023 12:01:35 +0000</pubDate>
        <link>https://pavelnecas.com/2023/06/18/UEFN/</link>
        <guid isPermaLink="true">https://pavelnecas.com/2023/06/18/UEFN/</guid>
        
        <category>gamedesign</category>
        
        <category>leveldesign</category>
        
        
      </item>
    
      <item>
        <title>My First Indie - Expedition Zero - Postmortem</title>
        <description>&lt;!-- ![Art](expeditionzero-keyart-nologo.jpg) --&gt;

&lt;p&gt;&lt;a href=&quot;https://store.steampowered.com/app/1247570/Expedition_Zero/&quot;&gt;STEAM STORE PAGE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My biggest game dev project yet. Since I’ve spent few years making it, it is a shame that the reviews are not that great, and that it didn’t sell well. So I thought, why not have at least a little postmortem, and write down my opinion on what didn’t work, and maybe others can learn.&lt;/p&gt;

&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/OHhpW-nZVms&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;It’s not that hard to make games, just put some models in there, make it move, and done, no?&lt;/p&gt;

  &lt;p&gt;&lt;cite&gt;Me at 22 years old&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Expedition Zero is a game where you are trying to get out of a walled off zone. While you meet a mysterious trader, you are tasked with killing a monster in exchange for a ticket out of the zone. While on a mission, you need to survive harsh conditions, cold and radiation.&lt;/p&gt;

&lt;p&gt;We started developing this few years back, and we went through multiple concepts and MVPs to see what fits the best. Because of time constrains, we had to throw most of the stuff away - for example sled that you could take with you and modify, food and water, sleeping, day and night cycle.&lt;/p&gt;

&lt;p&gt;Here are my thoughts that I would relay to any other game dev.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;ez1.webp&quot; alt=&quot;GIF&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;have-fun-gameplay-mechanic-first&quot;&gt;Have fun gameplay mechanic first.&lt;/h2&gt;

&lt;p&gt;It doesn’t matter if your game is going to have top notch graphics. It doesn’t matter how good looking of a trailer you make. One of the main learnigns from me is that you need gameplay mechanics that are fun to play. Gamers want to play! Most of successful developers that I have seen post short videos on twitter or youtube with mechanics that differentiate their game from any other game that gets released on Steam. There is more than 300 games getting released on Steam a month, and with free availability of tools like Unreal, there is going to be more. Everybody wants to be gamedev right?
That being said, starting with the core mechanic of a game is the most important rule I can ever give to anyone. Start with white level, block out some shapes, and get going on the stuff that’s going to make the game fun.
Here, I will give few examples.&lt;/p&gt;

&lt;h4 id=&quot;example---the-vanishing-of-ethan-carter&quot;&gt;Example - The Vanishing Of Ethan Carter&lt;/h4&gt;
&lt;p&gt;One might think that graphics is the main gameplay pillar, but in my opinion it’s exploration, puzzle, and story telling. The way to create first version to test the mechanics would be:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Create a blockout level for the player to explore and for the player to get “just enough” lost in.&lt;/li&gt;
  &lt;li&gt;Create a fun puzzle system for the player to solve.&lt;/li&gt;
  &lt;li&gt;As a reward, player listens to a new part of a story -&amp;gt; New progress unlocks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;example---long-dark&quot;&gt;Example - Long Dark&lt;/h4&gt;
&lt;p&gt;One of the most challenging games I’ve seen to create. To balance out survival so well, like in Long Dark, must have taken many iterations and balancing. It’s one thing to spawn and item, but generally as a developer you can’t just leave it on chance. The player needs a little help sometime, for example if the player is starving, maybe we should spawn piece of food around him, so the player doesn’t get frustrated? Or maybe the player has too much food in inventory? Well we can stop spawning food all together. And what about distances between houses and points of interests? Is it not too far, can the player actually make it? What if it’s too cold? Again, so much balancing… But in order to have tested fun gameplay mechanics, these are the steps I would do.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Create large landscape level with demo trees, create few blockouts of houses, place them around with different distances, to test what is too far and what is too close.&lt;/li&gt;
  &lt;li&gt;The hardest part, but create a survival system, with editable SCV or any kind of table where values are easily adjusted. Survival includes basic crafting, food, sleep, cold.&lt;/li&gt;
  &lt;li&gt;Create comprehensive game panel from which the game can be controlled and different systems and values can be triggered (trigger wind, temperature, change value of hunger, sleepiness) so during gameplay another developer can act as a “dungeon master”.&lt;/li&gt;
  &lt;li&gt;Test on the map, adjust and test.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;forest_gun.gif&quot; alt=&quot;GIF&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;prepare-projects-architecture&quot;&gt;Prepare Project’s Architecture&lt;/h2&gt;

&lt;p&gt;It is easy to pop up YouTube, and start replicating “how to make a light switch” tutorial. Generally, tutorials have extremely bad architecture - such as placing logic into a level’s “Begin Play” in UE. But there are barely any tutorials that talk about architecture. So, making a light switch is easy - but making a light switch a part of a game’s system? That is a different ballgame.&lt;/p&gt;

&lt;p&gt;Therefore, it is important to sketch out exactly what a light switch going to be doing, and what are the features that it needs.
Maybe:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;There are two or more light switches connected to one lightbulb. How do they know about each other?&lt;/li&gt;
  &lt;li&gt;Three light switches control five lightbulbs. Does one light switch just loop through all light bulbs and changes bool value or is there something more effective?&lt;/li&gt;
  &lt;li&gt;The light’s status needs to be saved. Does it save per lightbulb, or can we create “light manager” instead that saves status of all bulbs and switches? Other actors should be saved too, so do we create general “save manager” instead?&lt;/li&gt;
  &lt;li&gt;We need to add in electricity. Should we create “electricity manager” that all classes report to and check if there is enough electricity?&lt;/li&gt;
  &lt;li&gt;What is the master class? The project will have different lights, LEDs, halogens, round, spotlights, etc. How do we design a master class for lights and switches?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those are just a few examples about a light switch. But this also has to be done with character, levels, secondary systems, etc.&lt;/p&gt;

&lt;h2 id=&quot;developers-console-and-ability-to-save-game-as-developer&quot;&gt;Developer’s Console and Ability to Save Game as Developer&lt;/h2&gt;

&lt;p&gt;At one point of testing it will be very important to have as many tools prepared to be able to test a game mechanic properly. This, in our case was often overlooked, and was added in later, which would have eased our testing exponentially. This also includes saving - it is very important to be able to save game as soon as possible, so as a developer, you can resume from whichever point in game, and test whatever needs to be tested. 
Therefore, when we code, we automatically create ways to be able to call functions or change different values dynamically from a widget that can be called “Developer’s Console”. Developer console can have many tabs, such as weather, character, spawning, etc. I cannot stress enough how much easier it is to test and balance game mechanics when this is prepared.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;monster_fight2.gif&quot; alt=&quot;GIF&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;keep-documentation&quot;&gt;Keep Documentation&lt;/h2&gt;

&lt;p&gt;People can come and go, maybe someone will get sick, something needs to be fixed quickly, or the developer just forgets how a certain feature works after 1 year of not looking at it. Therefore, it is essential to keep documentation. Every time a new feature gets implemented, we immediately go to documentation and write down how it works. Then, when something needs to be changed or fixed, it is much easier just to search in documentation, rather than trying to understand the whole code in-engine.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;plane.gif&quot; alt=&quot;GIF&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;have-clear-goals-and-project-structure-review-any-new-features&quot;&gt;Have clear goals and project structure, review any new features.&lt;/h2&gt;

&lt;p&gt;Either you do sprints, or scrum, it doesn’t matter. The team needs to know what has to be done. One of the most frustrating things for developers is to wake up, sit by the computer, and not knowing what to do, while time is just passing. 
Having clear project management structure is also essential, and a good project manager that makes sure that every new feature is properly tested and review will help the development tremendously.&lt;/p&gt;

&lt;h1 id=&quot;i-hope-that-some-of-these-thoughts-of-mine-will-help-anyone-that-goes-through-development-have-a-good-day&quot;&gt;I hope that some of these thoughts of mine will help anyone that goes through development. Have a good day!&lt;/h1&gt;

</description>
        <pubDate>Mon, 12 Dec 2022 15:05:55 +0000</pubDate>
        <link>https://pavelnecas.com/2022/12/12/expedition-zero-postmortem/</link>
        <guid isPermaLink="true">https://pavelnecas.com/2022/12/12/expedition-zero-postmortem/</guid>
        
        <category>gamedev</category>
        
        <category>thoughts</category>
        
        
      </item>
    
      <item>
        <title>Opinion - Megascans is not for everyone.</title>
        <description>&lt;h2 id=&quot;try-not-to-use-megascans-as-indie-hear-me-out&quot;&gt;Try not to use Megascans as Indie. Hear me out.&lt;/h2&gt;

&lt;p&gt;I hope everyone knows what Megascans is. Ever since Epic Games acquired the parent company Quixel, and made them freely available, I’ve seen them overused and I have some concerns.&lt;/p&gt;

&lt;p&gt;I still remember using Quixel products when they were mere plugins for Photoshop. Normal map generators, clunky texture generators - they paved the way for much easier texture creation. Before that, we used Headus UV layout to create UVs that were humanly readable, XNormal to bake out high to low poly… The whole process was a click fest, and making a quality texture was a lengthy process. And then, came Photogrammetry. Models, from real photos… I was going around old factories, taking thousands of pictures of different objects, reconstructing them in 3D through photogrammetry software. And some time after, came Quixel’s Megascans.&lt;/p&gt;

&lt;p&gt;All of a sudden, acquiring realistic models became a lot easier, and so the game ideas became wilder.&lt;/p&gt;

&lt;p&gt;Megascans were excellent quality assets for the time, since they were scanned in an environment with equalized lighting conditions (among other things). During our development, we jumped on Megascans heads on, since we believed that “the more realistic graphics = more attention and sales” rabbit hole. But soon after we realized what we got ourselves into.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/owl_mountains_1.jpg&quot; alt=&quot;Most of assets here were scanned from old factories in Prague.&quot; title=&quot;Owl Mountains Bunker&quot; /&gt;
&lt;em&gt;Photogrammetry was used to scan and create these objects that we found in deserted factory.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/owl_mountains_bunker.jpg&quot; alt=&quot;We found and scanned an old bunker.&quot; title=&quot;Owl Mountains Bunker&quot; /&gt;
&lt;em&gt;We used photogrammetry to scan a bunker.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The images above are a few examples of environments that I was working on with our own scans.
They look great once you look at it from one angle. But his is a computer game goddammit, and the player has to walk around!&lt;/p&gt;

&lt;p&gt;When we started using hyper realistic 3D assets, soon it became quite visually obvious, that we need to have the characters also hyper realistic, and even if we wanted to, it didn’t end there - let me just not down what else had to be realistic: modular models, all other models, particle effects, sound, light, light bakes, atmosphere, dynamic lighting, model scaling… pretty much the whole game.&lt;/p&gt;

&lt;p&gt;Anything that was a bit off, just didn’t fit with rest of the scene, and this started to pose a big issue for the visual fidelity of the world and the scene.&lt;/p&gt;

&lt;p&gt;Instead of focusing on game mechanics, game pacing, game design, we were just making realistic levels. Instead of prototyping and boxing out level designs, it was more important what actual 3D scan assets we had available. Modelling anything that was missing had to be done by hand, and because it had to look as realistic as the 3D scan assets, it became extremely lengthy process to make one model, and our motivation started sinking. Slowly but surely, 3D scans started deciding on how the levels should look like, feel like, and play like.
We fell into the 3D scans’ asset trap.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;owl-mountains-outside-2.jpg&quot; alt=&quot;We found and scanned an old bunker.&quot; title=&quot;A rock.&quot; /&gt;
&lt;em&gt;Photoscanned rock from a forest. Now all rocks have to look good.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;If one rock looks hyper realistic, everything has to be hyper realistic.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Prototype the game first, then choose a style later&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Therefore, I believe Epic Game’s decision to release all scans for free is an amazing opportunity to learn from, but it can become a downwards spiral for small indie studios, that will slowly start eating up a lot of the team’s budget, when they will try to equalize the in-house asset quality with the scan’s quality.&lt;/p&gt;

&lt;p&gt;If I work on any project, I always ask - is there budget for realistic graphics? There usually isn’t. Only the top dogs got the budget for it, hundreds of talented artists, creating a game, that will be marketable and better than the last. But indie studios do not have to do this!&lt;/p&gt;

&lt;p&gt;Therefore, try to look at the game design, level design of the game, and find a way to create something original. Maybe the graphics can be done from pen drawings. Maybe, the design can be flat textures with a lot of decals. Or the style can be cartoony? Don’t like it myself, but maybe low-poly?&lt;/p&gt;

&lt;p&gt;I am going to write in more detail about visual stability of a scene a later posts. But it is important to think about, why does Half Life 2 still looks quite realistic? Why did Firewatch use the style they did? Why does Blizzard’s Overwatch is styled as it is?&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Realistic graphics aren’t important. The entire feel of the game is.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        <pubDate>Sun, 13 Nov 2022 12:01:35 +0000</pubDate>
        <link>https://pavelnecas.com/2022/11/13/dont-use-megascans/</link>
        <guid isPermaLink="true">https://pavelnecas.com/2022/11/13/dont-use-megascans/</guid>
        
        <category>gamedev</category>
        
        <category>thoughts</category>
        
        
      </item>
    
      <item>
        <title>The Caged Birds Game Concept</title>
        <description>&lt;p&gt;The Caged Birds is a satire escape from a gulag game concept, where the player has to sneak out to surrounding villages, steal, trade with other prisoners, solve mysteries and survive.&lt;/p&gt;

&lt;h2 id=&quot;quick-story-time&quot;&gt;Quick story time.&lt;/h2&gt;

&lt;p&gt;There are a lot of stories about what atrocities were happening in the gulag prisons. This prison is no different, into which our unfortunate hero was sent to. Apparently, through series of lengthy and unfortunate events, he started clapping too soon to an end of Stalin’s speech, and was marked as potential “enemy of the people”. A pianist by craft, he has to survive the prison. Luckily, the prisons Colonel loves classical music being played when he drinks, saving our hero from long working hours in horrid conditions.&lt;/p&gt;

&lt;p&gt;Our hero realizes quite soon, that this prison is build in middle of nowhere. Where this environment has absolutely no cultural or geopolitical importance, prisoners are still tasked to build a massive “victory” statue on top of a nearby mountain. For seemingly… no one? Stories are told that a new city is going to be built under this mountain, but why build a statue before building a city? Or does the statue hold another secret, is it a decoy from something? Or is it yet again another drunken side project of one of the brass?&lt;/p&gt;

&lt;h2 id=&quot;gameplay&quot;&gt;Gameplay&lt;/h2&gt;

&lt;p&gt;The gameplay was designed around top-down stealth mechanics, with heavy story elements. Each day the player had to return to the prison, so prison was the central piece of the map design. After certain period, the player would decide to “escape”, which would trigger another act of the game, where he would be able to get out of a valley, by any means necessary…&lt;/p&gt;

&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/J2Il2zkY94U&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

</description>
        <pubDate>Tue, 12 Mar 2019 12:01:35 +0000</pubDate>
        <link>https://pavelnecas.com/2019/03/12/caged-birds/</link>
        <guid isPermaLink="true">https://pavelnecas.com/2019/03/12/caged-birds/</guid>
        
        <category>gamedev</category>
        
        <category>concept</category>
        
        <category>thoughts</category>
        
        
      </item>
    
      <item>
        <title>OWL MOUNTAINS - Art Direction and Game World Concept</title>
        <description>&lt;h2 id=&quot;its-year-1979&quot;&gt;It’s year 1979,&lt;/h2&gt;
&lt;p&gt;northern Czechoslovakia, under the communist regime. Karel, of 65 years, a history teacher, is sitting in his home, looking out the window with cigarette in his hand. The weather outside is murky, it’s almost raining. Clouds are gray, blending in with the surroundings buildings, painted dark from coal smog in the air. Karel remembers the time before the regime - the freedom that he possessed for few years. He always remembers, it’s always on his mind, like a worm stuck and growing in his brain. Karel isn’t a revolutionary. He prefers to stand in line, never thought of himself as anything else than a teacher in a small town school on a northern border with Poland. His fascination with history allowed him to possess deep understanding of when and where, but, he himself, rarely ever left his small town of Hronov. He never used that knowledge for anything.&lt;/p&gt;

&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/9LXRBHtphPw&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;h2 id=&quot;something-has-to-change-in-his-life&quot;&gt;Something has to change in his life…&lt;/h2&gt;

&lt;p&gt;Karel can no longer just stand by, and watch his life dissipate right in front of his very own eyes. He does have something on his mind, but he never went through with it. Always thought of it as an option that he will do “eventually”. Eventually, his time to be the explorer. The adventurer, the rover. Though, as a historian, he himself wasn’t sure if the underlying information, the main pillar holding up this idea of his, is real or not.&lt;/p&gt;

&lt;p&gt;Is the hidden Hitler’s underground city in the Owl Mountains real? A massive complex, dug from the core of the mountains, as a hideout for the Hitlers elite, was it even built or was it destroyed? He needed to know. This was the time to make the decision. Karel, through his own doing and his own thought, stopped, and realized that his heartbeat is pounding. He is stressed, because he knows that the decision has been already done, and he cannot undo it. It is the time, to finally set off to Owl Mountains.&lt;/p&gt;

&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/BCXLWvrWLHE&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;h2 id=&quot;the-visual-style-of-owl-moutains&quot;&gt;The Visual Style of Owl Moutains.&lt;/h2&gt;

&lt;p&gt;A little of a history here: The Owl Mountains is a supposed nazi bunker complex that could house thousands of people, and it was build in southern Poland, in Owl Mountains, on a border with Czechoslovakia. There are a lot of stories and myths around this bunker, and it is a perfect environment and setting for a linear horror adventure experience. These stories are sometimes not so nice, though, it is a perfect opportunity for a game designer to feed off for inspiration.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Apparently this complex could have thousands of people inside, but most is unknown, because of lack of documentation. This sets up the game to be “technically possible”.&lt;/li&gt;
  &lt;li&gt;It is told that Soviets blew up the entrances to the complex, trapping all the present populace inside. This is great setup for enemies that player might find in game.&lt;/li&gt;
  &lt;li&gt;There are stories that a Nazi “Bell” was present, which was supposedly used to enrich uranium. This gives opportunity for the typical trope “radiation = mutated stuff around”.&lt;/li&gt;
  &lt;li&gt;The only thing that can grow in darkness are mushrooms. What if the people trapped inside actually survived on mushrooms?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;bunker-08.jpg&quot; alt=&quot;Bunker&quot; /&gt;
&lt;em&gt;Bunkers, riddled around the border.&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;a-little-word-from-me&quot;&gt;A little word from me.&lt;/h2&gt;

&lt;p&gt;It is important that a story develops in an environment that supports it, and is a bit grounded. Dead Space games make sense, it feels “real” and the setting supports the atmosphere - the setting is carefully crafted so nothing seems to be off. Of course, you play as an engineer that uses sci-fi tools to kill monstrosities in zero-g, though it does feel real. The world building makes sense. Another example with Half Life 2. The world feels real, there could be an invasion of galactic faring species, that slowly start assimilating yet its another victim - humanity.
In this game concept, we are playing around with topics that just beg to be source of inspiration. But to keep the concept grounded, I gathered as much of information, and connected that information into this environment setting and potentially the environment’s story:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;bunker-01.jpg&quot; alt=&quot;Bunker&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;the-environments-story&quot;&gt;The Environment’s Story.&lt;/h2&gt;

&lt;p&gt;The Owl Mountains bunker complex’s entrances were blown by Soviets, trapping all inside. Mass panic ensued, all were fighting for food, light, and survival. After all resources were depleted, cannibalism became common. Though few survivors started cultivating a special mushroom, left over in one of the kitchens, a supposed delicatesse for the Reich’s elites.&lt;/p&gt;

&lt;p&gt;Now, the mushroom acting as the only source of food, it needed to grow from something - the cultivators used dead bodies as substrate. Morbid but functional. After years being stuck in darkness, human flesh and mushroom as the only source of food, the survivors were psychologically long gone. To try to dig yourself out was impossible, the noise attracted any that wanted to use your body as a source of nutrition or as a substrate. But yet another horror slowly grown in the background - the mushroom that ultimately saved many started spreading, changing, ever hungry now for what it was used to - for human flesh. It also is found out that a “Nazi” bell is present in the complex, spilling out irradiated water, which seeped through the entire bunker complex, killing everything is its path, and worse of all, mutating the mushroom. The mushroom started to devour the entire surviving populace, growing through wall cracks and crannies, almost as if the mushroom became a stomach, and everyone was in it, being eaten alive.&lt;/p&gt;

&lt;p&gt;With most people dead, or mutated and crazed by the mushroom and the environment, Karel arrives to the complex through a crack in the mountain. In this extremely hostile environment, he has to survive, explore the complex and find a way out. Few inside are still a bit sane, and start talking to Karel through pipes and intercoms, that there is a supposed “hidden golden exit”, for Hitler himself. Through Karel’s help and knowledge, they will try to rediscover this golden exit, and try to get out.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;bunker-02.jpg&quot; alt=&quot;Bunker&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;gallery-box&quot;&gt;
  &lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;bunker-03.jpg&quot; /&gt;
    &lt;img src=&quot;bunker-04.jpg&quot; /&gt;
    &lt;img src=&quot;bunker-05.jpg&quot; /&gt;
    &lt;img src=&quot;bunker-06.jpg&quot; /&gt;
    &lt;img src=&quot;bunker-07.jpg&quot; /&gt;
    &lt;img src=&quot;bunker-09.jpg&quot; /&gt;
    &lt;img src=&quot;bunker-10.jpg&quot; /&gt;   
  &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&quot;the-environment-creation-pipeline&quot;&gt;The Environment Creation Pipeline&lt;/h2&gt;

&lt;p&gt;The environment in this case is designed around the fact that small indie team would be in charge of production. This means that the fastest and easiest means of production were researched, in order to stay within supposed budgets but still keep the visual quality. Therefore, through R&amp;amp;D, I have concluded that:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Models need to be modelled with UV unwrapping in mind - should be as easy to unwrap as possible (for example leave the polygons when should be seams disconnected, more vertexes, but much faster unwrapping speed).&lt;/li&gt;
  &lt;li&gt;No high to low baking of models. Making two models for one has priority.&lt;/li&gt;
  &lt;li&gt;Normal maps should be auto generated, but very flat, almost not present at all.&lt;/li&gt;
  &lt;li&gt;No roughness maps, except for very metallic objects or wet vertex painting for puddles.&lt;/li&gt;
  &lt;li&gt;No auto generated textures - It is fast, but textures are what will make the models pop in this case, and they have to look natural.&lt;/li&gt;
  &lt;li&gt;Good hand UV unwrapping is essential, so it’s readable in photoshop (straight polygons, seams should be in natural and hideable places…)&lt;/li&gt;
  &lt;li&gt;Depending on the size of the model, automatically the artist should choose corresponding texture size (for example door 1024px, and a cup should have 128px) to keep the scene pixel density uniform.&lt;/li&gt;
  &lt;li&gt;Preselected source textures and decals are chosen. A bunker is build from one concrete material in real life, this means that textures are going to have one concrete material. Same with wood, metal, paint. Decals are created for leaks, rust, holes, words, numbering, etc. All of these have to fit together and must be interchangeable.&lt;/li&gt;
  &lt;li&gt;Textures should be made in photoshop from scratch, from pre-selected textures, finished of with decals that would be in natural places, and dirt.&lt;/li&gt;
  &lt;li&gt;Main structure models have to be modular.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Following this set of instructions, few scenes were created to check the speed of the production, and the general atmosphere and vibe.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;bunker-lights3.jpg&quot; alt=&quot;Bunker&quot; /&gt;&lt;/p&gt;
&lt;div class=&quot;gallery-box&quot;&gt;
  &lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;bunker-lights1.jpg&quot; /&gt;
    &lt;img src=&quot;bunker-lights2.jpg&quot; /&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&quot;thank-you-for-reading-my-take-on-this-environment-and-story-the-scenes-are-not-perfect-but-what-does-interest-me-the-most-is-to-develop-a-workflow-that-is-efficient-while-still-keeping-the-desired-visual-quality&quot;&gt;Thank you for reading my take on this environment and story. The scenes are not perfect, but what does interest me the most is to develop a workflow that is efficient, while still keeping the desired visual quality.&lt;/h2&gt;

&lt;div class=&quot;gallery-box&quot;&gt;
  &lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;bunker-prison_1.jpg&quot; /&gt;
    &lt;img src=&quot;bunker-prison_2.jpg&quot; /&gt;
    &lt;img src=&quot;bunker-prison_3.jpg&quot; /&gt;
  &lt;/div&gt;
&lt;/div&gt;

</description>
        <pubDate>Wed, 16 May 2018 12:01:35 +0000</pubDate>
        <link>https://pavelnecas.com/gamedev/2018/05/16/owl-mountains/</link>
        <guid isPermaLink="true">https://pavelnecas.com/gamedev/2018/05/16/owl-mountains/</guid>
        
        <category>concept</category>
        
        <category>gamedev</category>
        
        <category>thoughts</category>
        
        
        <category>gamedev</category>
        
      </item>
    
      <item>
        <title>VR Vehicle Visualizer</title>
        <description>&lt;p&gt;&lt;img src=&quot;spaceship_13.jpg&quot; alt=&quot;Bunker&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;what-is-this&quot;&gt;What is this?&lt;/h2&gt;

&lt;p&gt;We were approached by a VR headset company that wanted us to create an “Automotive Holodeck”, that would be used screen content to present their VR technology. The VR headset had almost 10000 pixels on horizontal axis, so performance was of the utmost importance - basically the “holodeck” had to be realistic, but take as little of horsepower to render.&lt;/p&gt;

&lt;div class=&quot;gallery-box&quot;&gt;
  &lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;silo-1.jpg&quot; /&gt;
    &lt;img src=&quot;silo-2.jpg&quot; /&gt;
    &lt;img src=&quot;silo-4.jpg&quot; /&gt;
    &lt;img src=&quot;silo-6.jpg&quot; /&gt;
    &lt;img src=&quot;silo-7.jpg&quot; /&gt;
    &lt;img src=&quot;silo-8.jpg&quot; /&gt;
    &lt;img src=&quot;silo-10.jpg&quot; /&gt;
    &lt;img src=&quot;silo-11.jpg&quot; /&gt;
    &lt;img src=&quot;silo-19.jpg&quot; /&gt;
    &lt;img src=&quot;silo-20.jpg&quot; /&gt;    
  &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&quot;how-was-it-done&quot;&gt;How was it done?&lt;/h2&gt;

&lt;p&gt;In the time we were making it, there was no real-time global illumination, and even today, I am not sure if it’s even possible to render real-time GI to VR. So, everything had to be baked by Unreal Engine, which proved to be more challenging than we thought.&lt;/p&gt;

&lt;h2 id=&quot;challenges&quot;&gt;Challenges&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;The model was bought, but all polygons were hi-poly subdivision surfaces - many parts had to be manually readjusted, and some parts had to be remodeled from scratch.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;We couldn’t use high to low baking of models, because the car model would be viewed very up close.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;All the high-poly parts of the car had to be UW unwrapped by hand, so shadows maps will correctly bake in Unreal. This unwrapping was done in a way, so the pixel density was roughly equal across all polygons. Before we started this, we tested if Unreal can handle all the polygons - which it could.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;There was an idea to bake the shadow maps directly in 3Ds Max, so no baking had to be done in Unreal. Though, it proved inefficient with car environment changes - reflections and shadows were off and not accurate. Therefore, some shadow quality was sacrificed, and baked directly in Unreal.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Some parts were interactive (interactivity was done by Leap Motion), so some shadow maps had to be corrected and painted in, in order to hide gaps where the moving model was pivoting inside static model.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The floor had no shadow maps at all, instead, the shadow on the floor is faked with Photoshop. That gave us that very smooth shadow, that makes the car truly fit into the scene. Some other shadows were faked as well.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Materials were modified Unreal Engine Automotive materials. They are usually world mapped, but we converted them to be UWV mapped, so there would be no seams on the car panels.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;gallery-box&quot;&gt;
  &lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;garage-1.jpg&quot; /&gt;
    &lt;img src=&quot;garage-2.jpg&quot; /&gt;
    &lt;img src=&quot;garage-3.jpg&quot; /&gt;
    &lt;img src=&quot;garage-4.jpg&quot; /&gt;
    &lt;img src=&quot;garage-5.jpg&quot; /&gt;
    &lt;img src=&quot;garage-6.jpg&quot; /&gt;   
  &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&quot;performance&quot;&gt;Performance?&lt;/h2&gt;

&lt;p&gt;In the end the clients were very happy. The performance was well above 120 FPS (I believe 150 FPS) on almost 4k screen per eye (so 2x 4k), on GTX 1080.&lt;/p&gt;

&lt;div class=&quot;gallery-box&quot;&gt;
  &lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;bungalow_01.jpg&quot; /&gt;
    &lt;img src=&quot;bungalow_05.jpg&quot; /&gt;
    &lt;img src=&quot;bungalow_07.jpg&quot; /&gt;
    &lt;img src=&quot;bungalow_10.jpg&quot; /&gt;
    &lt;img src=&quot;bungalow_20.jpg&quot; /&gt;
    &lt;img src=&quot;bungalow_27.jpg&quot; /&gt;

       
  &lt;/div&gt;
&lt;/div&gt;
</description>
        <pubDate>Fri, 27 Oct 2017 12:01:35 +0000</pubDate>
        <link>https://pavelnecas.com/2017/10/27/VR-visualizer/</link>
        <guid isPermaLink="true">https://pavelnecas.com/2017/10/27/VR-visualizer/</guid>
        
        <category>VR</category>
        
        <category>gamedev</category>
        
        
      </item>
    
      <item>
        <title>Sleeping Trees Trailer</title>
        <description>&lt;p&gt;Sleeping Trees is a game concept where we created environment before gameplay mechanics, and when this happens in game development, the project usually fails, and so did this one. We wanted to make a teaser trailer for this concept, attract some attention, we wanted to see if we are choosing the right path, and if the world building alone would attract any players. Being a small indie studio we did not have much of a budget, so we had to cut some corners - though I believe it came out pretty nicely.&lt;/p&gt;

&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/CNBxhnreamw&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;h2 id=&quot;little-postmortem-on-the-project&quot;&gt;Little postmortem on the project.&lt;/h2&gt;

&lt;p&gt;Creating a trailer like this can take a lot of time and resources for a small team. Sometimes, months can be spent on such a task, instead of actually focusing on the game development itself. I generally believe that this is the wrong way to do this. Fun gameplay with basic graphics should always have priority, than world with pretty graphics with no gameplay.&lt;/p&gt;

&lt;p&gt;This mistake can ultimately kill project very easily. Eventually we used the assets for another project, so the work was not wasted.&lt;/p&gt;

&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/hD5BJWd937s&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;h2 id=&quot;how-was-it-done&quot;&gt;How was it done?&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Most of the movement of the character was recorder with HTC Vive, through a custom setup directly recorded to Unreal Engine’s sequencer.&lt;/li&gt;
  &lt;li&gt;The tracking was directly mapped to UE character. Some of it can be seen here, sorry for the mess on my table! It was a long day. https://www.youtube.com/watch?v=l4KSUjAlzRs, and bones like elbows were done through IK.&lt;/li&gt;
  &lt;li&gt;Each scene was build specifically for each view.&lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Sat, 15 Jul 2017 12:01:35 +0000</pubDate>
        <link>https://pavelnecas.com/2017/07/15/sleepingtree/</link>
        <guid isPermaLink="true">https://pavelnecas.com/2017/07/15/sleepingtree/</guid>
        
        <category>gamedev</category>
        
        <category>concept</category>
        
        
      </item>
    
      <item>
        <title>Autodesk University Unreal Engine Visuals</title>
        <description>&lt;p&gt;This was a quick project, where we had to create quick Unreal Engine visuals. The decision to use Unreal was to have something quick and most importantly iterable on the client’s end.&lt;/p&gt;

&lt;h2 id=&quot;to-be-completed&quot;&gt;To be completed.&lt;/h2&gt;

</description>
        <pubDate>Thu, 30 Mar 2017 12:01:35 +0000</pubDate>
        <link>https://pavelnecas.com/2017/03/30/autodesk-university/</link>
        <guid isPermaLink="true">https://pavelnecas.com/2017/03/30/autodesk-university/</guid>
        
        <category>events</category>
        
        <category>videomapping</category>
        
        
      </item>
    
      <item>
        <title>Concept Art for a bar in San Francisco</title>
        <description>&lt;p&gt;A friend of mine was building an underground club / bar, and he wanted some visuals to present to potential investors. So, I came up with this. Unfortunately I never got the characters to “really” fit in the scene, though I believe it still looks pretty ok, for a 2-day job.&lt;/p&gt;

&lt;p&gt;The modelling was done in Cinema 4D, all the textures were box mapped shaders to save time, and Octane Render with triple GTX 1080s was used to render. Then, all the post-production was finished in Photoshop.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;bar-concept-1.jpg&quot; alt=&quot;club&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;bar-concept-2.jpg&quot; alt=&quot;club&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;bar-concept-3.jpg&quot; alt=&quot;club&quot; /&gt;&lt;/p&gt;

</description>
        <pubDate>Tue, 24 Mar 2015 12:01:35 +0000</pubDate>
        <link>https://pavelnecas.com/2015/03/24/bar-concept-art/</link>
        <guid isPermaLink="true">https://pavelnecas.com/2015/03/24/bar-concept-art/</guid>
        
        <category>concept</category>
        
        <category>events</category>
        
        
      </item>
    
      <item>
        <title>Instagram Art Basel Social Wall</title>
        <description>&lt;h2 id=&quot;what-is-this&quot;&gt;What is this?&lt;/h2&gt;

&lt;p&gt;A project for Instagram in Hong Kong, during a contemporary art convention “Art Basel”. I’ve never really understood contemporary art, it always felt more like money laundering or tax evasion than anything else, but hey maybe I am missing something. Though, when I saw charred Nokia 3310 in a glass box, sold as piece of art for $20000 USD, I was a bit sketched out.&lt;/p&gt;

&lt;p&gt;Instagram wanted a video wall, where they would promote their brand, by showing any pictures that were tagged with #artbasel and #instagram hashtags during the event’s duration. These photos would then appear on the wall, attracting the visitors, therefore promoting the brand.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/instagram/instagram-photo-2.jpg&quot; alt=&quot;wall&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;the-challenges&quot;&gt;The Challenges&lt;/h2&gt;

&lt;p&gt;There were quite a few surprising challenges, which, as always, shown themselves during the production. Because of extremely short deadline, we had to cut a lot of corners, and produce it in a way that wasn’t exactly efficient. The whole thing could have been coded on the web, which we did, but it was slow to render and presented itself with screen tear which we didn’t have time to fix. So it was done in Touch Designer.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/instagram/instagram-photo-1.jpg&quot; alt=&quot;wall&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Here are few challenges that surprised us:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;We had to create a web based moderation system, where a real person was sitting and “accepting” or “declining” photos from Instagram feed. You’d be surprised how many people, even on an event like this, send pictures of their private parts, or anything related to the act of “I am drunk, so I must be funny”.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Web browsers aren’t fast when running on 12 screens. Manipulation photos in real-time is hardware intensive, plus “screen tear” is present. Simply put, browsers weren’t made for 10k horizontal resolution.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Hong Kong is extremely warm, so we had to quickly buy fans in the markets to cool down the entire Instagram box from the inside where the hardware was housed in.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;An event venue of this size had no internet connection ports. We had to use 4G modems to communicate with everything, which caused problems since sometimes the modem’s IP changed (when it lost connection, turned off…), which was basically all the time, so we had to monitor physically during the whole event that nothing gets disconnected. When too many people were using their phones, the 4G towers couldn’t subdivide the 4G bands anymore either, so sometimes the wall was without connection for few minutes.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;Hong Kong is very humid and warm outside, but all interiors are equipped with AC. All of us got sick from the constant differences of temperatures.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/BCXLWvrWLHE&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;h2 id=&quot;thanks-for-checking-out-this-post&quot;&gt;Thanks for checking out this post!&lt;/h2&gt;
</description>
        <pubDate>Thu, 12 Jun 2014 12:01:35 +0000</pubDate>
        <link>https://pavelnecas.com/2014/06/12/instagram-social-wall/</link>
        <guid isPermaLink="true">https://pavelnecas.com/2014/06/12/instagram-social-wall/</guid>
        
        <category>events</category>
        
        <category>videomapping</category>
        
        
      </item>
    
      <item>
        <title>Facebook F8 Realtime Visuals</title>
        <description>&lt;p&gt;When Facebook had an F8 conference, I was tasked with creating various content for a 60 meter long installation, mounted to the ceiling of a lounge area of the venue. 
It was huge, the photos don’t give it justice. We used 8 projectors, with brightness of 40k lumen (home projectors have for example around 2500 lumen). To say the least, no expense was spared, and it was a really interesting project to be part of.&lt;/p&gt;

&lt;p&gt;So cool things about it:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;8x 40k projectors, with 4k resolution.&lt;/li&gt;
  &lt;li&gt;Laser (optical) video cables from media server to projectors were used, so projector blending wouldn’t be disturbed (the projector outputs on the installation are blended together with a gradient, so the projection area can be larger - if the projectors are too apart, HDMI cables cannot be used without repeaters, and they have delay - the blending breaks on large installations, therefore speed of light (optical video cables) needs to be used instead.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;\images\f8\f8-pano-1.jpg&quot; alt=&quot;stage&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The effects were connected to Facebook’s API, and RFID chips of the visitors. Meaning, if someone new came, their profile picture was downloaded, and added to the visuals of the installation. The same was with where people were from, type of attendees, etc.&lt;/li&gt;
  &lt;li&gt;The primary media server’s actions was copied to a duplicate secondary server, in case the primary failed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;\images\f8\f8-photo-2.jpg&quot; alt=&quot;stage&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Sorry for the video quality!&lt;/p&gt;
&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/J-hW5ROp9M4&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;div class=&quot;gallery-box&quot;&gt;
  &lt;div class=&quot;gallery&quot;&gt;
    &lt;img src=&quot;f8-production1.jpg&quot; /&gt;
    &lt;img src=&quot;f8-production2.jpg&quot; /&gt;
    &lt;img src=&quot;f8-people-1.jpg&quot; /&gt;
    
  &lt;/div&gt;
  &lt;em&gt;Some behind the scenes.&lt;/em&gt;
&lt;/div&gt;

</description>
        <pubDate>Wed, 30 Apr 2014 12:01:35 +0000</pubDate>
        <link>https://pavelnecas.com/2014/04/30/facebook-f8/</link>
        <guid isPermaLink="true">https://pavelnecas.com/2014/04/30/facebook-f8/</guid>
        
        <category>events</category>
        
        <category>videomapping</category>
        
        
      </item>
    
      <item>
        <title>TRINITRON Stage</title>
        <description>&lt;p&gt;I don’t know why I’ve called it Trinitron, I guess triangle = trinity, and when I was a kid my dad had a Trinitron TV?&lt;/p&gt;

&lt;p&gt;Anyway, there was an event space (doubling also as a creative office), during few evenings, some people came over and had parties and such. So my boss requested a stage backdrop. Something “cool” and something rememberable, that we could eventually use for other events aswell.&lt;/p&gt;

&lt;p&gt;One problem - it had to be cheap to build, and most importantly: easy to build and fabricate.&lt;/p&gt;

&lt;p&gt;Features we wanted:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Ease of fabrication and building&lt;/li&gt;
  &lt;li&gt;Easy video mapping with projectors.&lt;/li&gt;
  &lt;li&gt;LED strips mapped to 2D matrix so LEDs colors would follow whatever projector is beaming.&lt;/li&gt;
  &lt;li&gt;Panels had to be white and reflective for projection.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I had few ideas, for example also taking semi transparent cloths, placing them behind each other, and use a projection mapping content for 3D effects. It works, but the projector had to be far away from the stage, in order to widen the projector’s beaming flustrum on the first line of sheets - to really sell the effect. Which wasn’t possible. Also, my boss wasn’t particularly fan of the idea.&lt;/p&gt;

&lt;p&gt;Therefore, this is what I came up with this:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;trinitron-render4.jpg&quot; alt=&quot;stage&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;trinitron-render3.jpg&quot; alt=&quot;stage&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I chose a triangular shape because of the ease of fabrication. The triangles fit together, so the fabricators only had to do one piece that repeated itself, and then couple of outside pieces.
Ease of fabrication and building - check!&lt;/p&gt;

&lt;p&gt;To support the integrity of each piece, and eventually the whole backdrop, the triangles were made from plastic transparent PVC pipes. In which, LED strips were put into, and connected to other adjacent triangles. The PVC pipes were connected by simple L shaped connectors used in plumbing.&lt;/p&gt;

&lt;p&gt;Here is a short video showing it in action - the only video left. The whole warehouse burned to the ground (we were all safe), photo is at the end of this post.&lt;/p&gt;

&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/9_uENoBGMuM&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;One of the more challenging aspects was the LED mapping to blend together with whatever content was projected from projector, but eventually we got it right. A surprising hiccup was, how many power supplies, and how many LED controllers we needed. There was entire rack of PSUs and controllers hidden behind the stage, that we cooled with off-the-shelf fans.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;trinitron-render1.jpg&quot; alt=&quot;stage&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;trinitron-stage-concept-1.jpg&quot; alt=&quot;stage&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;trinitron-stage-concept-2.jpg&quot; alt=&quot;stage&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;trinitron-stage-concept-3.jpg&quot; alt=&quot;stage&quot; /&gt;&lt;/p&gt;

&lt;p&gt;And here is its final form after a warehouse fire. We weren’t happy to say the least.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;trinitron-burn-1.jpg&quot; alt=&quot;stage&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Wed, 16 Apr 2014 12:01:35 +0000</pubDate>
        <link>https://pavelnecas.com/2014/04/16/trinitron-stage/</link>
        <guid isPermaLink="true">https://pavelnecas.com/2014/04/16/trinitron-stage/</guid>
        
        <category>concept</category>
        
        <category>events</category>
        
        <category>industrialdesign</category>
        
        
      </item>
    
      <item>
        <title>Head Projection Mapping</title>
        <description>&lt;p&gt;School 24H project where we mapped a sculpture of a head in a park.&lt;/p&gt;

&lt;p&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/p1eErUNdgTI&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;
</description>
        <pubDate>Sat, 20 Oct 2012 12:01:35 +0000</pubDate>
        <link>https://pavelnecas.com/2012/10/20/head-projection/</link>
        <guid isPermaLink="true">https://pavelnecas.com/2012/10/20/head-projection/</guid>
        
        <category>installation</category>
        
        
      </item>
    
  </channel>
</rss>