{"id":1190,"date":"2004-06-11T17:56:30","date_gmt":"2004-06-11T17:56:30","guid":{"rendered":"http:\/\/luxregina.com\/portfolio\/?p=1190"},"modified":"2018-09-04T13:11:25","modified_gmt":"2018-09-04T13:11:25","slug":"sylvaniah-post-mortem","status":"publish","type":"post","link":"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/","title":{"rendered":"Sylvaniah Post Mortem"},"content":{"rendered":"<h4>This post mortem is an archive from my 2005 blog post on my previous site<\/h4>\n<p><img data-attachment-id=\"1192\" data-permalink=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/headersylvaniah\/\" data-orig-file=\"https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/headerSylvaniah.jpg?fit=535%2C193\" data-orig-size=\"535,193\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"headerSylvaniah\" data-image-description=\"\" data-medium-file=\"https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/headerSylvaniah.jpg?fit=300%2C108\" data-large-file=\"https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/headerSylvaniah.jpg?fit=535%2C193\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1192 aligncenter\" src=\"https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/headerSylvaniah.jpg?resize=535%2C193\" alt=\"\" width=\"535\" height=\"193\" srcset=\"https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/headerSylvaniah.jpg?w=535 535w, https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/headerSylvaniah.jpg?resize=300%2C108 300w\" sizes=\"(max-width: 535px) 100vw, 535px\" data-recalc-dims=\"1\" \/>The Curse of Sylvaniah is a Action\/Platform game that I worked on, in collaboration with <em>Mattias Stridsman<\/em>, aka <strong>Strille<\/strong>. It was released in <strong>November 2004<\/strong> and was an instant success across multiple portals: within a few weeks, the game served nearly <strong>15 million players<\/strong>, and even got covered by a Spanish Game TV program.<\/p>\n<p>The whole project started after coder <strong>Strille <\/strong>had released his <strong>supertile-based engine<\/strong>, using Sonic graphics. The engine was quite a step up, in the world of Flash based platform engines: it performed extremely fast, and was way more flexible than most of the engines that existed at that time. Such a beauty was screaming to be turned into a \u201creal\u201d game, and not just ripped graphics of a well known license ?<\/p>\n<p>By the time, I had released <a href=\"http:\/\/garage-collective.com\/blog\/?p=92\" target=\"_blank\" rel=\"noopener\">Two Kingdoms<\/a>, which was well received, benefited from some attention from Flash developers, and I had been in discussion with <strong>Strille <\/strong>for a little while on a possible collaborative work. Both of us had nostalgic memories playing <a href=\"http:\/\/en.wikipedia.org\/wiki\/Ghosts_%27n_Goblins\" target=\"_blank\" rel=\"noopener\">Ghosts\u2019n\u2019Gobelins<\/a>, and with such an engine on our hands, the next move was a no-brainer.<\/p>\n<p><strong>The Story<\/strong><\/p>\n<p><img data-attachment-id=\"1194\" data-permalink=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/sylv2\/\" data-orig-file=\"https:\/\/i2.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv2.jpg?fit=535%2C410\" data-orig-size=\"535,410\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"sylv2\" data-image-description=\"\" data-medium-file=\"https:\/\/i2.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv2.jpg?fit=300%2C230\" data-large-file=\"https:\/\/i2.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv2.jpg?fit=535%2C410\" decoding=\"async\" loading=\"lazy\" class=\"alignleft size-full wp-image-1194\" src=\"https:\/\/i2.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv2.jpg?resize=535%2C410\" alt=\"\" width=\"535\" height=\"410\" srcset=\"https:\/\/i2.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv2.jpg?w=535 535w, https:\/\/i2.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv2.jpg?resize=300%2C230 300w\" sizes=\"(max-width: 535px) 100vw, 535px\" data-recalc-dims=\"1\" \/>While not being very important for the gameplay (well, less than let\u2019s say, a RPG) I wanted to flesh the Lore of Sylvaniah a bit, and explain a little the level progression through a simple storyline.<br \/>\nThe Realm of Sylvaniah consist of a giant, idyllic forest inhabited by Elves, Tree-Ents and all sort of magical plants and animals. Unfortunately, all of this changes the day the dreadful dragon, <strong>R\u00f8yk <\/strong>enters the realm and pick the highest mountain to hibernate. Even asleep, the dragon still exhale deadly fumes that darken the skies and corrupt the fauna and flora of Sylvaniah. Magically preserved from corruption, the Elves decide to send their best warrior in a perilous journey to slay the dragon and free their realm from its deadly grip.<\/p>\n<p><strong>The Game<\/strong><\/p>\n<p>Levels unfolded to follow the storyline: the player would start in the <strong>Forest<\/strong>, then would reached a <strong>burnt-down town<\/strong>, before scaling the <strong>mountains<\/strong> to assault the <strong>sleeping dragon<\/strong>. Levels were laid out directly in <strong>Flash<\/strong>, using the <strong>supertiles <\/strong>system <strong>Strille <\/strong>had designed. The whole system, combined with the way our character moved made it very easy to mix the classic horizontal level unfolding with more vertical approaches: while the first level was basically played from left to right, in a very classic horizontal layout, the second level tricked the player a little bit: Players would run all the way to the right to discover a dead end, and realize that the key to the level was to actually scale those very high trees. The vertical design here is one of my favorite moment of Sylvaniah, as it completely took players of guard and significantly upped the challenge\/danger already present in the game.<\/p>\n<p><img data-attachment-id=\"1195\" data-permalink=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/sylv3\/\" data-orig-file=\"https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv3.jpg?fit=352%2C581\" data-orig-size=\"352,581\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"sylv3\" data-image-description=\"\" data-medium-file=\"https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv3.jpg?fit=182%2C300\" data-large-file=\"https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv3.jpg?fit=352%2C581\" decoding=\"async\" loading=\"lazy\" class=\"alignleft size-full wp-image-1195\" src=\"https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv3.jpg?resize=352%2C581\" alt=\"\" width=\"352\" height=\"581\" srcset=\"https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv3.jpg?w=352 352w, https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv3.jpg?resize=182%2C300 182w\" sizes=\"(max-width: 352px) 100vw, 352px\" data-recalc-dims=\"1\" \/>At the time, we got quite a bunch of comments about the controls (they are all customizable, by the way :)) \u2013 and the game still generates some discussions on that level. I believed then, and still do, that the control scheme is just fine. Yes, the <strong>combo keyboard+mouse<\/strong> isn\u2019t a very popular one, but once mastered, it gives you the precision and \u201ccontrol\u201d you would expect in a platformer like Sylvaniah.<\/p>\n<p>One thing to note is the amount of \u201ccustomization\u201d the game offered, which was pretty rare at that time: Strille really went the extra mile to allow the game to perform well of the largest range of machines possible, and players had a lot of options to turn on\/off most of the game\u2019s features!<\/p>\n<p>One last noteworthy point of the game was the <strong>save-and-replays<\/strong>. I believe that Sylvaniah was the first Flash game to ever use such a powerful system: Each game input by the player were recorded, and saved with the hi-scores. When browsing through another player\u2019s hi-scores, <strong>you could actually see them play the game<\/strong>, judge their performance, and learn tricks from the best players. As a designer, it was really gratifying to see how other players played through the game, and I learned my share of tricks by watching other people\u2019s take on the level I had designed :). If we had been further with the rest of the levels, it would have been a great feedback asset to design better, more challenging levels!<\/p>\n<p>For those of you interested about more technical details, I suggest to read the <a href=\"http:\/\/www.gotoandplay.it\/spotLight\/strille\/\" target=\"_blank\" rel=\"noopener\">extensive interview Strille gave to GotoAndPlay, about Sylvaniah<\/a>.<\/p>\n<p>One interesting thing to note is that the whole game is written in ActionScript1! ?<\/p>\n<p><strong><img data-attachment-id=\"1196\" data-permalink=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/sylv4\/\" data-orig-file=\"https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv4.jpg?fit=535%2C409\" data-orig-size=\"535,409\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"sylv4\" data-image-description=\"\" data-medium-file=\"https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv4.jpg?fit=300%2C229\" data-large-file=\"https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv4.jpg?fit=535%2C409\" decoding=\"async\" loading=\"lazy\" class=\"alignleft size-full wp-image-1196\" src=\"https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv4.jpg?resize=535%2C409\" alt=\"\" width=\"535\" height=\"409\" srcset=\"https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv4.jpg?w=535 535w, https:\/\/i1.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv4.jpg?resize=300%2C229 300w\" sizes=\"(max-width: 535px) 100vw, 535px\" data-recalc-dims=\"1\" \/>The Art<\/strong><\/p>\n<p>The Curse of Sylvaniah shares a LOT of DNA with<strong> Ghosts\u2019n\u2019Gobelins<\/strong>, and more specifically, <a href=\"http:\/\/gngseries.retrogames.com\/gng3\/gng3lands.htm\" target=\"_blank\" rel=\"noopener\">Super Ghouls\u2019n\u2019Ghosts<\/a>, its more recent iteration. As for most of my games, Sylvaniah attempts to resurect the glorious era of rich, <strong>colorful 16bits pixel-art graphics<\/strong>.<\/p>\n<p><strong>Tiles<\/strong><\/p>\n<p>As said previously, the engine was tile-based, so the graphics had to be split into tiles that could be arranged and repeated on the map. But that\u2019s where the supertiles system created by Strille was very convenient: I was pretty free on the size of my tiles \u2013 this means that elements that would be fit together would need to have the same size, of course, but from one set of element to another, I was <strong>free to change the tile sizes<\/strong>.<\/p>\n<p><img data-attachment-id=\"1197\" data-permalink=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/sylv5\/\" data-orig-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv5.jpg?fit=216%2C365\" data-orig-size=\"216,365\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"sylv5\" data-image-description=\"\" data-medium-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv5.jpg?fit=178%2C300\" data-large-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv5.jpg?fit=216%2C365\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1197 alignright\" src=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv5.jpg?resize=216%2C365\" alt=\"\" width=\"216\" height=\"365\" srcset=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv5.jpg?w=216 216w, https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv5.jpg?resize=178%2C300 178w\" sizes=\"(max-width: 216px) 100vw, 216px\" data-recalc-dims=\"1\" \/>To give a concrete example, all my floor tiles, because they were meant to fit with one another needed to be one size, but the trees to would stand on top of the floor, or behind could be sized differently.<\/p>\n<p>This proved very convenient, and much, much faster when designing levels and breaking down assets.<\/p>\n<p><strong>Background<\/strong><\/p>\n<p>In addition to the levels graphics, I wanted to have a very <strong>rich and vibrant background<\/strong> that would set the tone for the game (and help visually integrate the foreground elements. The graphic used had to big very big, to accommodate both the horizontal and vertical scrolling, keeping in mind that the levels in Sylvaniah are rather large.<\/p>\n<p>The background was created in photoshop, combining photographies, hand painted elements, and digitally painted graphics, using very similar techniques used in mate-painting.<\/p>\n<p>The whole setup was varied enough to provide an interesting scrolling backdrop, while not taking anything away from the foreground, where the game \u201creally\u201d happened. The general mood of the backdrop evolved from left to right, from \u201clight\u201d to \u201cdark\u201d and was reminiscent of how I wanted players to feel, as they were progressing further from one level to the next.<\/p>\n<p>Sylvaniah was using only one background at release, although several (one per level) were originally planned.<\/p>\n<p><img data-attachment-id=\"1198\" data-permalink=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/sylv6\/\" data-orig-file=\"https:\/\/i2.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv6.jpg?fit=535%2C294\" data-orig-size=\"535,294\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"sylv6\" data-image-description=\"\" data-medium-file=\"https:\/\/i2.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv6.jpg?fit=300%2C165\" data-large-file=\"https:\/\/i2.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv6.jpg?fit=535%2C294\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1198 aligncenter\" src=\"https:\/\/i2.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv6.jpg?resize=535%2C294\" alt=\"\" width=\"535\" height=\"294\" srcset=\"https:\/\/i2.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv6.jpg?w=535 535w, https:\/\/i2.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv6.jpg?resize=300%2C165 300w\" sizes=\"(max-width: 535px) 100vw, 535px\" data-recalc-dims=\"1\" \/><\/p>\n<p><strong>Sprites<\/strong><\/p>\n<p><img data-attachment-id=\"1199\" data-permalink=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/sylv7\/\" data-orig-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv7.jpg?fit=307%2C559\" data-orig-size=\"307,559\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"sylv7\" data-image-description=\"\" data-medium-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv7.jpg?fit=165%2C300\" data-large-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv7.jpg?fit=307%2C559\" decoding=\"async\" loading=\"lazy\" class=\"alignleft size-full wp-image-1199\" src=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv7.jpg?resize=307%2C559\" alt=\"\" width=\"307\" height=\"559\" srcset=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv7.jpg?w=307 307w, https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv7.jpg?resize=165%2C300 165w\" sizes=\"(max-width: 307px) 100vw, 307px\" data-recalc-dims=\"1\" \/>Sprites were handled a very classic way, mostly through <strong>spritesheets<\/strong> (meaning, one render per animation).<\/p>\n<p>A <strong>notable exception<\/strong> was the end of level Boss, the <strong>Tree-Ent<\/strong>. Because of its sheer size (almost the full height of the screen) it would have been a very heavy spritesheet to generate the usual way.<\/p>\n<p>Instead, we went with a<strong> Rag-doll approach<\/strong>: each moving limb was cut into it\u2019s own asset, and assembled and animated within Flash.<\/p>\n<p>This had two main advantages: first, the overall weight of the sprite was much, much smaller (no need to generate each step for an animation \u2013 but also, repeated limbs like legs and arms portions were only exported once). Second, it allowed us a much smoother animation, as the transitions were tweened, and not hand animated, unlike the other sprites.<\/p>\n<p>This end-of-level Boss really needed to stand out, as a reward for the player, and I think that our approach really nailed it! ?<\/p>\n<p>The player spritesheet was of course the one that required the most work. In-game, our character could use a lot of different weapons, and perform multiple actions. Each of these needed to be animated, on a basis of at least 4 frames per animation. The complete spritesheet for the player includes over 60 frames of animation!<\/p>\n<p>Overall, the sprites drew inspiration from many classics, and even though I think that some could have been better, the look and feel of the game, at the time, was rather uncommon for Flash games.<\/p>\n<p><strong>Reception<\/strong><\/p>\n<p>When the game got released, it gathered quite a bit of attention! <strong>Strille<\/strong>\u2018s engine was already known as one of the<strong> fastest and most efficient Flash platform engine<\/strong>. This existing popularity, combined with the <strong>brand new graphics<\/strong> and IP, and some refinements Strille had brought to the engine (Ropes physics, for example) really brought The Curse of Sylvaniah under the spotlights.<\/p>\n<p>And that\u2019s where the somewhat sad part begins.<\/p>\n<p>In a matter of days, our game got <strong>hacked, decompiled, stolen or hotlinked<\/strong> on various gaming portals. We had some loose plans to get some sort of sponsorship for the game, but hadn\u2019t really come up with any battle plan yet. It was too late: the game already had gone viral, and could be accessed on dozens, if not hundreds of portals linking to it, or even worst, embedding the stolen file at various screen sizes, aliasing or distorting the graphics.<\/p>\n<p><img data-attachment-id=\"1200\" data-permalink=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/sylv8\/\" data-orig-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv8.jpg?fit=535%2C418\" data-orig-size=\"535,418\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"sylv8\" data-image-description=\"\" data-medium-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv8.jpg?fit=300%2C234\" data-large-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv8.jpg?fit=535%2C418\" decoding=\"async\" loading=\"lazy\" class=\"alignleft size-full wp-image-1200\" src=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv8.jpg?resize=535%2C418\" alt=\"\" width=\"535\" height=\"418\" srcset=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv8.jpg?w=535 535w, https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv8.jpg?resize=300%2C234 300w\" sizes=\"(max-width: 535px) 100vw, 535px\" data-recalc-dims=\"1\" \/>The site hosting the game got literally hammered with intense, constant traffic, bringing our host to its knees. Within a month, <strong>the game had served well over 15 millions sessions<\/strong>, and counting. At this time, Sylvaniah.com made the top 100.000 of the most visited websites in the world (90.000 something according to Alexa.com).<\/p>\n<p>We never made a dime on this game, and if it wasn\u2019t for the generosity of our host (<a href=\"http:\/\/www.ventoline.com\/v3\/\" target=\"_blank\" rel=\"noopener\">Nils at 2iceMP.com <\/a>\u2013<em> if you read this Nils, give me a shout<\/em> :)) we would have lost quite a bit of money!<\/p>\n<p><strong>Post Mortem<\/strong><\/p>\n<p>Well, first and foremost, I learned a valuable lesson: <strong>don\u2019t-ever-make a pre-release for a game you haven\u2019t secured a sponsorship for yet! \u2013 NEVER!<\/strong> ?<\/p>\n<p>Aside that, the whole project was a blast! It was my second \u201creal\u201d game, and working with Strille has been smooth as ever. The project was completed in a timely fashion (6 months from idea to completion, working on week nights (some) and week-ends(all!)) and got very positive feedback. As with Two Kingdoms, it helped me put my name on the map as a game designer\/illustrator, and generated \u201cprofessional\u201d contacts and friendships that are still kicking in nowadays ?<\/p>\n<p>Strille got very busy, and ultimately landed a job in the game industry \u2013 I got busy as well, and we departed ways, never really finishing the rest of the game levels. At this day, only the first 4 levels are accessible, the rest awaiting to be finished\u2026<\/p>\n<p><img data-attachment-id=\"1201\" data-permalink=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/sylv9\/\" data-orig-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv9.jpg?fit=395%2C324\" data-orig-size=\"395,324\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"sylv9\" data-image-description=\"\" data-medium-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv9.jpg?fit=300%2C246\" data-large-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv9.jpg?fit=395%2C324\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1201 aligncenter\" src=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv9.jpg?resize=395%2C324\" alt=\"\" width=\"395\" height=\"324\" srcset=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv9.jpg?w=395 395w, https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv9.jpg?resize=300%2C246 300w\" sizes=\"(max-width: 395px) 100vw, 395px\" data-recalc-dims=\"1\" \/><\/p>\n<p><img data-attachment-id=\"1202\" data-permalink=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/sylv10\/\" data-orig-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv10.jpg?fit=395%2C324\" data-orig-size=\"395,324\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"sylv10\" data-image-description=\"\" data-medium-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv10.jpg?fit=300%2C246\" data-large-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv10.jpg?fit=395%2C324\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1202 aligncenter\" src=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv10.jpg?resize=395%2C324\" alt=\"\" width=\"395\" height=\"324\" srcset=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv10.jpg?w=395 395w, https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv10.jpg?resize=300%2C246 300w\" sizes=\"(max-width: 395px) 100vw, 395px\" data-recalc-dims=\"1\" \/><\/p>\n<p><img data-attachment-id=\"1203\" data-permalink=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/sylv11\/\" data-orig-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv11.jpg?fit=395%2C324\" data-orig-size=\"395,324\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"sylv11\" data-image-description=\"\" data-medium-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv11.jpg?fit=300%2C246\" data-large-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv11.jpg?fit=395%2C324\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1203 aligncenter\" src=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv11.jpg?resize=395%2C324\" alt=\"\" width=\"395\" height=\"324\" srcset=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv11.jpg?w=395 395w, https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv11.jpg?resize=300%2C246 300w\" sizes=\"(max-width: 395px) 100vw, 395px\" data-recalc-dims=\"1\" \/><\/p>\n<p><img data-attachment-id=\"1204\" data-permalink=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/sylv12\/\" data-orig-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv12.jpg?fit=395%2C324\" data-orig-size=\"395,324\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"sylv12\" data-image-description=\"\" data-medium-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv12.jpg?fit=300%2C246\" data-large-file=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv12.jpg?fit=395%2C324\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-1204 aligncenter\" src=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv12.jpg?resize=395%2C324\" alt=\"\" width=\"395\" height=\"324\" srcset=\"https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv12.jpg?w=395 395w, https:\/\/i0.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2004\/06\/sylv12.jpg?resize=300%2C246 300w\" sizes=\"(max-width: 395px) 100vw, 395px\" data-recalc-dims=\"1\" \/><\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-1190\" class=\"share-facebook sd-button share-icon no-text\" href=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/?share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to share on Facebook (Opens in new window)<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-1190\" class=\"share-linkedin sd-button share-icon no-text\" href=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to share on LinkedIn (Opens in new window)<\/span><\/a><\/li><li class=\"share-print\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-print sd-button share-icon no-text\" href=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/\" target=\"_blank\" title=\"Click to print\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to print (Opens in new window)<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>This post mortem is an archive from my 2005 blog post on my previous site The Curse of Sylvaniah is a Action\/Platform game that I worked on, in collaboration with Mattias Stridsman, aka Strille. It was released in November 2004 and was an instant success across multiple portals: within a few weeks, the game served [&hellip;]<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-1190\" class=\"share-facebook sd-button share-icon no-text\" href=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/?share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to share on Facebook (Opens in new window)<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-1190\" class=\"share-linkedin sd-button share-icon no-text\" href=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to share on LinkedIn (Opens in new window)<\/span><\/a><\/li><li class=\"share-print\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-print sd-button share-icon no-text\" href=\"http:\/\/luxregina.com\/portfolio\/sylvaniah-post-mortem\/\" target=\"_blank\" title=\"Click to print\"><span><\/span><span class=\"sharing-screen-reader-text\">Click to print (Opens in new window)<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"author":1,"featured_media":1310,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"sharing_disabled":false,"switch_like_status":false,"spay_email":"","jetpack_publicize_message":""},"categories":[24,28,29],"tags":[],"jetpack_featured_media_url":"https:\/\/i2.wp.com\/luxregina.com\/portfolio\/wp-content\/uploads\/2003\/06\/PM_sylvaniah.png?fit=960%2C960","jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/p5xnSl-jc","jetpack-related-posts":[],"_links":{"self":[{"href":"http:\/\/luxregina.com\/portfolio\/wp-json\/wp\/v2\/posts\/1190"}],"collection":[{"href":"http:\/\/luxregina.com\/portfolio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/luxregina.com\/portfolio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/luxregina.com\/portfolio\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/luxregina.com\/portfolio\/wp-json\/wp\/v2\/comments?post=1190"}],"version-history":[{"count":5,"href":"http:\/\/luxregina.com\/portfolio\/wp-json\/wp\/v2\/posts\/1190\/revisions"}],"predecessor-version":[{"id":1228,"href":"http:\/\/luxregina.com\/portfolio\/wp-json\/wp\/v2\/posts\/1190\/revisions\/1228"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/luxregina.com\/portfolio\/wp-json\/wp\/v2\/media\/1310"}],"wp:attachment":[{"href":"http:\/\/luxregina.com\/portfolio\/wp-json\/wp\/v2\/media?parent=1190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/luxregina.com\/portfolio\/wp-json\/wp\/v2\/categories?post=1190"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/luxregina.com\/portfolio\/wp-json\/wp\/v2\/tags?post=1190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}