tag:blogger.com,1999:blog-30557184485641793542024-03-19T06:10:37.980-07:00Big Bad WoflYes, like Waffle.Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.comBlogger84125tag:blogger.com,1999:blog-3055718448564179354.post-18022859309180734062013-04-30T03:20:00.001-07:002013-07-24T23:49:34.689-07:00Ludum Dare 26Sadly, another LD has drawn to an end. I'll be back with a detailed post mortem in a few days but until then, you can <a href="http://bigbadwofl.me/Games/Spellflinger" target="_blank">try out my game, Spellflinger, here</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS61u9D2AsbgfhWQk6ap30tbUagsCfCgxyoAHnLp7HBmVfjPAqgmUcYr5Teenn-ppk3geFvX8Es6cRUyeqgjil2jgLCvUZlJxvobxibTdbtnASs2BGO7YT9DFpF1GbwWQ3AES4nwoee2RT/s1600/ss.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS61u9D2AsbgfhWQk6ap30tbUagsCfCgxyoAHnLp7HBmVfjPAqgmUcYr5Teenn-ppk3geFvX8Es6cRUyeqgjil2jgLCvUZlJxvobxibTdbtnASs2BGO7YT9DFpF1GbwWQ3AES4nwoee2RT/s400/ss.png" width="400" /></a></div>
<br />Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com3tag:blogger.com,1999:blog-3055718448564179354.post-78098903614289676962013-04-18T00:24:00.002-07:002013-04-30T03:21:21.604-07:00Wherefore art I?With <a href="http://www.ludumdare.com/compo/" target="_blank">Ludum Dare</a> around the proverbial corner, I finally picked up <a href="http://pyxeledit.com/" target="_blank">Pyxel Edit</a> and started making pixel art. I've always been into art but I've never sat down and done something about it. Well, with Big Bad Wofl v2.00, all that has changed.<br />
<br />
As it turns out, drawing things is hard and this simple fact became painfully clear when I realized I couldn't draw a pixel rock to save the life of an entire village populated only by small elves who all answer to the name Blork and fill their lives with weaving baskets out of their own beards.<br />
<br />
But I pushed through. At the moment, all of my <i>art </i> is based on (read: copied from) inspiration I get from other pixel art but hopefully if I do this long enough, I'll develop some form of skill.<br />
<br />
<i>Calling things I make 'art' feels really pretentious...</i><br />
<i><br /></i>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeh98WYshlCiGdslQWWuEvtpxXn-xfq8mY-F9lCKA7jxKcTSORnAti6rKda0wHuISo9OagWO-26cn7_gCPZRoLGGP9gCu-rVkXi2fqUzbMPHd3NyHu-oMSB4c_mv9R5dKALczwhxSuGCvM/s1600/Test+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeh98WYshlCiGdslQWWuEvtpxXn-xfq8mY-F9lCKA7jxKcTSORnAti6rKda0wHuISo9OagWO-26cn7_gCPZRoLGGP9gCu-rVkXi2fqUzbMPHd3NyHu-oMSB4c_mv9R5dKALczwhxSuGCvM/s400/Test+2.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<i><br /></i>Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com2tag:blogger.com,1999:blog-3055718448564179354.post-77259892832524813472013-04-07T23:35:00.000-07:002013-07-24T23:36:47.515-07:00What have I been doing?Terri has gotten quite busy with work and as a result, we haven't made any progress on the game. For those of you who don't know, Terri is the artistic counterpart of Big Bad Wofl. In the previous post I mentioned that we hit a stumbling block and to move on we need to rethink a few things.<br />
<div>
<br /></div>
<div>
In the interim, I have been preparing for Ludum Dare by speedcoding small games in Unity. Here's a screenshot of a tower defense type game I'm working on at the moment:</div>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirQF7THFwzBPpqxXjMaPLLypaMKSBjvV2_WBvg-3nFXDxK1wH02-dm-SNZH3lEcgnftYpMamy1Ftye_9iwtDVABV6xRrA6eQW8Sc_jduJPgy71Jjewfbic0Nsby1usYY-MujQ9KTyYpU3N/s1600/ss.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirQF7THFwzBPpqxXjMaPLLypaMKSBjvV2_WBvg-3nFXDxK1wH02-dm-SNZH3lEcgnftYpMamy1Ftye_9iwtDVABV6xRrA6eQW8Sc_jduJPgy71Jjewfbic0Nsby1usYY-MujQ9KTyYpU3N/s400/ss.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">This is how my games look when Terri doesn't do the art...</td></tr>
</tbody></table>
<div>
I also realized that I haven't told you all about my other website yet. I started a website to showcase devblogs as I realize how much time people put into writing their blogs. Go have a look:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://indiegameblogs.com/" target="_blank"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTxGrwcHPMMR8QCEQvBmC7VesZy9UaW6VikWdjKrfKtR3tPYg3EZbT__OLY4Ig5J5ST_f2HqysYvN-yEzu043zdZU3m86UV5xp5jRcB5az0d-MD09Rl1YYytdGOJZB7EEMjZlGPOGvJVdv/s1600/default_logo.png" /></a></div>
<div>
<br /></div>
Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com0tag:blogger.com,1999:blog-3055718448564179354.post-60464746151093794172013-03-27T22:26:00.000-07:002013-04-01T22:40:12.797-07:00Really need a name for this thing...Since my last post, I've been implementing the UI that Terri designed. With games where team orders are important it gets pretty tough to keep the interface easy to understand while still keeping it from getting cluttered but I think we've got something that'll work. We'll release an alpha version within the next month and get everyone's feedback on it before we move too far ahead with the other features.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDJlQs8JGtlwHZ9pgJl8ElQ8Zj9RML2wOYXsNFyIkH8mvXM5eEXZ_gNhfweX1BNUrY5ob713fMQwsjmSkL_0AqajuDnYMbp7m3ci_vf7WSWiQD-7Rqp4XBz_tF1jNCQuCzr8BoGoiLpw6d/s1600/ss.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="224" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDJlQs8JGtlwHZ9pgJl8ElQ8Zj9RML2wOYXsNFyIkH8mvXM5eEXZ_gNhfweX1BNUrY5ob713fMQwsjmSkL_0AqajuDnYMbp7m3ci_vf7WSWiQD-7Rqp4XBz_tF1jNCQuCzr8BoGoiLpw6d/s320/ss.png" width="320" /></a></div>
<br />
After some discussion with Terry, we've decided to modify one aspect of the game slightly. Dungeons will no longer be completely randomly generated. Instead, we will define custom templates for zones that will determine how a zone looks, what creatures and loot it contains as well as which heroes can spawn in it. This will make it easier to give zones a unique feel and create quests that feel real. For those of you who have played <a href="http://en.wikipedia.org/wiki/MUD" target="_blank">MUDs</a> before, this is the kind of effect we'd like to go for with zones. The location of zones in the world, which zones appear in a world and the layout of dungeons will still be randomly generated though, nothing has changed there.<br />
<br />
Next, I'll be starting work on enemy AI. Hopefully, after the weekend, enemies will be roaming around (alone or in groups) and attack you on sight. They will also pursue you / flee based on a set of randomly generated characteristics.Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com2tag:blogger.com,1999:blog-3055718448564179354.post-11130344087671056602013-03-22T23:51:00.001-07:002013-07-25T00:11:00.093-07:00Announcing [Insert Name Here]As promised, today is the day we divulge some details about the new game. This last week we've been spending a lot of time on getting the game architecture down to prevent rewrites on a large scale later on. But what exactly is this game?<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz0RgKRn3r5pkgbXkRdV3fHT3LZa8fsfDgFyKf_miNZ2oSYMh89cOG2_Sxspt2PNi0SOP43QdKrPLesd0McO2aSZJVG4drMZC09rlYPos5KSDsrHXFUn2IGwDsQ7EDnx4METrjX8yFK23L/s1600/ss.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz0RgKRn3r5pkgbXkRdV3fHT3LZa8fsfDgFyKf_miNZ2oSYMh89cOG2_Sxspt2PNi0SOP43QdKrPLesd0McO2aSZJVG4drMZC09rlYPos5KSDsrHXFUn2IGwDsQ7EDnx4METrjX8yFK23L/s400/ss.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Four adventurers taking on two spiders and their handler, an orc warrior.</td></tr>
</tbody></table>
The game can best be described as a procedurally generated Dungeon Siege. Your game begins with you controlling a lone adventurer. As you explore the world, you meet other adventurers who will join your party. Some of them will be eager enough to join that they'll allow you to recruit them for free. Others, like a pervy rogue will tell you he'll only join if you have enough women in your party. Or maybe a wandering bard will ask you to retrieve his stolen harp from a band of banshees before he'll join.<br />
<br />
The game will also feature a legendary character for every class. If you are lucky enough to happen upon one of them you'll notice that they always have the same name and backstory. They are much stronger that average characters and they will also join your party already equipped with an item unique to them.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
The game will feature dozens of classes with randomized stats. Examples of these classes are knights (sword and shield), warriors (two-handeds sword), archers, wizards (lighting spells), priests, bards (stat boosters), rogues, deathmages (summoners), sorcerers (fire spells), witches (animal control) and many, many more.<br />
<br />
Each character will have an ability unique to his class and one equipment slot for items to further specialize him or her with. Examples of items are a trinket that has a chance to reflect projectiles, a small vial of fire that adds burning damage to every attack and a songbird that frequently boosts a random stat for every member in your party.<br />
<br />
The world will be generated with different areas serving various purposes. You might happen upon a small village in a murky swamp where you can recruit new members, buy and sell items or just chat with the locals. Or maybe you'll find a forest littered with signs warning adventurers of an evil monster lurking within. The possibilities are endless which makes each playthrough exciting and unique.<br />
<br />
We will have more information regarding a date for an alpha version soon so be sure to check back soon for updates on progress.Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com0tag:blogger.com,1999:blog-3055718448564179354.post-47302581443695872382013-03-18T23:15:00.001-07:002013-03-18T23:20:55.292-07:00The Final SecretThe wait is nearly over. This weekend, <a href="http://terrivellmann.tumblr.com/" target="_blank">Terri </a>and I will officially announce exactly what this new game entails and we promise, you're going to be as excited as we are.<br />
<br />
Check back soon!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOM_SDc5-t4vmxyn0e-FHI4T1b0Wfj4ZS6_TWZdwMv68u60_0PXUr7tI1DKZOsTF04Qp1G1v7Yo11ScSoYPPZQa7WGIVj3MULfhe4jp_AWPRgtl8KRiuwKSaef0Fr4mews_KWFo5cJ8kVQ/s1600/ss.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOM_SDc5-t4vmxyn0e-FHI4T1b0Wfj4ZS6_TWZdwMv68u60_0PXUr7tI1DKZOsTF04Qp1G1v7Yo11ScSoYPPZQa7WGIVj3MULfhe4jp_AWPRgtl8KRiuwKSaef0Fr4mews_KWFo5cJ8kVQ/s400/ss.png" width="400" /></a></div>
<br />Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com1tag:blogger.com,1999:blog-3055718448564179354.post-39958943234989057162013-03-11T00:08:00.001-07:002013-03-11T04:47:13.102-07:00It's been a good runBefore you go into a shock-induced coma; no I haven't stopped developing games. After <b>many </b>years of being a major proponent of writing my own engines, I have succumbed to the enticing call of Unity 3D.<br />
<div>
<br /></div>
<div>
The decision came while I was working on our new game (the secret one). I was busy writing a 'shader' in JS for the canvas that would allow us to use overlay blending for lights. Except for the fact that it took too long to generate the resulting image it was working fairly well. It was at this point that I realised just how often I was faced with this kind of issue. As much as I would like to continue developing my own engines, I hardly went a day without needing to resort to some kind of hack to achieve something simple.</div>
<div>
<br /></div>
<div>
So I've moved over to Unity. The choice of game engine was a fairly simple one: I could still easily deploy my game (even more so), development is still very speedy (again, more so) and unlike many other game engines where the work of the programmer devolves to scripting events I could still feel like I was achieving something. Even though Unity supports JS scripts, I've opted to rather code in C# (if you're going to do something, do it right).</div>
<div>
<br /></div>
<div>
I've spent the last week learning Unity and it's been a rocky road but I feel I'm at a place now where I am no longer hampered by my lack of knowledge and development on the secret game can recommence at full speed (we'll reveal exactly what it is very soon, we promise).</div>
<div>
<br /></div>
<div>
Here's a screenshot of how the game looks in the Unity player. The overlay blending on the lights is working now and we think the effect is amazing.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNSizqUiXeMNrRojT3VtMY-6iqHeB8BuG4TM1H_czKBtd3vlWfV3BP0nSmfm6TiL9BDfKQlOjbRBYQL6_9NeQAearn7N2NO9J84Y3DosthTPybh7OQOJdzutyMRqNEL-xUkpZekCWYL6Tb/s1600/ss.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNSizqUiXeMNrRojT3VtMY-6iqHeB8BuG4TM1H_czKBtd3vlWfV3BP0nSmfm6TiL9BDfKQlOjbRBYQL6_9NeQAearn7N2NO9J84Y3DosthTPybh7OQOJdzutyMRqNEL-xUkpZekCWYL6Tb/s400/ss.png" width="400" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com3tag:blogger.com,1999:blog-3055718448564179354.post-89924980743635149482013-03-02T23:10:00.000-08:002013-03-03T02:40:43.480-08:00More Secrets<div>
We've been messing around a lot with the lights. Terri and I dearly wanted them to use overlay blending and since the canvas doesn't support blending modes (<a href="http://www.w3.org/TR/compositing/" target="_blank">yet</a>) I wrote a function that does it manually. It turned out to be too slow to use in practice so for now, we'll use regular blending. The effect isn't nearly as cool but it works well enough.</div>
<div>
<br /></div>
<div>
If you look carefully, you can see a slight radial gradient on the secondimage that gives the impression that things get darker as they get further away from you.</div>
<div>
<br /></div>
<div>
For full info on what exactly this game is going to be, you'll have to wait another week or two. Until then, watch out for more teasers!</div>
<div>
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtNPhglciSRz8Ls2HphLrhCw-vQKyB0v9zgcEUnFIoUu3gB91EAM-VmaMrnBevVnziCPrp8XPjzXL-jabHinQGV0VN0FJyDh6Nl6VLiMSW6erYZu4xVxjbRQRO0EKJ97EJTdYq2whEoaab/s1600/gif1.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtNPhglciSRz8Ls2HphLrhCw-vQKyB0v9zgcEUnFIoUu3gB91EAM-VmaMrnBevVnziCPrp8XPjzXL-jabHinQGV0VN0FJyDh6Nl6VLiMSW6erYZu4xVxjbRQRO0EKJ97EJTdYq2whEoaab/s1600/gif1.gif" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Spontaneous dying</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp_5tIbE6tNjPI4wQsMOuTz81JdfzwCgBEUlsQALuFjFZha0DYeWGdflKKVY5TdyRCLWAUnfDtn3gB0uq0saoeFYRtKv6mu9Y7Fn5Bth7WbptfhwZLkzvAuFd6Bk9lUeEwRjI1gve5j2aG/s1600/ss1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp_5tIbE6tNjPI4wQsMOuTz81JdfzwCgBEUlsQALuFjFZha0DYeWGdflKKVY5TdyRCLWAUnfDtn3gB0uq0saoeFYRtKv6mu9Y7Fn5Bth7WbptfhwZLkzvAuFd6Bk9lUeEwRjI1gve5j2aG/s320/ss1.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Some variation in floor and wall tiles</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJr1BTMPSCk5Z7glb_-mHAldi8iugClxeqg2cCl8XOacriy2ENmCYraENIXUsQlY5vjJ5EgVlrbndP44r1LoJXgeh6mfdq-gnWfrptbULAMXnZ1XFGZ_q5DK_WWjQPbjfB-FCEdhPxlkwL/s1600/ss2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="217" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJr1BTMPSCk5Z7glb_-mHAldi8iugClxeqg2cCl8XOacriy2ENmCYraENIXUsQlY5vjJ5EgVlrbndP44r1LoJXgeh6mfdq-gnWfrptbULAMXnZ1XFGZ_q5DK_WWjQPbjfB-FCEdhPxlkwL/s320/ss2.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">A new character and different candle sprites</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggD9uiMPau44Ol6EuJfEiM7j1onei6fBOfWv7HAbdeB-a_nkEP7-q7iLHihyr1HXfKBCRZdiJZ-XZhvucxOfqKq18BtrwOyOFiqr3gddC61DZOt_zsEI2V3D2QAAmBTW2Hkkd0g4MHN_TR/s1600/ss3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="279" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggD9uiMPau44Ol6EuJfEiM7j1onei6fBOfWv7HAbdeB-a_nkEP7-q7iLHihyr1HXfKBCRZdiJZ-XZhvucxOfqKq18BtrwOyOFiqr3gddC61DZOt_zsEI2V3D2QAAmBTW2Hkkd0g4MHN_TR/s320/ss3.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Alright, who killed the new guy?</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHRNVQJ5l8lSjlMKQuUL1su68yKWryxBXiyPnIQup8wNnU8zGJB2Bz1ZZ_iaIluD4xNUyiRzJoNrXvF1WkQDwP8qhQ5aKBmeXxFAcBuHKj1jR5i361ibR1PfGj0TakMY-M6oPuwX8lR64x/s1600/ss4.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="227" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHRNVQJ5l8lSjlMKQuUL1su68yKWryxBXiyPnIQup8wNnU8zGJB2Bz1ZZ_iaIluD4xNUyiRzJoNrXvF1WkQDwP8qhQ5aKBmeXxFAcBuHKj1jR5i361ibR1PfGj0TakMY-M6oPuwX8lR64x/s320/ss4.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">What happens in fight dungeon, stays in fight dungeon!</td></tr>
</tbody></table>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com0tag:blogger.com,1999:blog-3055718448564179354.post-70172437500400691312013-03-02T03:29:00.001-08:002013-03-02T22:51:02.960-08:00Secret Project<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://terrivellmann.tumblr.com/" target="_blank">Terri </a>and I started on a new project yesterday. Not going to divulge anything about it right now but here are some teasers.</div>
<div style="text-align: left;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt-y_N8he-MQubv8tuLvnjxswOralbFJ8CwlavmH_7yeys3OVLOG8qeTV6iyjVh5qK5Zlxyn5PR_kc7BSVyqnB55OXMLOdMmWkh6gQXY-BedfoH3cCnjzdaL1cLkQN2oj88JKIt6QTnEs3/s1600/gif1.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt-y_N8he-MQubv8tuLvnjxswOralbFJ8CwlavmH_7yeys3OVLOG8qeTV6iyjVh5qK5Zlxyn5PR_kc7BSVyqnB55OXMLOdMmWkh6gQXY-BedfoH3cCnjzdaL1cLkQN2oj88JKIt6QTnEs3/s1600/gif1.gif" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Bobblehead Running</td></tr>
</tbody></table>
</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgraKkib4wAmj5L_dWrBXEtk5JJIwF4qayAmSGQ2MQYVHqL96Lq2utNetDd1DuN5OrNFaEb6tflHPSeWMyKQO6iD-bCDJ-hzC9N4msur3xDD1FRjLItO1-pyd6slSWClp1UjFRwFQSQqmIS/s1600/ss1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgraKkib4wAmj5L_dWrBXEtk5JJIwF4qayAmSGQ2MQYVHqL96Lq2utNetDd1DuN5OrNFaEb6tflHPSeWMyKQO6iD-bCDJ-hzC9N4msur3xDD1FRjLItO1-pyd6slSWClp1UjFRwFQSQqmIS/s320/ss1.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Testing out different tiles</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOunZFs9uY6UB-pAw1UL7ySsmjHQ3XY-PGA5mfnT0KONWjDxSrmf3bgqHU1HnKt9qDEFVNhyphenhyphen4sUCRdALS3bQJM2uswGB_r9jhcEwTHZUCma4jevWeoypZ4FtJJmpH_T1F9edkNoiSHUSe6/s1600/ss2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOunZFs9uY6UB-pAw1UL7ySsmjHQ3XY-PGA5mfnT0KONWjDxSrmf3bgqHU1HnKt9qDEFVNhyphenhyphen4sUCRdALS3bQJM2uswGB_r9jhcEwTHZUCma4jevWeoypZ4FtJJmpH_T1F9edkNoiSHUSe6/s320/ss2.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Tiles are tinted randomly at generation time</td></tr>
</tbody></table>
Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com0tag:blogger.com,1999:blog-3055718448564179354.post-20709488874859529552013-02-28T05:04:00.002-08:002013-10-01T23:12:14.799-07:00Morf Feedback<br />
<b>EDIT: </b>Morf has moved to a new home, <a href="http://bigbadwofl.me/Games/Morf/" target="_blank">you can play it here</a>.<br />
<br />
As mentioned in my previous post, I've been taking a little break. After releasing <a href="http://bigbadwofl.blogspot.com/2013/02/play-morf-now.html" target="_blank">Morf </a>I've been pretty tired. Finishing games is hard and what's even worse is when you think it's all over, you release your game to the public and get so much feedback that there's a whole new list of things you still need to do.<br />
<br />
Morf is 100% playable now and is pretty well balanced (I believe) but I still don't feel that I can feel comfortable in 'never' working on it again. But at the moment, I believe working on it wouldn't serve a real purpose. The impact has been made and simply modifying a few little things won't result in anything major. I will however get back to it in a few months and when I do, not only will I make the last few enhancements and fix the last few bugs, I will also add that last bit of sparkle the game needs (Think locked doors, traps and bossfights).<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRHRwfE1I427YPxSlwHdtdt2CH3ax7MAoNzkznzi0tOvCxM-L7I3Oiq9QxDZvgPMAuWglxdDVA3O4_NCEeF_s1_nbNAv-goZ_xFdKPRlxWkLamGc1-GsTJ8cZsrNb9UvRv8dkNRpkjMJxY/s1600/morf.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="264" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRHRwfE1I427YPxSlwHdtdt2CH3ax7MAoNzkznzi0tOvCxM-L7I3Oiq9QxDZvgPMAuWglxdDVA3O4_NCEeF_s1_nbNAv-goZ_xFdKPRlxWkLamGc1-GsTJ8cZsrNb9UvRv8dkNRpkjMJxY/s320/morf.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Humble Beginnings</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHMTc0jKXgGdfB9l_loneROQkjsr8xImLNdCum-lNDrVFfeluTXEFYrn-OOb5IO_Q4TBWnHc5uOvj2mptZpl2CwbSo978_m_6tJuSZgYCh3fO4qgowbpRfsBk1WkdfVzEkPgpKYJ9PQzBp/s1600/morf+ss.png" imageanchor="1" style="margin-left: auto; margin-right: auto; text-align: center;"><img border="0" height="264" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHMTc0jKXgGdfB9l_loneROQkjsr8xImLNdCum-lNDrVFfeluTXEFYrn-OOb5IO_Q4TBWnHc5uOvj2mptZpl2CwbSo978_m_6tJuSZgYCh3fO4qgowbpRfsBk1WkdfVzEkPgpKYJ9PQzBp/s320/morf+ss.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Morf Today</td></tr>
</tbody></table>
<div style="text-align: center;">
<br />
<div style="text-align: left;">
Before I move on, I'd like to go over some of the feedback I received. Firstly, I was quite lucky to get featured on a few sites:</div>
</div>
<br />
<ul>
<li><a href="http://www.freeindiegam.es/2013/02/morf-big-bad-wofl/">http://www.freeindiegam.es/2013/02/morf-big-bad-wofl/</a></li>
<li><a href="http://www.pcgamer.com/2013/01/11/the-free-webgame-round-up-17/">http://www.pcgamer.com/2013/01/11/the-free-webgame-round-up-17/</a></li>
<li><a href="http://www.pcgamer.com/2013/02/22/the-free-webgame-round-up-23/">http://www.pcgamer.com/2013/02/22/the-free-webgame-round-up-23/</a></li>
<li><a href="http://www.flashmush.com/2013/02/morf-flash-game-review.html">http://www.flashmush.com/2013/02/morf-flash-game-review.html</a></li>
<li><a href="http://indiestatik.com/2013/02/17/spiders-and-goblins-and-rats-oh-my-play-morf-play-morf-play-morf-now/">http://indiestatik.com/2013/02/17/spiders-and-goblins-and-rats-oh-my-play-morf-play-morf-play-morf-now/</a></li>
</ul>
<br />
As for comments, I've added a list of my favourite ones to the bottom of this post. I found it quite hard trying to sift through comments without any prior knowledge about the person making them. A lot of people had issues with understanding the interface which <a href="http://terrivellmann.tumblr.com/" target="_blank">Terri </a>and I thought was pretty intuitive. As you'd expect when masses of people play a roguelike, there were complaints of it being too difficult.<br />
<br />
This leaves the question. How do you establish to what extent someone's critique should be taken to heart? Many people felt that the UI <i>was </i>intuitive and that the game was too <i>easy</i>. I can simply hope that this is a skill I'll develop in time.<br />
<br />
All in all I am very happy with how the game turned out. To think, the main game mechanic is something I stumbled upon due to a funny bug in my code. I'd like to thank Terri again for the amazing work he did on the art and also thank my fiancé who always serves as my motivator, brainstorming partner and person who doesn't get sick of me typing little words into my computer in the hope that it'll turn into something cool.<br />
<br />
This weekend, Terri and I will be reviving an old project of mine. Check back after the weekend when there might be a few screenshots of it.<br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">The game feels super polished and the UI is really awesome. I think I need to spend more time to figure out how the morphing things work. Great works!</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">Fun game! Made it down to 17 floor.</span></span><br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">It's a fun game first time around, i like that. Usually hard to do for roguelies.</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">I really like your game. I've been burned by things calling themselves roguelikes in the past but this game was definitely something I could see my self diving into.</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">since the difficulty was lowered there are some neat things on the lower levels and things change enough to keep it interesting. still playing through and on about level 8, almost died once or twice after some blunders. I still wouldn't call it easy, which is good because a challenge is still nice. I'm curious as to what's awaiting further on.</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">Cool game. I love the web interface and the fact that you are trying some fresh new ideas. The morphing is a neat mechanic.</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">Hey! Great game i am loving it so far. If you do some final touches i would greenlight and buy it off steam :)</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">Hey DavianBlack this game is pretty addicting and awesome, I like the simple design.</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">Good stuff, interesting gameplay. Found myself planning my morphs about 3 enemies in advance trying to make sure I ended up in a Druid.</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">I havent played it more than 5 minutes by now, but it sure is one of the best looking roguelikes out there! Stylized graphics and a clear and intuitive interface.</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">The morph mechanic is really cool, good job. I really like how each "class" has a very different playstyle and you must plan your attacks to change your playstyle on the fly. e.g start as rat, see spider, 2 wanderers and a druid. Bite first wanderer, attack to death, morph, shockwave spider, kill, morph, escape using spider web, run around using web while picking off druid, morph to druid, use druid heal, kill wanderer. Actual scenario.</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">I found myself saying "wow, this feels as frantic as FTL...oh wait, FTL is a roguelike" lol but this is truly fun, i've played about 5 or 6 lives and have enjoyed each. i'll check back and play it some more later. great job!</span></span><br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">edit: after googling around i found some of the classic roguelikes and yours feels a lot more accessible to someone who is unfamiliar with the genre. Win7 + Chrome btw, works great.</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">I'm not really into most roguelikes, but from the 5 minutes I played, I thought you did a really good job on the level generation. I also like that there are often a few more enemies on screen, in the distance, that haven't heard you yet, so you know what your next fight is going to be.</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">Digging it! It's a lot of fun, I sent it to a friend or two as well. Good work! It's addicting, so I guess that means you win :)</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">This is actually a really interesting roguelike, I like the idea of swapping between forms to survive, although it does seem to be a bit hard to actually gain back health (with being a druid, drinking from a fountain, and potions being the only way as far as I can tell) but I might just be bad at the game.</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">I'm really digging it, and I think that the game is pretty self-explanatory if you pay attention and experiment a little, you shouldn't have to dumb it down or clutter the UI with messages and tutorials to capture the more casual/3-second attention span players.</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">I found the interface pretty self explanatory.</span></span><br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">seriously, the first thing you do when you start a game is check out the interface. Literally 10 seconds of this will show you that you have an active ability, and inventory, and inventory slots. The morphing is similarly straightforward. If a player doesn't immediately realize he morphs into what he kills, then he has bigger problems...</span></span><br />
<br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;">A very nice central game mechanic. I played for about 30 minutes.</span></span>Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com1tag:blogger.com,1999:blog-3055718448564179354.post-39031475869871893622013-02-22T04:24:00.000-08:002013-02-25T22:17:43.643-08:00Random World Generator<div class="separator" style="clear: both; text-align: left;">
These last few days, I've been taking a short break from hardcore gamedev. During this time I've been messing around with a terrain generator in JavaScript.</div>
<br />
I'll be writing a tutorial on some of the techniques used here soon but until then, here are some screenshots. I took a screenshot after every major change so you can track the progress and the steps that were taken fairly well.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtRHxLr7m-uGrkCCfI6noM99yjo6YyvgUfDyk29oTbzhoCZq8eGF0ebLUgL-nXBI9GbP8kwlwEh_7C0uDPWd2WnZyxD8PatLOONmKb7tuYkL0tyGt01i-2CKtVBMm6CJ6pY4uLxItzr3OP/s1600/1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtRHxLr7m-uGrkCCfI6noM99yjo6YyvgUfDyk29oTbzhoCZq8eGF0ebLUgL-nXBI9GbP8kwlwEh_7C0uDPWd2WnZyxD8PatLOONmKb7tuYkL0tyGt01i-2CKtVBMm6CJ6pY4uLxItzr3OP/s320/1.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Basic terrain generation using 3 different Perlin values per tile.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbEe5o-3WF_5apILoPE6EMNCJLFdNpa4fzHYJWqOSO6oOcFBcqJn3JyJfwMpIb4h5fha9ojSqxnkHbqAVOIiVtxm1U8c1_s2DbF8G4R9rgaxHZeZ3q0SJQHDUaOS_BrRhhcI06-gIAlVl-/s1600/2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbEe5o-3WF_5apILoPE6EMNCJLFdNpa4fzHYJWqOSO6oOcFBcqJn3JyJfwMpIb4h5fha9ojSqxnkHbqAVOIiVtxm1U8c1_s2DbF8G4R9rgaxHZeZ3q0SJQHDUaOS_BrRhhcI06-gIAlVl-/s320/2.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Modified water depth falloff .</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoHTp3ejiU1Q0kaXrzASEisK5PX6ubkOQcale6nCjhgZLE2cDEm_424HKVlbbBuI5dRSNKh2Mw71NrgvyHDnuPFX57pPXP4mLbQqiYY5LxZzKY3PZyBQGd-i_DDZrlLDODFqB-O4ws6LnE/s1600/3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoHTp3ejiU1Q0kaXrzASEisK5PX6ubkOQcale6nCjhgZLE2cDEm_424HKVlbbBuI5dRSNKh2Mw71NrgvyHDnuPFX57pPXP4mLbQqiYY5LxZzKY3PZyBQGd-i_DDZrlLDODFqB-O4ws6LnE/s320/3.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Added beaches.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNL4JzLeSOt6_Z83JLq6SnfmhgbSj98NP5gCO8oGfIJzz1fld456M6mZ9KZVjhEhzpLw9x6JsPEiocEJUPY99YNZUABrnr32wisRzzo1kfuJPgSZCqNxDgo9LFuq5djzYDWqQwk6AByxkV/s1600/4.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNL4JzLeSOt6_Z83JLq6SnfmhgbSj98NP5gCO8oGfIJzz1fld456M6mZ9KZVjhEhzpLw9x6JsPEiocEJUPY99YNZUABrnr32wisRzzo1kfuJPgSZCqNxDgo9LFuq5djzYDWqQwk6AByxkV/s320/4.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Smoothed out the Perlin noise and enhanced the water falloff further.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvvrILOO8edm0WWb3E7jkW3hEr9AwtM0gkXncp8X1ZgPiTi1nOyaDxeUCFFoZ_sonUwUY-qh1kwrwTIN8Ui1yqXtK5GNNxj8I8rgRRAGpKi8MwTwfK_T5IEJl1IMB0s5iGcSqqmVHiGNTt/s1600/5.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvvrILOO8edm0WWb3E7jkW3hEr9AwtM0gkXncp8X1ZgPiTi1nOyaDxeUCFFoZ_sonUwUY-qh1kwrwTIN8Ui1yqXtK5GNNxj8I8rgRRAGpKi8MwTwfK_T5IEJl1IMB0s5iGcSqqmVHiGNTt/s320/5.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Implemented a basic occlusion shader.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbyOu-sSzaP5rJF7qqqi0e7dIvaX0AJOuPDdpwlw3A9NmncYB8cfm-_xa9qCma1W5JNAmJMIbhHQ9u5CWxRdgJ49Y0jp5ju0_nbKRUHWhzMJFJ2cGOaTreJXDDCzTs7xaSMC4LEbfbk5s3/s1600/6.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbyOu-sSzaP5rJF7qqqi0e7dIvaX0AJOuPDdpwlw3A9NmncYB8cfm-_xa9qCma1W5JNAmJMIbhHQ9u5CWxRdgJ49Y0jp5ju0_nbKRUHWhzMJFJ2cGOaTreJXDDCzTs7xaSMC4LEbfbk5s3/s320/6.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Enhanced the shader.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeF6UDkB740VVpyr_AVf46w91OLesSZbwo2NilTqjT1-MD_2eP3v9iWawFxeuiuxlXoGMyi4SY_e-ysM6kmxQCJKR__yJv_zSkI4KKtUaz1zlMjLQlUmCmtS-DfJHMBRmiUbtWsvMTagny/s1600/7.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeF6UDkB740VVpyr_AVf46w91OLesSZbwo2NilTqjT1-MD_2eP3v9iWawFxeuiuxlXoGMyi4SY_e-ysM6kmxQCJKR__yJv_zSkI4KKtUaz1zlMjLQlUmCmtS-DfJHMBRmiUbtWsvMTagny/s320/7.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Implemented full ambient occlusion in the shader.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgba0X7lnuIgWXem0q7P68FXJEZutI01NbgW6EbU6Hlp2yeikr0MVbfWNdR-wWLATdbYnSvNMgqaXvfnIDS9KujGAGNZRKsosuOhsm6EPRyuYFe30DKmfhFAix9u9Z_drWsGSdOAtucEdcv/s1600/8.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgba0X7lnuIgWXem0q7P68FXJEZutI01NbgW6EbU6Hlp2yeikr0MVbfWNdR-wWLATdbYnSvNMgqaXvfnIDS9KujGAGNZRKsosuOhsm6EPRyuYFe30DKmfhFAix9u9Z_drWsGSdOAtucEdcv/s320/8.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Modified the water depth falloff even further.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEBF5JwYHFRfNohFClv77YKOG8219DpJYxiB2Uu2THGF1TxIxkO29erpq-GHqcYRFMeY9x_covJyEuwDpgInQq2stdvySJPRu3SvzuX9rZLX4Q3MKvItg0CGFiVHVclWJADgBPm69aO-JX/s1600/9.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEBF5JwYHFRfNohFClv77YKOG8219DpJYxiB2Uu2THGF1TxIxkO29erpq-GHqcYRFMeY9x_covJyEuwDpgInQq2stdvySJPRu3SvzuX9rZLX4Q3MKvItg0CGFiVHVclWJADgBPm69aO-JX/s320/9.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Added color interpolation for the heightmap and scaled terrain.
</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoXRBIEqco8Bub1x11MUaDKNN9_wGmmaCsQCYmPyzbtKnRmYzCbf6GUMnnUT-Grt17W10UxlAVD_NVqBFAZWLvNyqWty66mu28ooObKgO84ejvGSFE2Uygey_l5Ol6NGU2RxcEIhiiOQ61/s1600/10.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoXRBIEqco8Bub1x11MUaDKNN9_wGmmaCsQCYmPyzbtKnRmYzCbf6GUMnnUT-Grt17W10UxlAVD_NVqBFAZWLvNyqWty66mu28ooObKgO84ejvGSFE2Uygey_l5Ol6NGU2RxcEIhiiOQ61/s320/10.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Just a test to see what it would look like without an ocean.</td></tr>
</tbody></table>
Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com4tag:blogger.com,1999:blog-3055718448564179354.post-7936078262536444082013-02-21T06:26:00.001-08:002013-02-21T06:26:31.952-08:00Morf is back!Just a quick note to anyone who noticed that the link for Morf stopped working. I had some issues with hosting (i.e. they took down my site after noticing you lot used 320% of my total bandwidth). I've rehosted on a bigger package and Morf is ready to play again.<br />
<br />
Here's the link again: <a href="http://bigbadwofl.net/games/Morf/">Clickety click!</a>Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com0tag:blogger.com,1999:blog-3055718448564179354.post-65690071555947962082013-02-19T07:54:00.000-08:002013-07-25T00:05:45.769-07:00Random River GenerationA few weeks ago, I did a tutorial on <a href="http://bigbadwofl.blogspot.com/2012/12/random-dungeon-generation.html" target="_blank">generating random dungeons</a>. Today I'll continue the 'tradition' and show you a nifty way of generating random rivers or roads. You can see a modified version of the algorithm running here: <a href="http://bigbadwofl.me/Games/Generators/Path%20Generator/" target="_blank">River Generator</a>.<br />
<div>
<br /></div>
<div>
To complete this tutorial you'll need a noise generator (Perlin, Simplex, Voronoi, etc...) as well as an implementation of the A* algorithm (or something similar).</div>
<div>
<br /></div>
<div>
<u><b>Step 1</b></u></div>
<div>
<u><b><br /></b></u></div>
<div>
Generate a tile map. The map should be as big as the bounding box that encapsulates your path. That is, if your path stretches from [10, 10] to [110, 110], your tile map will be 100 x 100.</div>
<div>
<br /></div>
<div>
<b><u>Step 2</u></b></div>
<div>
<b><u><br /></u></b></div>
<div>
Populate your map with random values based on whichever noise function you chose. Note that you can simply make it completely random but for best results, don't. In this screenshot, I've used Perlin noise to generate a map which I then drew by interpreting each cell's value as the green value.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdjwG1WV6U8OwqpP6ie0rODF0tF40vJTF-xwDsHbiuYW7dzO-CUnTnt89JC1IF1COZgTUV8jwM1zFmFg3tvDRP5DfAwd_5XkOhPSv62e4d22_hKXd7y4Xcvv1EwfBcgteKoXdYTgoKmWqn/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdjwG1WV6U8OwqpP6ie0rODF0tF40vJTF-xwDsHbiuYW7dzO-CUnTnt89JC1IF1COZgTUV8jwM1zFmFg3tvDRP5DfAwd_5XkOhPSv62e4d22_hKXd7y4Xcvv1EwfBcgteKoXdYTgoKmWqn/s320/1.png" width="250" /></a></div>
<div>
<br /></div>
<div>
<b><u>Step 3</u></b></div>
<div>
<br />
This is the important bit: Set up your A* function to calculate the F costs (distance from your source to your target, where the source is our river's starting point and the target is your river's endpoint) to include each cell's random value. Each cell's F cost will be equal to: distance to the target + cell's random value.<br />
<br />
<b><u>Step 4</u></b><br />
<b><u><br /></u></b>
Using your AI, build a path between the two points. Because we used the noise function to influence our F costs the path will be interesting and unique, rather than straight and boring.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid9A-n0t2-hq2SQD-s-vJCNaB8NeQ1CMshO6w1fcysScv5T_FC30bNk1WJyH8XEGqhngtrxXMOIU-n2VGuHXbC4YojSEG0YItw2H9BDtHaoILMDRyeyWCCPq2p4KrUH-2w_PEf3ixJO8nn/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid9A-n0t2-hq2SQD-s-vJCNaB8NeQ1CMshO6w1fcysScv5T_FC30bNk1WJyH8XEGqhngtrxXMOIU-n2VGuHXbC4YojSEG0YItw2H9BDtHaoILMDRyeyWCCPq2p4KrUH-2w_PEf3ixJO8nn/s320/2.png" width="250" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u>Further Steps</u></b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; text-align: left;">
You can also implement a little recursive function that will 'fill' an area where the river ends by interpreting the height at the endpoint and making the water tile overflow onto any tiles that are lower than your initial tile.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
If you have any further questions, feel free to leave a message.</div>
</div>
Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com3tag:blogger.com,1999:blog-3055718448564179354.post-91060551467239688792013-02-16T04:12:00.001-08:002013-07-25T00:00:54.475-07:00Play Morf Now!<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1GXT7LDr4Fwg_J8Du0MPPAeu59PmbipSXcwggX5cdW6rLcstWm_JZKASEeNFVP0WjG3YjIk2upyiS817oG6SfJeWF_hmQnwrprR9WAXIyF7h9P-uLRhk54vtxVZGDSUJu192QjQ0J9Yeg/s1600/Morf+Logo.png" imageanchor="1" important="" none="" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1GXT7LDr4Fwg_J8Du0MPPAeu59PmbipSXcwggX5cdW6rLcstWm_JZKASEeNFVP0WjG3YjIk2upyiS817oG6SfJeWF_hmQnwrprR9WAXIyF7h9P-uLRhk54vtxVZGDSUJu192QjQ0J9Yeg/s320/Morf+Logo.png" style="-webkit-box-shadow: none !important; background-color: transparent !important; border: none !important; box-shadow: none !important;" width="500" /></a></div>
<br />
<a href="http://bigbadwofl.me/Games/Morf" target="_blank">PLAY MORF NOW</a><br />
<br />
As promised, the moment is here. After what proved to be much more work than anybody ever imagined, Morf has been released. Before I go on I need to thank <a href="http://terrivellmann.tumblr.com/" target="_blank">Terri Vellmann</a> for all the amazing artwork.<br />
<br />
Morf has been in development for quite some time now and even though I believe there might still be some balancing issues, it's pretty much complete. If any of you should stumble across any bugs, I'd very much appreciate it if you could leave a comment here about it.<br />
<br />
<a href="http://bigbadwofl.me/Games/Morf" target="_blank">PLAY MORF NOW</a>Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com5tag:blogger.com,1999:blog-3055718448564179354.post-71320696195675239052013-02-10T08:35:00.003-08:002013-02-10T08:36:25.047-08:00Morf, JavaScript and Laziness<span style="font-family: inherit;">First off, let me begin by saying that Morf will be released very soon. We still have some polishing and balancing to do, but the final release will be out by next Saturday (16th of February). The final version will consist of 20 levels, 5 different level themes, 20 monster types and over 50 items. While you wait, feast your eyes on a screenshot of me playing through endgame content:</span><br />
<span style="font-family: inherit;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjquLRna6lSu-W-avbb4eP-UQFpAraS1Hc2GWzDmz9SWFGXUwrO68H50YCBkH0RKpEJa-hujn3g8_oMQcCRrpb4lYFCaR0p-U1A8tgFCM7zdww9bZlydA8Jpl6IzIrIHcZ77XdCqhVpRdV_/s1600/morf+ss.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjquLRna6lSu-W-avbb4eP-UQFpAraS1Hc2GWzDmz9SWFGXUwrO68H50YCBkH0RKpEJa-hujn3g8_oMQcCRrpb4lYFCaR0p-U1A8tgFCM7zdww9bZlydA8Jpl6IzIrIHcZ77XdCqhVpRdV_/s320/morf+ss.png" width="500" /></a></div>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">Now, allow me to apologize for my absence. Lots of factors contributed to me being too busy to post; day-job stuff, gamedev stuff and my laziness being the largest of those. But nevertheless, I'm back to let you know what I've been up to.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">When I started Morf I didn't have a very comprehensive vision of where the game was going (as is mostly the case when I start a game) and as a result of that, lots of the code was not generic enough to suit the growing needs <a href="http://terrivellmann.tumblr.com/" target="_blank">Terri</a> (my artist and teammate) and I have for the game. Specifically, I'm talking about how monster abilities and items are defined.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">The amount of monster types and items that need to be defined started to really become an issue. In the original engine, I would define an item something like this:</span><span style="font-family: inherit;"></span><br />
<pre nbsp="" style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5cJe6PPf73vpTCk822wp__qvIaZaPkYb3ILjTTjDoHNvwlrEUF5Hnsde7zZ2RZwJwah7ESDnJ8iWzyGrrq8Py3I5zqnFagmYlh2XLASe7VpQa9aFNKaOh72XmzhbvxCGklZm_jPuYbHB-/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><span style="font-family: inherit;"><code style="color: black; word-wrap: normal;"> add_item(name, model, handler, targeting, value1, value2, type, position); </code></span></pre>
<span style="font-family: inherit;">
</span>
<br />
<span style="font-family: inherit;">And every few days I needed a new parameter passed to the Item object, making the syntax bulkier and bulkier. Not to mention trying to modify any of those values when you have a list of 40 of those declarations were a massive pain. So, I took all the data and put it into a neat document and wrote a parser for it. JavaScript's <a href="http://en.wikipedia.org/wiki/Duck_typing" target="_blank">Duck typing</a> made this really easy to do. Now, I can easily define items and monsters like this:</span><br />
<pre nbsp="" style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5cJe6PPf73vpTCk822wp__qvIaZaPkYb3ILjTTjDoHNvwlrEUF5Hnsde7zZ2RZwJwah7ESDnJ8iWzyGrrq8Py3I5zqnFagmYlh2XLASe7VpQa9aFNKaOh72XmzhbvxCGklZm_jPuYbHB-/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> weapon
name|steel axe
%damage|6
%durability|5
%min_lvl|5
%max_lvl|8 </code></pre>
<br />
And the best part is, I can extend the document format and the parser would simply add the new properties to objects due to the fact that you can do this in JavaScript:<br />
<pre nbsp="" style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5cJe6PPf73vpTCk822wp__qvIaZaPkYb3ILjTTjDoHNvwlrEUF5Hnsde7zZ2RZwJwah7ESDnJ8iWzyGrrq8Py3I5zqnFagmYlh2XLASe7VpQa9aFNKaOh72XmzhbvxCGklZm_jPuYbHB-/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> object[property] = value; </code></pre>
<br />
This simple fact alone has been the reason I am starting to love developing games in JavaScript more and more. But I'm rambling.<br />
<br />
Check back next weekend and you'll be able to check Morf out for yourself!Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com2tag:blogger.com,1999:blog-3055718448564179354.post-45514148326283619062013-01-24T04:11:00.000-08:002013-01-24T04:12:18.717-08:00Well, would you look at that<span style="color: #ffe599; font-size: large;"><a href="http://bigbadwofl.net/games/roguelike/">Play Morf</a></span><br />
<br />
Nearly a week has passed since my last post and the amount of work <a href="http://terrivellmann.tumblr.com/" target="_blank">Terri</a> and I have done amazes me. This will be old news to those of you who are working alongside an artist already but, for those of you who have yet to experience it: Working with an artist like Terri is motivating for two reasons. firstly because you get to develop in an awesome environment (sans programmer art) and secondly, because during those times when you feel demotivated or bored with something, you know your artist has some assets waiting. Waiting for <i>you</i> to finish the code.<br />
<br />
It would be humanly impossible for me to list all the things that have changed since the last post but I'll try listing the bigger ones again:<br />
<br />
<ul>
<li>Tooltips using custom 'font'</li>
<li>Wall Sprites</li>
<li>Water and Lava</li>
<li>Health and Mana Fountains</li>
<li>Enhanced Dungeon Generator (Makes dungeons more fun)</li>
<li>Over 20 new items</li>
<li>4 new classes</li>
<li>Ranged spells</li>
<li>Weapon and Armor durability</li>
<li>Mob scaling</li>
<li>Loading and Death screens</li>
<li>That's enough, isn't it? Go on, get playing!</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQJw4udDHzqB1ZwGO71p53ynrSn-5FI9dCoEW6c0uw7xaq61boODl-tO56tzGwzC03nO6P2xBk70wCW6BbqXTIiu7b_sqnNckmNXJ8Mp3BIZskRKqtvraMaxgXeoOoowBW86t39BX-KyEY/s1600/ss1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQJw4udDHzqB1ZwGO71p53ynrSn-5FI9dCoEW6c0uw7xaq61boODl-tO56tzGwzC03nO6P2xBk70wCW6BbqXTIiu7b_sqnNckmNXJ8Mp3BIZskRKqtvraMaxgXeoOoowBW86t39BX-KyEY/s320/ss1.png" width="390" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggrvyKym9HeVfUt9ej6c_psriROB-0rXVac71FMhbVZE-mIh28K750F23x2eEqo1H5A-VkhOyr48MqtbxELWzeAsUL8RC6Lc4vfiK3VyX-eME0s3OLSbG8GPGcydQut-JHDlPug9Xucxp7/s1600/ss2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggrvyKym9HeVfUt9ej6c_psriROB-0rXVac71FMhbVZE-mIh28K750F23x2eEqo1H5A-VkhOyr48MqtbxELWzeAsUL8RC6Lc4vfiK3VyX-eME0s3OLSbG8GPGcydQut-JHDlPug9Xucxp7/s320/ss2.png" width="390" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="http://bigbadwofl.net/games/roguelike/" style="font-size: x-large;">Play Morf</a></div>
Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com4tag:blogger.com,1999:blog-3055718448564179354.post-50397990531641631682013-01-18T02:59:00.002-08:002013-10-01T23:12:39.928-07:00Morf: Alpha Version<a href="http://bigbadwofl.me/Games/Morf/"><span style="color: #ffe599; font-size: large;">Play Morf</span></a><br />
<br />
This has been an interesting week for me. After quite a bit of feedback from Reddit on the previous version of Morf, I've had to swallow my pride and make changes to the game that I wouldn't have made otherwise only to find that after a while, the overall feel of the game was improving drastically.<br />
<br />
I think I can say that I've learned my lesson now. I'm pretty sure I'll never get to a point where I can just take negative criticism without losing a beat but I can now see the usefulness of morphing (as it were) negative comments into something positive you can use to your advantage.<br />
<br />
Another good thing that came out of this week: I now have a <a href="http://terrivellmann.tumblr.com/" target="_blank">pixel artist</a> working with me on Morf. The request came out of the blue and I am very thankful for it. The game feels so much more immersive now and knowing that the burden of dealing with the artsy aspect of the game has been lifted, I feel so much more driven to continue work on it.<br />
<br />
As for changes, there are quite a few and as usual, you can press F during gameplay to see the full changelog. Here are the most notable changes:<br />
<ul>
<li>Added new sprites</li>
<li>Wooden and Iron Chests have been replaced with Bags and Silver Chests</li>
<li>Mobs can now drop Bags and Keys</li>
<li>Gold chests require keys to unlock</li>
<li>Added dungeon decorations (rocks, skulls and lights)</li>
</ul>
<div>
<br /></div>
<div>
Next, I need to start work on creating more trinkets, especially ones that will allow you to cast spells (fireball, heal, shield, etc...)</div>
<div>
<br /></div>
<div>
Lastly, here's a screenshot of the new look thanks to the wonderful art done by <a href="http://terrivellmann.tumblr.com/" target="_blank">Terri Vellmann</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixqEdBKrC35jkOjTl5aSiPfGqzbgit1DlV7u2bJsL9wGmHkKu1APb0qJZxXMoZlfXask2YCYWFOO7Ho2P-8beVukkASJIa1FHAagQhpjBsX7M8FHyimlkbHyJ526KgLbcyl0_vL-Wz8pel/s1600/ss1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixqEdBKrC35jkOjTl5aSiPfGqzbgit1DlV7u2bJsL9wGmHkKu1APb0qJZxXMoZlfXask2YCYWFOO7Ho2P-8beVukkASJIa1FHAagQhpjBsX7M8FHyimlkbHyJ526KgLbcyl0_vL-Wz8pel/s320/ss1.png" width="390" /></a></div>
<br />
<br />
<a href="http://bigbadwofl.net/games/roguelike/"><span style="color: #ffe599; font-size: large;">Play Morf</span></a></div>
Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com1tag:blogger.com,1999:blog-3055718448564179354.post-82645327869147660342013-01-11T03:52:00.000-08:002013-09-20T06:13:58.643-07:00Morf<a href="http://bigbadwofl.net/games/roguelike/"></a><br />
<a href="http://bigbadwofl.me/Games/Morf/" target="_blank"><span style="color: #ffe599; font-size: large;">Play Morf</span></a><br />
<br />
Hey! Thanks for your interest in Morf, my roguelike. The game has moved to a new location and you can just click on the link above to navigate to it.<br />
<br />
While you're at it, check out some of my other games at <a href="http://www.bigbadwofl.me/" target="_blank">here</a>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDB7N2_cELch_Y7u0oQXw33DMPEesyTJHajZKamdemCUnRA1KqcBprDHxiNLFNKJZFq44dC0822O8krNifdFYQGAgnO1kWw15VKN-xoslNPD5Jm1KtLO5CUVUBOTUwhgBLx2svS4mpo-FJ/s1600/ss.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDB7N2_cELch_Y7u0oQXw33DMPEesyTJHajZKamdemCUnRA1KqcBprDHxiNLFNKJZFq44dC0822O8krNifdFYQGAgnO1kWw15VKN-xoslNPD5Jm1KtLO5CUVUBOTUwhgBLx2svS4mpo-FJ/s640/ss.png" width="500" /></a></div>
<br />Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com3tag:blogger.com,1999:blog-3055718448564179354.post-30648209570049740542013-01-07T04:56:00.001-08:002013-01-07T05:01:44.852-08:00The Official Website is up!<h2>
<a href="http://www.bigbadwofl.net/" target="_blank"><span style="color: #ffe599;">Here's the link. Go on, click it!</span></a></h2>
The last week, I've been spending some time getting all my scattered info, screenshots and code together and made a pretty website where you can easily check the state of my projects.<br />
<br />
Don't worry though, the blog will still be your main source of getting up to date information on what crazy things I've been keeping myself busy with and on that note, you can expect a post on my One Game a Month: January game soon.Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com1tag:blogger.com,1999:blog-3055718448564179354.post-51792312776267972382012-12-27T22:41:00.000-08:002012-12-27T22:41:24.291-08:00Terrain Coloring and Trees<div class="separator" style="clear: both; text-align: left;">
I'm back from my mini holiday and I hope everyone had a wonderful Christmas. Since I've been back the engine has changed quite a bit:</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul>
<li>Chunk generation/shading sped up to 200 per second</li>
<li>Terrain is now colored randomly</li>
<li>Random (if only a bit) trees</li>
</ul>
<div>
Lastly, I also enhanced the terrain generation algorithm. Previously, the heightmap was calculated with only one random Perlin Noise sample whereas the new algorithm uses three. The methodology behind it is slightly similar to how Minecraft used to do it in the olden days.</div>
<div>
<br /></div>
<div>
I generate three Perlin values called Elevation, Roughness and Detail:</div>
<div>
<ul>
<li>Elevation is very smooth (zoomed in) and decides the overall shape of the terrain</li>
<li>Roughness is a bit less smooth and adds in some mountains and valleys</li>
<li>Detail is a close-up sample and makes the terrain a bit more interesting</li>
</ul>
<div>
The three values are then combined like this: </div>
<div>
<ul>
<li>((elevation * roughness) * 32) + (detail * 8) - 8</li>
</ul>
</div>
</div>
<div>
Doing this gives much more interesting terrain but it will have to be replaced in the near future to allow for overhangs and more unique landmasses. To achieve this, I could use Simplex Noise but I'm not too happy with my implementation of Simplex at the moment as it takes much, much longer to execute than even numerous Perlin samples.</div>
<div>
<br /></div>
<div>
And now, screenshots!</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4EqOLcXXVVi6hhXR7cpeACySRIJzgbaoqhKCb0vfGIpZ0iVFknKv6yis1a6xJBs7gSTKZmwS-UjsgXBbz7C5FZ2ljPzF9tzQE7I43mD2VqeOBzzcUioFJhdlJdvPOPc4R8hdAJbQYUoXU/s1600/Project+Voxel+2012-12-27+20-23-12-47.png" imageanchor="1"><img border="0" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4EqOLcXXVVi6hhXR7cpeACySRIJzgbaoqhKCb0vfGIpZ0iVFknKv6yis1a6xJBs7gSTKZmwS-UjsgXBbz7C5FZ2ljPzF9tzQE7I43mD2VqeOBzzcUioFJhdlJdvPOPc4R8hdAJbQYUoXU/s320/Project+Voxel+2012-12-27+20-23-12-47.png" width="500" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFGj9D926U5OzS_Dml41beAxG4UWYKYeJHOeZX3buFiEX7I_Hu-e1gzfdCTotSbNAVRPybAaK8scN_kCCAExEFpbuSKsXCUuiq8_kUo_eq4_en8BFnHTRd6msQFf8Qg39ZXov6r6hmFcOG/s1600/Project+Voxel+2012-12-27+20-27-16-51.png" imageanchor="1"><img border="0" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFGj9D926U5OzS_Dml41beAxG4UWYKYeJHOeZX3buFiEX7I_Hu-e1gzfdCTotSbNAVRPybAaK8scN_kCCAExEFpbuSKsXCUuiq8_kUo_eq4_en8BFnHTRd6msQFf8Qg39ZXov6r6hmFcOG/s320/Project+Voxel+2012-12-27+20-27-16-51.png" width="500" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgcN7Klj2yZa8S1j2kM0X0DkLZDxrwW8Ydg4z1T-Gvz4cleO3nHZhLVnI-maQLwMVlDd5-zwrdwk4Vh3csVAJVZsMTXnZtxI6KDCqEwNe8Nb08fIbWnEhVzXLPr0eDq2b9_rqrsVdnXoNt/s1600/Project+Voxel+2012-12-27+21-49-42-56.png" imageanchor="1"><img border="0" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgcN7Klj2yZa8S1j2kM0X0DkLZDxrwW8Ydg4z1T-Gvz4cleO3nHZhLVnI-maQLwMVlDd5-zwrdwk4Vh3csVAJVZsMTXnZtxI6KDCqEwNe8Nb08fIbWnEhVzXLPr0eDq2b9_rqrsVdnXoNt/s320/Project+Voxel+2012-12-27+21-49-42-56.png" width="500" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYNbPPkZOhkrhPTaMhWcusGCy9-iBDpTshxm7l5BFEZbOzetW1opLIap9hesbXogINM0m80aniRwd2ustT1t-KO3o_m3hFOAwaswDU3NBFrasEYDC7qWfdCnC6tImhVWHxSUHc6SF1eb4h/s1600/Project+Voxel+2012-12-27+22-03-21-33.png" imageanchor="1"><img border="0" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYNbPPkZOhkrhPTaMhWcusGCy9-iBDpTshxm7l5BFEZbOzetW1opLIap9hesbXogINM0m80aniRwd2ustT1t-KO3o_m3hFOAwaswDU3NBFrasEYDC7qWfdCnC6tImhVWHxSUHc6SF1eb4h/s320/Project+Voxel+2012-12-27+22-03-21-33.png" width="500" /></a></div>
Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com2tag:blogger.com,1999:blog-3055718448564179354.post-75390527299783851442012-12-22T00:24:00.000-08:002012-12-26T09:54:46.567-08:00Display Lists and Combination ShadersThings are looking up. Thanks to some great advice from <a href="http://www.gavanw.com/" target="_blank">Gavan Woolery</a> (If you haven't checked out his voxel engine yet, get out from under that rock!) I redid my entire voxel engine to use Display Lists rather than VBOs.<br />
<br />
The engine can now render a 1000x1000 map using about 300MB whereas previously it took over 1GB to render a 400x400 map. Great success!<br />
<br />
I also redid the shader to take into accout not only ambient occlusion but also establish whether a vertex can actually 'see' the light source. These two values are then combined and allows the engine to create much more realistic looking shadows.<br />
<br />
I'll be looking at getting the shader much faster and also at threading chunk creation. Here are some screenshots with corresponding chunk creation stats. All renderings were done with 64 rays.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6L7VfS_XxAPGit6Q0UoeRvJi1YzjkYDwA2D-rzcF6sBtSEChOicfwZJzGhq4pIA9bJGAIHHIGbfHSF01IlO9euQy2dmWdWNbX0O6pbQT-nl9dIOoNywfYFSATyflXzEzi34FpTU4UyAT4/s1600/Project+Voxel+2012-12-22+09-56-09-36.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6L7VfS_XxAPGit6Q0UoeRvJi1YzjkYDwA2D-rzcF6sBtSEChOicfwZJzGhq4pIA9bJGAIHHIGbfHSF01IlO9euQy2dmWdWNbX0O6pbQT-nl9dIOoNywfYFSATyflXzEzi34FpTU4UyAT4/s320/Project+Voxel+2012-12-22+09-56-09-36.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Best case scenario is where there are no overhangs. In this case the engine can create around 90 chunks per second.</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXDTWcdF62M8GCAbiSMq92QeGH7Kf0hF7iZib2Tda_5uNuQ5HRoQEb2A-5WNCY3HECR7-2CYedtE8eo2ZnxTS1roMagvc0XiQhosqtlsJIw5QWa6QhRBko2O74ZJR0mzKPtBuXluTCMJUP/s1600/Project+Voxel+2012-12-22+09-38-34-93.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXDTWcdF62M8GCAbiSMq92QeGH7Kf0hF7iZib2Tda_5uNuQ5HRoQEb2A-5WNCY3HECR7-2CYedtE8eo2ZnxTS1roMagvc0XiQhosqtlsJIw5QWa6QhRBko2O74ZJR0mzKPtBuXluTCMJUP/s320/Project+Voxel+2012-12-22+09-38-34-93.png" width="500" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Worst case scenario is when there are lots of overhangs. In this case the engine can create around 135 chunks per second.</td></tr>
</tbody></table>
Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com0tag:blogger.com,1999:blog-3055718448564179354.post-83758458106109916642012-12-21T02:30:00.001-08:002012-12-21T07:13:54.633-08:00ShadersHi all. Most of my time these last few days has been taken up by participating in the LD25 voting and we're leaving to visit the in-laws tomorrow so don't expect any posts for the next week.<br />
<br />
I have however started messing around with my old Project Vox renderer though; optimizing it a bit and making the shader a bit more realistic. Times like these I can really appreciate the work done by people like <a href="http://wollay.blogspot.com/" target="_blank">Wollay </a>and <a href="http://www.gavanw.com/" target="_blank">Gavan Woolery</a>. I've gotten the engine fairly fast now but I'm not happy with it at all since it takes over 1GB of memory to render a 400x400 map.<br />
<br />
Will see if I can do anything about that. Here's a screenshot:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9H_Cj6wYvudYWA2PI4aZOyEAGkxZbjm8qgyLjq2-Q2Trr-6PE4kCgJP25OfDtSwG87Ec0xllvvBihWpyd7rHUERnJGl7yBKOm_gLRhJ5NC4dI4Uk_boOm2ooYqpVp5WSODK2YOZtHzey7/s1600/Project+Voxel+2012-12-21+12-18-53-11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9H_Cj6wYvudYWA2PI4aZOyEAGkxZbjm8qgyLjq2-Q2Trr-6PE4kCgJP25OfDtSwG87Ec0xllvvBihWpyd7rHUERnJGl7yBKOm_gLRhJ5NC4dI4Uk_boOm2ooYqpVp5WSODK2YOZtHzey7/s320/Project+Voxel+2012-12-21+12-18-53-11.png" width="500" /></a></div>
<div>
<br />
<span style="color: #cfe2f3;"><b>EDIT: </b>VBOs are so last year. I rewrote the engine to use Display Lists that take up a hell of a lot less memory. I have a 1000x1000 map working using only about 300MB of memory.</span></div>
Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com3tag:blogger.com,1999:blog-3055718448564179354.post-47331745515261712582012-12-18T00:25:00.001-08:002013-01-04T23:39:36.141-08:00Ludum Dare 25: Post Mortem<a href="http://www.bigbadwofl.net/games/ludum_dare/ld25/" target="_blank">Play Dig-Dug Dungeon Here!</a><br />
<br />
<a href="http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&uid=8326" target="_blank">Link to Ludum Dare Entry</a><br />
<br />
Wow, what a weekend.<br />
<br />
I came down with an unpronounceable disease on Friday (turns out it's kidney infection) and feared for the worst but since I couldn't see myself missing out on LD, I pushed through. By Saturday, thanks to some amazing medicine that not only takes away the kidney infection but mysteriously makes me extremely hungry too, I was feeling much better.<br />
<br />
This was my 4th Ludum and most likely my most memorable one. When I saw the theme was 'You are the Villain' I was a bit disappointed, it being the topic I had wanted the least to win. But, I decided on a Dungeon Keeper clone and within an hour I was enjoying myself immensely.<br />
<br />
I got in about 16 hours of solid programming on Saturday and was very satisfied with what I was able to achieve. It was my first time making a game of this scale in JavaScript and I was enjoying the experience very much.<br />
<br />
Then came Sunday.<br />
<br />
Everything started going wrong. This was largely due to the fact that the limited processing power of the JS engine was wreaking havoc on my AI code. 20 Minions running around in a labyrinth of tunnels? No thank you! I spent most of the day trying to figure out how to fix it and only after hours and hours of testing and fiddling did I find a solution. By that time I was pretty annoyed and disheartened. I started thinking about how the game looks crap and isn't any fun to play.<br />
<br />
I wanted to give up but knew that I would regret it. So I started implementing tiny little things that made the game more fun. Made some sprites for the minions. Added little sounds to events. Wrote a message system that gives you hints on how to play and other random information. I also gave the minions the ability to say random things (mostly moaning about their pathetic little lives of servitude) and suddenly, the game took on a whole new meaning. Instead of meaningless digging through tunnels, the game was now about this little Reaper dude oppressing minions and smiting heroes. It became a little world, not just a few little blocks on the screen.<br />
<br />
So far, I've been getting some great comments on my game. Here are a few of them:<br />
<br />
<i style="background-color: #444444;"><span style="color: #f9cb9c;">This gets its high rating from me, not from innovation (DK), but from awesome music and the funny things the minions say, and the fact that it's a fully functioning RTS in 48 hours!</span></i><br />
<i style="background-color: #444444;"><span style="color: #f9cb9c;">This is surely how DK would have looked on the C64 ;)</span></i><br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;"><i><br /></i>
<i>wow wow wow WOW WOW WOW I WANT MOAR.</i></span></span><br />
<i style="background-color: #444444;"><span style="color: #f9cb9c;">ADD A KICKSTARTER AND I WILL GIVE YOU MY MONEY :)</span></i><br />
<i style="background-color: #444444;"><span style="color: #f9cb9c;">5 stars</span></i><br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;"><i><br /></i>
<i>"Oh you are a cruel master!"</i></span></span><br />
<i style="background-color: #444444;"><span style="color: #f9cb9c;">Loved this game!</span></i><br />
<span style="background-color: #444444;"><span style="color: #f9cb9c;"><i><br /></i>
<i>AWESOME GAME! I love this. At first I almost gave up because I couldn't figure it out, but once I did, I loved it. This deserves a full release.....make it happen!</i></span></span><br />
<br />
And lastly, some screenshots:<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHa_4c3xFScsNyCw4qFgXseYUjfdW_88RDthIYi0rssdMQ8VpTEUbW_1iGeRHlDQWhFYnRTHXu7wezB_-YgD6ppPkCtZjl2LMZG5w7GGkH8ASz_PFnR1cKON2Q64ixL22ErS3VKrX7SHSp/s1600/8326-shot0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHa_4c3xFScsNyCw4qFgXseYUjfdW_88RDthIYi0rssdMQ8VpTEUbW_1iGeRHlDQWhFYnRTHXu7wezB_-YgD6ppPkCtZjl2LMZG5w7GGkH8ASz_PFnR1cKON2Q64ixL22ErS3VKrX7SHSp/s320/8326-shot0.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnnSH5-I_r8y2U3t33SJ52eF_DXTXOf_1xBlhpt7ooZyw6n1G8CTQGPaWfhuI8suwru6hdhinXMYtin3lVfxQIMqYgwKID_HaBaKDJOQVRS-e1NjQL4HtU-yG1nmClrIwABnmGTiqGKQxU/s1600/8326-shot2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="257" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnnSH5-I_r8y2U3t33SJ52eF_DXTXOf_1xBlhpt7ooZyw6n1G8CTQGPaWfhuI8suwru6hdhinXMYtin3lVfxQIMqYgwKID_HaBaKDJOQVRS-e1NjQL4HtU-yG1nmClrIwABnmGTiqGKQxU/s320/8326-shot2.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKmb6htmeTGTYcHakPExCY_6XUc057T5gkIJKdIx_ASD0OiYw8rxazSyoQLYaHlaYKwVs5lScol5t2FD9D-SjCHRMP6akhxmLB32bduPepBDuoY1N79f4G8FQqSMVRThLquwE93ja9y-vg/s1600/8326-shot3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="257" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKmb6htmeTGTYcHakPExCY_6XUc057T5gkIJKdIx_ASD0OiYw8rxazSyoQLYaHlaYKwVs5lScol5t2FD9D-SjCHRMP6akhxmLB32bduPepBDuoY1N79f4G8FQqSMVRThLquwE93ja9y-vg/s320/8326-shot3.png" width="320" /></a></div>
<div style="text-align: justify;">
<span style="font-family: Times, Times New Roman, serif;"><br /></span></div>
Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com3tag:blogger.com,1999:blog-3055718448564179354.post-56065456216181261552012-12-15T09:38:00.002-08:002013-01-04T23:39:31.073-08:00Ludum Dare: 13 hoursI've implemented a whole bunch of little enhancements (mostly performance) and fixed a few bugs. Your dungeon now features a boss-dude that will stay in the middle of your dungeon. Protect him!<br />
<br />
Something that adds a lot of depth to the gameplay is the fog of war that nearly made me rip out my hair trying to implement effectively.<br />
<div>
<br /></div>
<div>
You can also pick your minions up now and throw them somewhere where they will be more useful. Lazy buggers!</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw89bG_ZnXsez9tMaesLG0BFHTVhSCQzAihoJiECRLd0pqFU2ia6ifwf0neaxkLdpgJZX7nGH4Jz_sXQXaoTwKdZwfh0nzffi7Q85F8PBKyAo5QlKo7BJHKZqpDSIs3BdqG_8zYGi61twP/s1600/13+hours.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw89bG_ZnXsez9tMaesLG0BFHTVhSCQzAihoJiECRLd0pqFU2ia6ifwf0neaxkLdpgJZX7nGH4Jz_sXQXaoTwKdZwfh0nzffi7Q85F8PBKyAo5QlKo7BJHKZqpDSIs3BdqG_8zYGi61twP/s320/13+hours.png" width="500" /></a></div>
<div>
<br /></div>
Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com0tag:blogger.com,1999:blog-3055718448564179354.post-5437267211169483392012-12-15T06:58:00.001-08:002013-01-04T23:39:25.586-08:00Ludum Dare: 11 hoursI have passed the first tiredness barrier (the next one should come up in 4-5 hours) and as such I am working at 2x speed. That, or everything is just going by very slowly.<br />
<br />
I've added a new type of mine-able tile called the Jewel tile. It gives you much more gold than normal gold tiles. Also, all mobs now have fancy HP bars so you know when you're about to die. HP recharges if the mob isn't in combat.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBUTDyVSXIWUn5MK-qC1M6Xc0_7mEEjwNcl6qktwBgk-zW8O8Knu3k2N60bVL4B05Ef5m3EGLOyU8fFdiRxDd0H6JAylbdG3zK-BKr3X7ZnWt2hBVTSFN3HOgD-MNHFcYUm3cOvJXmzzj2/s1600/11+hours.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="313" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBUTDyVSXIWUn5MK-qC1M6Xc0_7mEEjwNcl6qktwBgk-zW8O8Knu3k2N60bVL4B05Ef5m3EGLOyU8fFdiRxDd0H6JAylbdG3zK-BKr3X7ZnWt2hBVTSFN3HOgD-MNHFcYUm3cOvJXmzzj2/s320/11+hours.png" width="500" /></a></div>
<br />Davian Blackhttp://www.blogger.com/profile/18187266643764438577noreply@blogger.com0