tag:blogger.com,1999:blog-29691090058791100892024-03-13T18:52:58.354-04:00Epace GamesElliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.comBlogger218125tag:blogger.com,1999:blog-2969109005879110089.post-47925700837251004922020-08-02T15:55:00.001-04:002020-08-02T16:08:58.940-04:00Code & Stuff<div dir="ltr" style="text-align: left;" trbidi="on">
It will have to wait...<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/AVvXsEh_ByJyjvzLy76MU3JYgy8AV5cgAKbmKDOkcHhMJN7xkBBQSSYJamlLC5IOzqMyKn_N_NsG-ZKUWzWnEIEZtT-QYnXpg8VJDa6VAj1C5bGHinIVUiq_kPQiWiqimFoEGrye5Cvw2rUcd9k/s1600/emails2.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="939" data-original-width="1287" height="233" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_ByJyjvzLy76MU3JYgy8AV5cgAKbmKDOkcHhMJN7xkBBQSSYJamlLC5IOzqMyKn_N_NsG-ZKUWzWnEIEZtT-QYnXpg8VJDa6VAj1C5bGHinIVUiq_kPQiWiqimFoEGrye5Cvw2rUcd9k/s320/emails2.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="font-size: 12.8px;">Some of the email regarding early-access </span><i style="font-size: 12.8px;">Zombie Guard 2</i></td></tr>
</tbody></table>
<br />
<br />
In the early release of of <i>Zombie Guard 2</i> there was an NPC at the end of the available content who would ask if the user would like to submit feedback. I still receive these emails, even though this NPC has been removed months ago. This tells me that many are downloading the app through third party sites instead of the app store, or simply not updating the app.<br />
<br />
This game has potential, but for non-compete reasons I cannot work on it as this would create conflict of interest with my employer. I was okay with this when I accepted this position.<br />
<br />
Even though I work full time and code all day, I still reserve some time for coding just for leisure. Here are three things I have been doing:<br />
<br />
<h3 style="text-align: left;">
Path-Tracer</h3>
<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/AVvXsEjuDrXO0gaWMMbpOVR2GsWjrfonIbTfiqpeO5dh1k0UkDt4Hdw7aMGp3jCrUHvALwS0NHb6zG95UZ0NpPPB1bZN8FUCvRwIQ7m7WYpCqzSnkAg4rahXYnqcCQxvqSZZO43KVamxA9K_7ZY/s1600/raytrace2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="500" data-original-width="500" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuDrXO0gaWMMbpOVR2GsWjrfonIbTfiqpeO5dh1k0UkDt4Hdw7aMGp3jCrUHvALwS0NHb6zG95UZ0NpPPB1bZN8FUCvRwIQ7m7WYpCqzSnkAg4rahXYnqcCQxvqSZZO43KVamxA9K_7ZY/s320/raytrace2.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Path-Tracer converted to C#. 40,000 samples per pixel.</td></tr>
</tbody></table>
<br />
I had written ray-tracers before, but never a path-tracer. To accomplish this faster I used <a href="http://www.kevinbeason.com/smallpt/">this resource</a> and converted the code to C# and researched the actual algorithms and math separately.<br />
<br />
C# has become my primary language both for work and projects if given a choice. Over the years I had used C, C++, UnrealScript, Lua, ActionScript, Haskell, Python, LiveScript for HTML5, etc. But C# combined with Language Integrated Queries (LINQ) and good usage of properties and naming conventions is just so hard to beat; it may remain as my favorite for a long time.<br />
<br />
<h3 style="text-align: left;">
Arduino</h3>
<br />
I tend to prefer the Arduino over the Raspberry Pi because I'd rather use my laptop to write programs, rather than install an operating system on an SD card to code on the Pi hooked up to a monitor. Plus I have multiple Arduino boards which don't need an SD card, so I can deploy the same program easily over USB.<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/AVvXsEj7W4leChiO6nn1WoT3tOraUy_9MaGDVQVaTjyZDD_-g7dQh90OU93bmh0Fb1Pa7aZJTMIuVJbJwNV_PO84LgfMX3ejf617RhhGfWt_z5-aBGuYBrhU63BqyDLoIHKtW69wOQxNEBW9N4E/s1600/lights.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="900" data-original-width="1600" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7W4leChiO6nn1WoT3tOraUy_9MaGDVQVaTjyZDD_-g7dQh90OU93bmh0Fb1Pa7aZJTMIuVJbJwNV_PO84LgfMX3ejf617RhhGfWt_z5-aBGuYBrhU63BqyDLoIHKtW69wOQxNEBW9N4E/s400/lights.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Arduino with a WS2812B LED strip</td></tr>
</tbody></table>
<br />
<br />
I have a few WS2812B LED strips and a bunch of random modules like thermometer, barometer, motion detector, camera, buzzers, buttons, bluetooth, etc. I use the <a href="https://randomnerdtutorials.com/guide-for-ws2812b-addressable-rgb-led-strip-with-arduino/">FastLED</a> library to light up these LED strips, so from there I can hook up any modules I want for custom behavior. I could have these light up as I walk down a hallway, or turn on at a certain time, or just have the colors light-up using a custom app over bluetooth/wifi. Or, I may just line these under kitchen cabinets and my desk.<br />
<br />
<h3 style="text-align: left;">
LeetCode.com Exercises</h3>
<br />
In my opinion, day-to-day game programming involves more effort in code organization, usage of design patterns, and utilizing what already exists. It tends not to be especially heavy with complex and optimal algorithms, so I practice this on the side.<br />
<br />
A lot of the fun in these hard <a href="http://leetcode.com/">LeetCode.com</a> problems is not necessarily getting it to work, but getting it to run optimally. Most of the time this involves a hashset or a large cache in some form or another.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com1tag:blogger.com,1999:blog-2969109005879110089.post-26358430558689706412020-07-25T13:45:00.002-04:002020-07-25T13:51:07.264-04:00Fantasy Fighter Arena<div dir="ltr" style="text-align: left;" trbidi="on">
Since this is now public information, I am permitted to share the prototype being developed by a small team I joined at KI. The game is called Fantasy Fighter Arena and this video should be self-explanatory:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/CLHPx_3UBmo/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/CLHPx_3UBmo?feature=player_embedded" width="320"></iframe></div>
<br />
<br />
I joined near the end of the prototype, so I have the advantage of learning from an existing code-base and custom tool set. It has been a marvelous learning experience for me as a game developer and engineer.<br />
<br />
Below is a prototype from last year.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/KyZ-72G1LCU/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/KyZ-72G1LCU?feature=player_embedded" width="320"></iframe></div>
<br /></div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-11753345296683771262020-07-03T12:29:00.002-04:002020-07-03T21:50:21.459-04:00KingsIsle Entertainment<div dir="ltr" style="text-align: left;" trbidi="on">
I have suspended all operations by joining one of the small mobile game development teams at KingsIsle Entertainment. Based on the first week, I can easily say it has been an ideal choice for me. I am striving to be a valuable engineer on this agile team, and really admire the creative direction and production style.<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/AVvXsEjCE7bVXiU-dBRr1o-MU0uQ_snL9cIeJIwYM5vu5zhz9zif2QmQQY8N9EBMiFtBSaKx0UVCyukFSZhWKT7hK3ko4fGzl9asb5tz6sUkr6jW6gqHV5ihP6qx6pcL5T14I3wEsnpwRx5xcPI/s1600/81728759_2989830434407671_169725133169098752_o.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="341" data-original-width="1024" height="132" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCE7bVXiU-dBRr1o-MU0uQ_snL9cIeJIwYM5vu5zhz9zif2QmQQY8N9EBMiFtBSaKx0UVCyukFSZhWKT7hK3ko4fGzl9asb5tz6sUkr6jW6gqHV5ihP6qx6pcL5T14I3wEsnpwRx5xcPI/s400/81728759_2989830434407671_169725133169098752_o.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Members of KingsIsle Entertainment (photo taken before pandemic, I am not in this photo)</td></tr>
</tbody></table>
<br />
I have worked on big-budget console and PC games on a large team, was a sole developer for Web and mobile games, and now I have found an ideal middle of the road.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-79926640814948440772020-05-14T13:50:00.002-04:002020-07-14T19:01:41.832-04:00Design Patterns<div dir="ltr" style="text-align: left;" trbidi="on">
Lately I have been devoting some time to studying design patterns from an academic point of view. These are ways to structure code in a game or application.<br />
<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/AVvXsEgHWi34EfpAU0Tuw1z_4B2lHcjWEW73_YXS2OWR2mJBTvBmvLEa4z6isjoPpUEkc_uz9kmC1uOFxOrD35DPxI3UKDbD90FHEi5sfqWJNDftxJNhF-FqTfnZLHVrhCsyuXlsMs5t8Y57NJk/s1600/design.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="600" data-original-width="960" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHWi34EfpAU0Tuw1z_4B2lHcjWEW73_YXS2OWR2mJBTvBmvLEa4z6isjoPpUEkc_uz9kmC1uOFxOrD35DPxI3UKDbD90FHEi5sfqWJNDftxJNhF-FqTfnZLHVrhCsyuXlsMs5t8Y57NJk/s400/design.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Image from Refactoring.Guru</td></tr>
</tbody></table>
<br />
Link1: <a href="https://refactoring.guru/design-patterns/csharp">https://refactoring.guru/design-patterns/csharp</a><br />
Link2: <a href="https://www.habrador.com/tutorials/programming-patterns/">https://www.habrador.com/tutorials/programming-patterns/</a><br />
<br />
<h3 style="text-align: left;">
Some ramblings...</h3>
<br />
The "<b>Proxy</b>" pattern is useful in an engine, for processing and preparing graphics data for the GPU in in a separate thread, so the game works in parallel for the next frame since two threads cannot touch the same objects.<br />
<br />
The "<b>Object Pool</b>" has been useful for me here and there, to reuse game objects because creating and destroying them in engines like Unity is very slow.<br />
<br />
I have used a lot of the "<b>Observer</b>" pattern over the years as it seems like the most direct way of handling notifications across many game objects, regardless of the engine I am using.<br />
<br />
Others like the "<b>Mediator</b>" pattern was first introduced to me while dissecting the source code of the Box2D library, where collision is handled by a mediator for contact manifolds. In other words, two objects colliding use a separate object to compute the proper collision response, rather than have the objects work it out for themselves. This way, all collisions can be handled properly in one go.<br />
<br />
The "<a href="https://gameprogrammingpatterns.com/type-object.html"><b>Type Object</b></a>" pattern is by far my absolute favorite. I was introduced to this while attempting to decipher the rather esoteric C code in open source games that use the Quake 2 engine. I still use this pattern in pretty much every game I have written. However, I can see that the amount of data can grow and become too difficult to manage in a much larger game.<br />
<br />
I was intrigued seeing "<b>Singleton</b>", and "<b>Factory Method</b>". These are patterns I had been using for a long time without learning about them from an academic point of view.<br />
<br />
<h3 style="text-align: left;">
Moving on...</h3>
<br />
In other words, I was glad to be familiar with many of these design patterns. I am studying some unfamiliar ones such as "<b>Chain of Responsibility</b>" and "<b>Bridge</b>", even if they are not immediately useful to me. I understand these, and now question how to use them for practical purposes.<br />
<br />
Following design patterns, I intend to research data structures. Even some unpopular ones that are used sparingly. I have experience with several and even authored some manually in C during my time studying 3D graphics, but now I am curious of ones that are less common and underappreciated.<br />
<br />
Meanwhile, I have been spending some evenings studying deeper concepts in the Unity engine. I am broadening my skills by expanding both extremities - both the high-level and low-level programming topics.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-32267594155383643482020-05-07T13:54:00.002-04:002020-05-07T13:55:41.635-04:00Simulated Gambling<div dir="ltr" style="text-align: left;" trbidi="on">
Following updates for <i>Zombie Guard 2</i>, I will be switching to simulated gambling and slot machine apps. Years ago I created a simulated scratch off tickets app (no longer available), and at one point I was tempted to blend an RPG with slot machine gameplay.<br />
<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/AVvXsEjR2YYeQsrZSqKEGZIfJ0yC_1R9SF47Bo-K2OtxGorOQz-GDX519kpDrojRSPhKOydt2r5bRsVssx9kb4uUytHCvjrfkrgrgNg1Xh8V4G910CIVEw-guQWNUlndy75B-KezQliS7U7i6tM/s1600/scratch.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="300" data-original-width="500" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR2YYeQsrZSqKEGZIfJ0yC_1R9SF47Bo-K2OtxGorOQz-GDX519kpDrojRSPhKOydt2r5bRsVssx9kb4uUytHCvjrfkrgrgNg1Xh8V4G910CIVEw-guQWNUlndy75B-KezQliS7U7i6tM/s320/scratch.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Simulated Scratch-Off Tickets App</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/AVvXsEiAsrAXFh0_K6vS5ppU3dowsQ4mSnGuBfKP4dZv1zdTTjSUpfgYpxaH-J3lSMcv6ItLkONI9wmdyE9GiZ319HECjhVa2CxqINYfX4Iw9UWRKIlLol8Dkhu9aD5LwLDIjrTK0x5NXT3nd4w/s1600/slot.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="400" data-original-width="640" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAsrAXFh0_K6vS5ppU3dowsQ4mSnGuBfKP4dZv1zdTTjSUpfgYpxaH-J3lSMcv6ItLkONI9wmdyE9GiZ319HECjhVa2CxqINYfX4Iw9UWRKIlLol8Dkhu9aD5LwLDIjrTK0x5NXT3nd4w/s320/slot.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Slot Machine RPG Concept</td></tr>
</tbody></table>
<div>
<br /></div>
<div>
This was all before I acquired heavy experience with Unity. Now, I understand how to create a lot of special effects and apply polish for a truly interactive experience.</div>
<div>
<br /></div>
<div>
I have some ideas that I am considering, such as an addictive scratch off tickets app that has a <i>lot</i> of special effects and audio for an epic gaming experience. I have a vision for this, and the skill set to make it a reality.</div>
</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-89280212842351610382020-04-15T15:47:00.002-04:002020-04-28T21:13:59.137-04:00Perks<div dir="ltr" style="text-align: left;" trbidi="on">
I went back-and-forth on the mechanics of this perks system. There are still some difficult decisions I have to make in regards to how the skill points can be reset and redistributed, and how skills are unlocked.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD3IQO9Hrn6P48DvXPM7N2zTb5JSw5FOJNBQ9_ya_YZ6aik0mLFSdQc1rF4Z4KR7PBmxxC5prZjyA4lUnI76hIsTtQo-Tg-l_NYehb5HWUjkosYxDEZ-yrn9xz846DcwYEaPfxkdGnhPE/s1600/perks.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="588" data-original-width="1053" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgD3IQO9Hrn6P48DvXPM7N2zTb5JSw5FOJNBQ9_ya_YZ6aik0mLFSdQc1rF4Z4KR7PBmxxC5prZjyA4lUnI76hIsTtQo-Tg-l_NYehb5HWUjkosYxDEZ-yrn9xz846DcwYEaPfxkdGnhPE/s400/perks.png" width="400" /></a></div>
<br />
I <i>may</i> change the perks by connecting them into columns of three. So, the top perks are always unlocked, and will unlock the similar perk underneath each. Otherwise there may be too many options to choose from.<br />
<br />
The art was more of a hassle than it looks. Most of the assets I licensed will be archived for future projects. I ended up with a very plain style which kinda matches the sci-fi screen effect that warps the screen like an older CRT monitor.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-20571828995444750512020-04-10T18:12:00.003-04:002020-04-10T18:55:13.071-04:00Update<div dir="ltr" style="text-align: left;" trbidi="on">
The update is about finished. I want to finish the perks system before I distribute the build.<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/AVvXsEiMpQj-xI_ZtLUF7u6EBLVUo80teg5qI0ZmKhl2G5OP2fbxEZ8W2wa712LIUKg_WGiC2D7kO4wpHj5zV-miWFfKFY-5rXnvX2gRpwIjPI4WeBXDqCZM3p2PNeaAlleykrSncwPd8gycEOk/s1600/s1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="570" data-original-width="1023" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMpQj-xI_ZtLUF7u6EBLVUo80teg5qI0ZmKhl2G5OP2fbxEZ8W2wa712LIUKg_WGiC2D7kO4wpHj5zV-miWFfKFY-5rXnvX2gRpwIjPI4WeBXDqCZM3p2PNeaAlleykrSncwPd8gycEOk/s320/s1.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">One of the last missions of the first set of new missions, with help of Zoe and Bruce</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/AVvXsEjg6B4o68AHWlHdC7fbVQqT9k978GG_7x_QX4oqvIVX0GjDLbsKJm5TbPQjyrz-YheiWs0PCtuhAw3Zq6D-GEgb2hyphenhyphenQrryMW07RW4L_anlsuqL116HbzOkqXBqPXlJJhKm9siwG4s452I0/s1600/s2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="570" data-original-width="1023" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg6B4o68AHWlHdC7fbVQqT9k978GG_7x_QX4oqvIVX0GjDLbsKJm5TbPQjyrz-YheiWs0PCtuhAw3Zq6D-GEgb2hyphenhyphenQrryMW07RW4L_anlsuqL116HbzOkqXBqPXlJJhKm9siwG4s452I0/s320/s2.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Defending with Bruce's Landmines</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/AVvXsEgBFNU3EROOKwX6NBe6wZKFnfvKuTQuD-SasygtTE6SVKlt_DzWCrZ5OoLbcyerPdksX7BUD6VQLUmeg8VeL-DY7RJbSr_GfJSZhXQ-sgXvgbmynrp_C_E_WKu-CTL8o58fGzmhH2iokNY/s1600/s3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="570" data-original-width="1023" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBFNU3EROOKwX6NBe6wZKFnfvKuTQuD-SasygtTE6SVKlt_DzWCrZ5OoLbcyerPdksX7BUD6VQLUmeg8VeL-DY7RJbSr_GfJSZhXQ-sgXvgbmynrp_C_E_WKu-CTL8o58fGzmhH2iokNY/s320/s3.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Scooter Mission</td></tr>
</tbody></table>
<br />
I'm satisfied how things are turning out with this game. One piece at a time. I have all the equipment and expertise to continue, and I will.<br />
<br />
Out of interest I have been dabbling in other branches of software development. Back end server programming, and AI with machine learning have caught my interest. I also rediscovered an interest in using an Arduino board with interesting hardware components.<br />
<br />
...Still, I think all it does is make me appreciate game programming even more.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-51261459055006011532020-03-10T23:35:00.002-04:002020-03-11T14:16:30.954-04:00Missions Screen<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: left;">
An early look at the new missions screen.</div>
<div class="separator" style="clear: both; text-align: center;">
<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/AVvXsEgnyjS8y_ZjycuZzDQKU6N3uk9-4mTR9e383SlMJhamIQLYI507Q4Rj2ijmc8emjzc6FAmlXul5tKf-p8sHVYbr_ZYJ66Ivdj_yabwWmvrVto5BJYXrSpD10uxZUe3Y9h9XqaKPgqQz_fY/s1600/beseto.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="545" data-original-width="978" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnyjS8y_ZjycuZzDQKU6N3uk9-4mTR9e383SlMJhamIQLYI507Q4Rj2ijmc8emjzc6FAmlXul5tKf-p8sHVYbr_ZYJ66Ivdj_yabwWmvrVto5BJYXrSpD10uxZUe3Y9h9XqaKPgqQz_fY/s400/beseto.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Missions Screen</td></tr>
</tbody></table>
<br />
The first several missions are triggered without this screen, by going around and chatting with in-game characters. This gets presented later, at the door of the safe house.<br />
<br />
I did not want the game to be too linear by offering only one path of missions and story. But, I also did not want some large open world with multiple quests and characters, as that is difficult to balance and test.<br />
<br />
So, this is something in the middle of the two extremities.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-28932878968483392462020-03-06T19:30:00.002-05:002020-03-06T19:30:46.166-05:00Safe House<div dir="ltr" style="text-align: left;" trbidi="on">
The safe house is underway. This is an area of the game that provides options to upgrade perks, weapons, and choose missions. This seems more appropriate over some UI system with buttons and panels everywhere.<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/AVvXsEhWmhR7AI4_X8rSGKbV-mZRLYaJykuMy4weXxheQv86GrO3bCz3Hxyr-qukaqG4JxKdOwxjzAWOLSG8aixdwrqJ5pcz6SeS4vWNl9Idk4m7Ge3iqMCX8QIexQ5eCg0wmlsrYGXHws3a7pw/s1600/safehouse.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="447" data-original-width="987" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWmhR7AI4_X8rSGKbV-mZRLYaJykuMy4weXxheQv86GrO3bCz3Hxyr-qukaqG4JxKdOwxjzAWOLSG8aixdwrqJ5pcz6SeS4vWNl9Idk4m7Ge3iqMCX8QIexQ5eCg0wmlsrYGXHws3a7pw/s400/safehouse.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The Safe House</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/AVvXsEjBLFq_nR7FjG2jRLU76reP33vQzGrlnMFP17JdNTnBg1A9wP7aZzcSimTBXx4uTsQKkt_KR6OQVPjUeHn_JTD5sFTinioOn22JvBJeISdHybbY2Rn28G6E-EiBACpGIsuuv_1X3R0Z7N8/s1600/safehouse2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="917" height="167" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBLFq_nR7FjG2jRLU76reP33vQzGrlnMFP17JdNTnBg1A9wP7aZzcSimTBXx4uTsQKkt_KR6OQVPjUeHn_JTD5sFTinioOn22JvBJeISdHybbY2Rn28G6E-EiBACpGIsuuv_1X3R0Z7N8/s320/safehouse2.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Area to change outfits (plus saved weapon and perk configurations)</td></tr>
</tbody></table>
<br />
The size and depth of objects will be corrected. I need shadows and better texture for the floor an walls.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-6281699596866243292020-02-29T15:24:00.000-05:002020-02-29T15:32:36.303-05:00Design<div dir="ltr" style="text-align: left;" trbidi="on">
I met another remote worker from Germany, and we were discussing what we do. She searched my project by name and to my surprise, there is already a YouTube video posted of <i>Zombie Guard 2</i>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/KHSO1ty2idM/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/KHSO1ty2idM?feature=player_embedded" width="320"></iframe></div>
<br />
I would rather the game not get this much attention early on, so I may suspend it until there are more features. I have adequate feedback of the first missions.<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/AVvXsEihfAyzjTpB9-BovayP3PFUa3uk32cDf9V0dFgh8daDxjxzDCI8yGz79D-Lknv5tS1B9K1MM_sBLjQWPQ1ZbD70VFY83Q4Se3beczwGyYn0Y27CdJhYfNcS2SHVm7YoH6n_J9Y_TM7SUCk/s1600/screen1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="273" data-original-width="566" height="154" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihfAyzjTpB9-BovayP3PFUa3uk32cDf9V0dFgh8daDxjxzDCI8yGz79D-Lknv5tS1B9K1MM_sBLjQWPQ1ZbD70VFY83Q4Se3beczwGyYn0Y27CdJhYfNcS2SHVm7YoH6n_J9Y_TM7SUCk/s320/screen1.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Gatling Gun</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/AVvXsEgu7W_vMuKTcafAiPD0gAKhWozUKwwge2Igs_NIePjSvnSHHBnRMloswBHtZzjPv5iMAoz5_nrRqPF4M-AxTQLvqOfF4w_hhhUm0v0qHhnJIOrgklsNIky-TWQ6gtZ80qeCu4rG1lT84bg/s1600/screen2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="273" data-original-width="566" height="154" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu7W_vMuKTcafAiPD0gAKhWozUKwwge2Igs_NIePjSvnSHHBnRMloswBHtZzjPv5iMAoz5_nrRqPF4M-AxTQLvqOfF4w_hhhUm0v0qHhnJIOrgklsNIky-TWQ6gtZ80qeCu4rG1lT84bg/s320/screen2.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Quad Blaster (placeholder art)</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/AVvXsEhb9gS_CSSD2OFoPUb_-zyiNjoeUVMJvgrlYCbX8I-FHVIiELldAVEXQOtG_BUB7QUar4fWdXGXUY5szbRqRV9RlgwheN7KwuXXKsNl5MMiah91YfNCAbc2Rb4pA4c9HlV4Ih1jLiYbYo8/s1600/screen3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="273" data-original-width="566" height="154" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb9gS_CSSD2OFoPUb_-zyiNjoeUVMJvgrlYCbX8I-FHVIiELldAVEXQOtG_BUB7QUar4fWdXGXUY5szbRqRV9RlgwheN7KwuXXKsNl5MMiah91YfNCAbc2Rb4pA4c9HlV4Ih1jLiYbYo8/s320/screen3.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Flamethrower</td></tr>
</tbody></table>
<br />
Recently I finished some new weapons. But more importantly, I have decided on how to proceed with the game as a whole...<br />
<br />
I will permit the player to gain experience and level up, to gain skill points to spend on various perks. Some of these perks will be used to increase the maximum rank of certain types of weapons, upgraded with in-game currency. Plus missions are going to be selected through a new menu system that is currently in development.<br />
<br />
It took a <b>lot</b> of effort to contemplate these decisions. I do not want to choose the wrong option, especially when it comes to how multiplayer will fit in through the new missions menu. I think I solved it.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-30538188875511061002020-02-22T15:30:00.001-05:002020-02-22T15:30:22.888-05:00More weapons<div dir="ltr" style="text-align: left;" trbidi="on">
The five weapons have been added, these are just the interesting ones worth showing as animated clips:<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/AVvXsEi8Y_vYAfcC2LAswJlJpvhhgyrYv_vM-Yk00IRW6yC1ff8pqrWodHCNOkzqZpahjAXHt_BguiPefxsJxMrq7LZ7KAPqdxVuhdpc-fNZwIsA4xNRAYpMiRVnxrt7_dQjAYpR-AdT6nJjXj8/s1600/gif1sys.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="212" data-original-width="400" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8Y_vYAfcC2LAswJlJpvhhgyrYv_vM-Yk00IRW6yC1ff8pqrWodHCNOkzqZpahjAXHt_BguiPefxsJxMrq7LZ7KAPqdxVuhdpc-fNZwIsA4xNRAYpMiRVnxrt7_dQjAYpR-AdT6nJjXj8/s320/gif1sys.gif" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Poison Bubbler - permanently poisons a zombie to do damage over time</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/AVvXsEjWEvZ3CP_cFZMgVjxXF2C5XtJLIooBH_XLb_zEQMuplPhF4KjOdXfnpCb8Spug4HAKXE-nIXRUGm8yqYNTVHctpL6BmjxdrYaa1E7c7yxKNl6JYd9MNDnaB9Ka5dD4HYw2XUBZtleh_vg/s1600/gif2sys.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="212" data-original-width="400" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWEvZ3CP_cFZMgVjxXF2C5XtJLIooBH_XLb_zEQMuplPhF4KjOdXfnpCb8Spug4HAKXE-nIXRUGm8yqYNTVHctpL6BmjxdrYaa1E7c7yxKNl6JYd9MNDnaB9Ka5dD4HYw2XUBZtleh_vg/s320/gif2sys.gif" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Sniper Rifle - a bit slow, but penetrates all zombies and does a lot of damage when upgraded</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/AVvXsEgAE0d2xQ9IPCUfmsbVZCfDhVj-dWCTmxo-ky6tHM1qomidvrMflxicjBfMblQBCIwBuSKJ7Z5Ne_8NkEEstaDAkeyO-J-Qb4gcR67fisEEV4t-KwVw-LdZ10-3v8Hwz8h2NkP7uEG1OI0/s1600/gif3sys.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="212" data-original-width="400" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAE0d2xQ9IPCUfmsbVZCfDhVj-dWCTmxo-ky6tHM1qomidvrMflxicjBfMblQBCIwBuSKJ7Z5Ne_8NkEEstaDAkeyO-J-Qb4gcR67fisEEV4t-KwVw-LdZ10-3v8Hwz8h2NkP7uEG1OI0/s320/gif3sys.gif" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The Air Vortex Cannon - sucks in zombies into one space.</td></tr>
</tbody></table>
<br />
<br />
Suggestions for <i>Zombie Guard 2</i> have been arriving in my Gmail inbox. Even though some are just a sentence of two, I am still very satisfied that people are playing long enough to reach this part of the game that redirects a browser to compose an email.<br />
<br />
The most common suggestions are <b>more weapons</b> and to my surprise: <b>multiplayer</b>. I am glad, because these are the two features I wanted to emphasize from the beginning. So, I will continue on the right track.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-59142440017018201952020-02-16T17:48:00.001-05:002020-02-16T17:48:22.207-05:00More art<div dir="ltr" style="text-align: left;" trbidi="on">
I will not proceed with the hexagon map mentioned in my previous blog entry. So, while contemplating design I drew more weapons and background art with an Asian theme.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_2vzRKF6DUE6fFp4_ViXFepQG7nrcg5Su5j73KOlEMuqUA8fBYW8fZU1DhXElWRL_Ip1lvYMMobl2rMVqWVGQ_vV60Z28OTSBsKYOh6mbyVEXBRRfDWYNoHe2reJuCI20ubPsKmU6DW8/s1600/guns.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="841" data-original-width="1006" height="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_2vzRKF6DUE6fFp4_ViXFepQG7nrcg5Su5j73KOlEMuqUA8fBYW8fZU1DhXElWRL_Ip1lvYMMobl2rMVqWVGQ_vV60Z28OTSBsKYOh6mbyVEXBRRfDWYNoHe2reJuCI20ubPsKmU6DW8/s200/guns.jpg" width="200" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFer31LJ-CxKfSY-4xtnp8sx_pBkyyWiqbtEkbluqAIWdB3sOtaC0EWGihKQZWadXz-J7AptWOEoss15S6nvkQN6aUQ3IUfLykfJdccL62127Le6cZnnms_Y4Rt2q1RQ52tncUzIfIaIU/s1600/preview.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="869" data-original-width="1600" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFer31LJ-CxKfSY-4xtnp8sx_pBkyyWiqbtEkbluqAIWdB3sOtaC0EWGihKQZWadXz-J7AptWOEoss15S6nvkQN6aUQ3IUfLykfJdccL62127Le6cZnnms_Y4Rt2q1RQ52tncUzIfIaIU/s400/preview.jpg" width="400" /></a></div>
<br />
You can see some of the watercolor references I used, turned into my vector-like style.<br />
<br />
I almost never name layers in Clip Studio Paint because I have a bound key to "select layer", so I never have to find it in the long list on the left.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-20475699445642057522020-02-13T11:44:00.000-05:002020-02-13T11:44:21.571-05:00Early Access<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: left;">
I have uploaded an unlisted early access build to the Google Play Store. This just showcases the first 20 minutes of the game.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUu0UIilYwXGaKv5IteOxTVhEsmOw07P6llZ4fIYoEYFqMWAjYZKv4MitrUuhU591AHkIXeXGNRjjWkbFn5zXsMcIlQvJ8g6C9O92haEUUvtdnV_7ngDu4-qrb4c-JrlQ1wpDz0zjYFsA/s1600/listingjpb.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="751" data-original-width="591" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUu0UIilYwXGaKv5IteOxTVhEsmOw07P6llZ4fIYoEYFqMWAjYZKv4MitrUuhU591AHkIXeXGNRjjWkbFn5zXsMcIlQvJ8g6C9O92haEUUvtdnV_7ngDu4-qrb4c-JrlQ1wpDz0zjYFsA/s320/listingjpb.jpg" width="251" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZZrvfDj14CLM_0MqNqxj-qQW72uHOhzGgZCvidizNK6FlqwU32Z6uwWVp4YF_QrKfGop5GCt8kJTGchnKHfxZDOwN3RwzTGxu8CenerAQqY-MgPH_gVpiODSOm9gVm2c3gmbZ_y3HlDc/s1600/screen2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="562" data-original-width="1000" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZZrvfDj14CLM_0MqNqxj-qQW72uHOhzGgZCvidizNK6FlqwU32Z6uwWVp4YF_QrKfGop5GCt8kJTGchnKHfxZDOwN3RwzTGxu8CenerAQqY-MgPH_gVpiODSOm9gVm2c3gmbZ_y3HlDc/s320/screen2.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtH-R5J9QRdyNN8kUkkSJTB3RpXuBNlrOOeImYH59nTmkCu9zs6EuDuhy_i38Z-SNtvtAh1NZDhCtX7k5ByY1RYkO9Gxbrrq4m8MV25Q5JrKNSRw8Y5lzcANbkHdN2hc1z0TjWkzcbHWM/s1600/screen3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="562" data-original-width="1000" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtH-R5J9QRdyNN8kUkkSJTB3RpXuBNlrOOeImYH59nTmkCu9zs6EuDuhy_i38Z-SNtvtAh1NZDhCtX7k5ByY1RYkO9Gxbrrq4m8MV25Q5JrKNSRw8Y5lzcANbkHdN2hc1z0TjWkzcbHWM/s320/screen3.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUkT0XHIPqw6dcSSSfv-pezivQ5LepZS5wHxUy1J7EXQJ5QfFOOSx_gakZfq74X9QDZvFD42DHR0imypGG7liBAKILKprAFDQM-enFw7VElc3ozsw0TzxNi0hpxE4pdhwEsLQztqmYKGM/s1600/screen4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="562" data-original-width="1000" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUkT0XHIPqw6dcSSSfv-pezivQ5LepZS5wHxUy1J7EXQJ5QfFOOSx_gakZfq74X9QDZvFD42DHR0imypGG7liBAKILKprAFDQM-enFw7VElc3ozsw0TzxNi0hpxE4pdhwEsLQztqmYKGM/s320/screen4.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSN-kv_G0lrfjl7CkeZPmWhNMuRSHIulgXbVIvRm0aDisWh27dkxb9-Q0DJclLaHx_PDM3LQ_LmN3xotVIAS0gGqNwAH1LffoFV4GzzRuq3MHMrzYki6Q1HQrZw6o_EDy_HUFLsS6EGdc/s1600/screen5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="562" data-original-width="1000" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSN-kv_G0lrfjl7CkeZPmWhNMuRSHIulgXbVIvRm0aDisWh27dkxb9-Q0DJclLaHx_PDM3LQ_LmN3xotVIAS0gGqNwAH1LffoFV4GzzRuq3MHMrzYki6Q1HQrZw6o_EDy_HUFLsS6EGdc/s320/screen5.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmStnw8IpZXtLNMaIkzNGQoWwuXJPHfONzuRQh-Is2TrsrvtgiAraUWJHb_d_QNOc9nV8wn-AiTCsBWzh0tvEl1S00iqAcxmK8MH97EymQJlVWMwxNyE3Kts3XNKHTlAJNuQIOwLYtg2o/s1600/screen1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="562" data-original-width="1000" height="179" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmStnw8IpZXtLNMaIkzNGQoWwuXJPHfONzuRQh-Is2TrsrvtgiAraUWJHb_d_QNOc9nV8wn-AiTCsBWzh0tvEl1S00iqAcxmK8MH97EymQJlVWMwxNyE3Kts3XNKHTlAJNuQIOwLYtg2o/s320/screen1.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I am experimenting with a hexagon grid for missions. In the corners will be boss fights which are the primary objective.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuG7Qf2RZRy8bboxNdFu20gP2ppeAI841hc9jL-7THiSdug1Tp5K0hrpLfA1H3EHoNKnSdStKZ5z-D3-Qi7W0Fip4ZCIYRm4b4KGRe4EJwJCBNRGb5Zey9TV5HEBpT8n0sGF0FwsjbJos/s1600/grid.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="584" data-original-width="1045" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuG7Qf2RZRy8bboxNdFu20gP2ppeAI841hc9jL-7THiSdug1Tp5K0hrpLfA1H3EHoNKnSdStKZ5z-D3-Qi7W0Fip4ZCIYRm4b4KGRe4EJwJCBNRGb5Zey9TV5HEBpT8n0sGF0FwsjbJos/s320/grid.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The first 20 minutes of the game features a linear story, but I want to avoid this for the rest of the game. There should be choices and more flexibility in the types of missions that the players want to attempt.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
So, a lot has been achieved in the past 3.5 months, but a lot more needs to be done.</div>
</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-17771765696892727142020-01-31T02:57:00.000-05:002020-01-31T02:57:26.519-05:00Goal reached<div dir="ltr" style="text-align: left;" trbidi="on">
I have a playable demo of the first 20 minutes of this game. This was my goal when I settled in this studio apartment for three months to just focus on this project. This last month was the hardest, much like how game development can be. I am ready to move on to a new place, and surround myself with other remote workers by renting coworking space in my next destination.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVL8vorWJ_cWkoJNpYBizZiKnG-h-lYysX1QWLDl9htEuDIv1QvRrBOYdbB-6ysFW20QDGwELxOdeDEmNOD7N3hfYPDqrXtTLKT3pLbSAuDwLOCrQEz5MtPuX0vtaw2bQOjXoalXb-8jI/s1600/screen1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="548" data-original-width="985" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVL8vorWJ_cWkoJNpYBizZiKnG-h-lYysX1QWLDl9htEuDIv1QvRrBOYdbB-6ysFW20QDGwELxOdeDEmNOD7N3hfYPDqrXtTLKT3pLbSAuDwLOCrQEz5MtPuX0vtaw2bQOjXoalXb-8jI/s400/screen1.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXS5EYQ1kWJLGmE3aZ8oW6kgLjT0EoCFkZ8xxlDH0oGuSJoWa-p6x1MyLSZrFHz2JfW9D6ExuFr5X_QHAaOKBx5fl1sa88acHAHoL8_Z0QDqK5jE2HVwOldRpxw0bIieJRPW22J3ssalE/s1600/screen2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="566" data-original-width="998" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXS5EYQ1kWJLGmE3aZ8oW6kgLjT0EoCFkZ8xxlDH0oGuSJoWa-p6x1MyLSZrFHz2JfW9D6ExuFr5X_QHAaOKBx5fl1sa88acHAHoL8_Z0QDqK5jE2HVwOldRpxw0bIieJRPW22J3ssalE/s400/screen2.png" width="400" /></a></div>
<br />
There are bugs and problems. But at least now I have something to show. Adding more missions and weapons is not necessarily difficult, because all the systems are in place. Adding in the starting pistol seriously took one day to draw, implement, and apply audio.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-36334524862254391512020-01-15T12:43:00.004-05:002020-01-15T12:43:52.808-05:00Truck mode<div dir="ltr" style="text-align: left;" trbidi="on">
<div>
The last mission of the first chapter will be transportation to the next town. And of course more shooting and zombies.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixmQLGEiTwcL7tsYGYBF-1WXpMiIVYw-WiMz6Mhp3Wx7UlxX6QD1GKPr2hpGUoL8oHgxr3fiqkLdPnlHrsZ4pyMa__yDWYmBKtCH0marX4DWVYmGEOWAwauDGcL-IHalJlZffR7YPs2EY/s1600/trucke.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="559" data-original-width="1000" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixmQLGEiTwcL7tsYGYBF-1WXpMiIVYw-WiMz6Mhp3Wx7UlxX6QD1GKPr2hpGUoL8oHgxr3fiqkLdPnlHrsZ4pyMa__yDWYmBKtCH0marX4DWVYmGEOWAwauDGcL-IHalJlZffR7YPs2EY/s400/trucke.png" width="400" /></a></div>
<div>
<br /></div>
<div>
<div>
The orthographic camera is "zoomed out" a bit to increase the amount of horizontal space.</div>
</div>
<div>
<br /></div>
<div>
<div>
For this mission the player has control of the vertical movement of the truck to avoid obstacles and aim at incoming zombies. It would not be hard to support other vehicles like scooters and motorcycles, maybe where you control the vehicle but an NPC or player online controls the shooting.</div>
</div>
</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-66006831779744879422020-01-06T10:50:00.002-05:002020-01-06T10:50:47.308-05:00Loose ends<div dir="ltr" style="text-align: left;" trbidi="on">
Just about all the audio is finished. I have been finishing all the loose ends to bring the first 15 minutes of the game together. All the missions, weapons, coins, and currently animated zombies, will be showcased as an early build at least on the Google Play app store.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpDRjPjVswVyGCUcBpHLdHV6J0ai5gqk_Rsr-9hfXF-oS82JPq39YpF3sOpoNlMxHFvCu7k01CzCZniB27ovR1LQyhL57ue94TY7-Nws1gdkSJVMSs4hTRXIp5oZzv0QBXDrPvUFCyyvs/s1600/rainy.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="562" data-original-width="1002" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpDRjPjVswVyGCUcBpHLdHV6J0ai5gqk_Rsr-9hfXF-oS82JPq39YpF3sOpoNlMxHFvCu7k01CzCZniB27ovR1LQyhL57ue94TY7-Nws1gdkSJVMSs4hTRXIp5oZzv0QBXDrPvUFCyyvs/s400/rainy.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwIXjdn7I68BmYXs4QMMajFlt68jYrvVSsTk_5EiFCWNUxCdimrKZMZlk-cz3gBKdLAV8OKOz4Ym79ck34SPDSrwnST2eVxf6Jpnsulf1j0oek7HQya79gSVq4a0tD1sjRPUPFzK4t8tg/s1600/reward20.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="233" data-original-width="400" height="231" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwIXjdn7I68BmYXs4QMMajFlt68jYrvVSsTk_5EiFCWNUxCdimrKZMZlk-cz3gBKdLAV8OKOz4Ym79ck34SPDSrwnST2eVxf6Jpnsulf1j0oek7HQya79gSVq4a0tD1sjRPUPFzK4t8tg/s400/reward20.gif" width="400" /></a></div>
<br />
In addition to reward boxes as shown above, I took a while to contemplate the progression and in-game currency. Each mission completed provides one star to upgrade anything by one point, in addition to requiring coins where prices scale exponentially. There will be an option to reset all stars, but coins are not refunded. I <i>think </i>this will work the way I have in mind.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-17407483998953947102019-12-27T08:14:00.003-05:002019-12-27T08:14:37.250-05:00Hats and more inventory selections<div dir="ltr" style="text-align: left;" trbidi="on">
Some hats and more work with the inventory selection.<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/AVvXsEhWaOZCxZ19JDv97ea7DxLqAQKR6yag0ZP4fTabk13nR_dquG1Q1s5pLZ4M55UPkgXCvhoMZ_q_DeEuznsomZzSIU_D9OcLqivKwkGBPBQj4FoBnp9O7s1BekPbfPZzCUnJCAzEStNH0kg/s1600/granny20.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="300" data-original-width="432" height="277" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWaOZCxZ19JDv97ea7DxLqAQKR6yag0ZP4fTabk13nR_dquG1Q1s5pLZ4M55UPkgXCvhoMZ_q_DeEuznsomZzSIU_D9OcLqivKwkGBPBQj4FoBnp9O7s1BekPbfPZzCUnJCAzEStNH0kg/s400/granny20.gif" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">New inventory system</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
In comparison to the earlier game <i>Zombie Guard</i>...</div>
<div class="separator" style="clear: both; text-align: center;">
<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/AVvXsEhPyyhctjm7mo7Z-_c9_c4rYGppupfm3DQy27ZXHwmI5EMDf2PPCVrCKXSznMI6BQvOGfB7aQ0iQMAVHMwfEwDzejX4iz6N8k_uF-TRVpIBpw0wGre724gYSTcD5wPHrtmDvG7ifyAGs0o/s1600/screen-5.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="540" data-original-width="960" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPyyhctjm7mo7Z-_c9_c4rYGppupfm3DQy27ZXHwmI5EMDf2PPCVrCKXSznMI6BQvOGfB7aQ0iQMAVHMwfEwDzejX4iz6N8k_uF-TRVpIBpw0wGre724gYSTcD5wPHrtmDvG7ifyAGs0o/s400/screen-5.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><i>Zombie Guard </i>(2017)<br />I want to avoid lots of menus and buttons like this</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Hats provide bonuses too.</div>
<br />
I am now working on the long meticulous process of adding sound effects and music.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-43093974403214160302019-12-22T13:47:00.000-05:002019-12-22T13:47:05.267-05:00Landmines, flash bangs, and ray guns<div dir="ltr" style="text-align: left;" trbidi="on">
Landmines, flash bangs, and ray guns.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgewaPR3R28REtZEh-xXNJU3kKSYG5n6dGS19_uvQtaHSGQ2VEHajiZcV65OXX0llQJVrk4txvUy0i3GHyUX-ChIK6N9TR5PWADAYqRdPkpC0RhjLh2ZQi2ofIzOkKvCdKmX0h4U8xQ8eo/s1600/gun3.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="303" data-original-width="500" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgewaPR3R28REtZEh-xXNJU3kKSYG5n6dGS19_uvQtaHSGQ2VEHajiZcV65OXX0llQJVrk4txvUy0i3GHyUX-ChIK6N9TR5PWADAYqRdPkpC0RhjLh2ZQi2ofIzOkKvCdKmX0h4U8xQ8eo/s400/gun3.gif" width="400" /></a></div>
<br />
<br />
Plus a new compact inventory system, by just having circle buttons fly out from the character for selections. I can extend this easily for things other than just weapons.<br />
<br />
Again, keeping it simple. The naive solution would some basic array of selections on a large menu.<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/AVvXsEhc0r0taYWRchau-ZdhqYw7rSbDu5PJS7QIKyl05gWOlThxXWXjVa1mB6T9iYj7h9D2wz6F6HvulIopft_jwLb2-cu0GbNjjIeLl4fPgSYxVgJmhERQ6ZEB-0Ukuayl3WTQ66I2WJbYGuY/s1600/circle.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="546" data-original-width="987" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc0r0taYWRchau-ZdhqYw7rSbDu5PJS7QIKyl05gWOlThxXWXjVa1mB6T9iYj7h9D2wz6F6HvulIopft_jwLb2-cu0GbNjjIeLl4fPgSYxVgJmhERQ6ZEB-0Ukuayl3WTQ66I2WJbYGuY/s400/circle.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Yes!</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<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/AVvXsEgXt-Y9kR2K_sFCcWh_-bOnCHIS9gneyFzSC1neid_e0cKOQkk-ovxl4u56NfXqsNisaL3i0T5ar58569fYRaMHyWvKbac41KbzCl6zPdrS5_ITG9Hpa5Mx3FKhDZ15aDSyXGg6s-bRod4/s1600/weapons.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="546" data-original-width="987" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXt-Y9kR2K_sFCcWh_-bOnCHIS9gneyFzSC1neid_e0cKOQkk-ovxl4u56NfXqsNisaL3i0T5ar58569fYRaMHyWvKbac41KbzCl6zPdrS5_ITG9Hpa5Mx3FKhDZ15aDSyXGg6s-bRod4/s400/weapons.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">No!</td></tr>
</tbody></table>
<br />
That second one looks really bad. There is no implementation for this, just placement of art to get an idea of what it would look like. The disadvantage of the circular interface is it gets dense rather quickly; I will have to categorize selections to show.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-41321694751518005622019-12-19T11:38:00.000-05:002019-12-19T11:38:05.060-05:00"Getting Ahead"<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: left;">
Quick video of a newer zombie that throws her entire head as a projectile. The placeholder name of this area is Baltimore (to be renamed).</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dxlz52Cxh08CiE0GCaB1RQQoFrYTUhsMc6mb7ySwEmTvYYFUfZOhDubU33vLbPmsu3gn2dtDU0BpVnwuNDI8A' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />
<br /></div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-40586972091975624192019-12-19T05:16:00.003-05:002019-12-19T09:41:56.289-05:00Hud<div dir="ltr" style="text-align: left;" trbidi="on">
While creating this hud that depicts life and ammunition of the player, I had to settle on decisions pertaining to the underlying design of the game.<br />
<div class="separator" style="clear: both; text-align: center;">
<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/AVvXsEiDHOftzg6lBmxTH33LsbCvJL3xZM2CAr24bezRiWEuUJ6jMcdo7_vA0kPexf7ns8h3qjBatbxfwt81VL1YYIetzR3ZdlyrSgPXD1sr2FGY2ZtztaKvTP5VzopmtWgdHg1emAeSyxar07I/s1600/hud2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="201" data-original-width="370" height="216" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDHOftzg6lBmxTH33LsbCvJL3xZM2CAr24bezRiWEuUJ6jMcdo7_vA0kPexf7ns8h3qjBatbxfwt81VL1YYIetzR3ZdlyrSgPXD1sr2FGY2ZtztaKvTP5VzopmtWgdHg1emAeSyxar07I/s400/hud2.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">First non-functional placeholder concept (this is just a single sprite)</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/AVvXsEgKATG6TZhT3SXnD6PpSAQo4zg7bd5GZmruvYm5f9VOMVcU8gSLF0AmbfaH0waXxJSkAmWMB_XziNwDPRabTHlgDJeh8jmN0L0YPiuhrIeIubVAhNOGJWOzXS0O_pSKRWli57UkCbkXSUc/s1600/hud3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="112" data-original-width="355" height="125" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKATG6TZhT3SXnD6PpSAQo4zg7bd5GZmruvYm5f9VOMVcU8gSLF0AmbfaH0waXxJSkAmWMB_XziNwDPRabTHlgDJeh8jmN0L0YPiuhrIeIubVAhNOGJWOzXS0O_pSKRWli57UkCbkXSUc/s400/hud3.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Using my go-to style, but this did not match the visual style of the joystick buttons</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/AVvXsEhyJgr_9zteA-151N2yGk_cqbfL97Kke32bF0R4bHFb7sjjbZK24pO5ICykZeqNXDSKQYItZ_EHJ4I3ldeKVtNr7WEksQi86UDMb8xks43d3LRYXkDV0Kgh7sQD0xgF6Orn_l_OVhblIIc/s1600/hud4.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="172" data-original-width="356" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyJgr_9zteA-151N2yGk_cqbfL97Kke32bF0R4bHFb7sjjbZK24pO5ICykZeqNXDSKQYItZ_EHJ4I3ldeKVtNr7WEksQi86UDMb8xks43d3LRYXkDV0Kgh7sQD0xgF6Orn_l_OVhblIIc/s400/hud4.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Using pieces of licensed interface art to create the look</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<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/AVvXsEgZK0t9xi_vPmMjJnylKPzn5YX13A4ElYhUJwqvwp9GsYUiwVfV9kU_f0AKqerymEKcZ7UWFc0FtqNsUqyp-QL7BV1jRI7IbWv_qGCof-kRikkOM3y7ZlGbu7auMOhaOtmQgQqGDTvhdAE/s1600/hud1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="591" data-original-width="1060" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZK0t9xi_vPmMjJnylKPzn5YX13A4ElYhUJwqvwp9GsYUiwVfV9kU_f0AKqerymEKcZ7UWFc0FtqNsUqyp-QL7BV1jRI7IbWv_qGCof-kRikkOM3y7ZlGbu7auMOhaOtmQgQqGDTvhdAE/s400/hud1.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Fully functional, and matches the rest of the interface</td></tr>
</tbody></table>
<div>
<br />
<div>
<h3 style="text-align: left;">
Ammunition</h3>
<div>
<br /></div>
<div>
There will be unlimited total ammunition for each gun. However, each gradually refills at a constant rate over time without the need of a reload animation. When depleted, the player can still fire rockets or bullets, but at a very slow rate as ammo is restocked automatically.</div>
<div>
<br /></div>
<div>
I made this decision to encourage usage of secondary weapons when ammunition of the primary weapon is depleted. If weapons instead were reloaded to maximum capacity using an animation induced by a button (or automatic when ammo is fully depleted), then it would lead to some annoying situations:</div>
<div>
<ul style="text-align: left;">
<li>Being forced to run away while reloading.</li>
<li>Never being able to reload successfully because of the overwhelming number of enemies.</li>
<li>Never needing the use of secondary weapons.</li>
</ul>
<div>
These small decisions may seem trivial, but it makes an enormous impact on future design decisions and the overall feel of the game.<br />
<br /></div>
</div>
<h3 style="text-align: left;">
Life</h3>
</div>
<div>
<br /></div>
<div>
I have adjusted the life of the player to be integers depicted by whole-hearts rather than some adjustable percentage meter. Unlike similar interfaces featured in games like <i>Legend of Zelda</i>, I wanted absolutely any hit to deduct a full heart, rather than half or full on a conditional basis. To adjust difficultly, I would simply increase the chances of the player getting hit, rather than adjusting damage to deduct half or full which could lead to confusion and sense of unfairness.<br />
<br />
Therefore, I do not have to adjust damage amounts through tables and function curves which can turn into a huge nightmare.</div>
<div>
<br /></div>
<div>
Keeping both features simple for now...</div>
</div>
</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-82735998481599002712019-12-14T00:24:00.000-05:002019-12-14T00:24:03.931-05:00Wall defense mode<div dir="ltr" style="text-align: left;" trbidi="on">
This sequel would not be complete without a wall based defense mode. At least in Unity this is rather easy by just setting up a wall consisting of multiple game objects with stationary rigid bodies and circle colliders.<div>
<br /></div>
<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><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi62VjVEracNIR2MPRq0nvqezEZ_stN94HLWTFmQoK_Wh65I_MGNRjoUfVg3b3KXPuzd9YefODbsvjcvhQjQsLOy_ESaTSWVpVuOxerEVTnv-bA9RUA4uV36XtKCciXkYtVhnGVC-tmEKI/s1600/colliders.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="377" data-original-width="562" height="214" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi62VjVEracNIR2MPRq0nvqezEZ_stN94HLWTFmQoK_Wh65I_MGNRjoUfVg3b3KXPuzd9YefODbsvjcvhQjQsLOy_ESaTSWVpVuOxerEVTnv-bA9RUA4uV36XtKCciXkYtVhnGVC-tmEKI/s320/colliders.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="font-size: 12.8px;">Wall with collider, rigid body, sprite, and depth components</td></tr>
</tbody></table>
</div>
<div>
<br /></div>
<div>
The depth values of these pieces when live are automatic through a component that sets the z component of the local position.</div>
<div>
<br /><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNovswkSUsvoNwU-JhEVOR_0hZxvyL5GXadH8O51h1Is6Y9E4A80EjC5RtvWNE0XEwjiAe_IZ_6a5Gm0nSg3D5SVEnI0YXBPU5PTbPH7iKMNYX_zsZk7KTgB-tSLI6xL4uR_rHu9__690/s1600/wall.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="588" data-original-width="1054" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNovswkSUsvoNwU-JhEVOR_0hZxvyL5GXadH8O51h1Is6Y9E4A80EjC5RtvWNE0XEwjiAe_IZ_6a5Gm0nSg3D5SVEnI0YXBPU5PTbPH7iKMNYX_zsZk7KTgB-tSLI6xL4uR_rHu9__690/s400/wall.png" width="400" /></a></div>
<div>
<br /></div>
<div>
This worked much better than expected. I just force the humans to always face right, only create enemies on the right side, and just let physics and basic AI do everything else.</div>
</div>
<div>
<br /></div>
<div>
I also added some other minor features, like reward boxes with randomized contents.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp_Wd_9FV_nX6U5yESSokGqBqN9URcsiKlRxAZCZfSL4_4o5DTdylUVtlrETsJNGWiZ4fBKhYPNeaN5PCjgg8yn_nTVi9osM7pAcJmNQmR6qTSIHkDJlq4TcvUYXZPRtO-qI3rsFclx8g/s1600/wall2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="584" data-original-width="1053" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp_Wd_9FV_nX6U5yESSokGqBqN9URcsiKlRxAZCZfSL4_4o5DTdylUVtlrETsJNGWiZ4fBKhYPNeaN5PCjgg8yn_nTVi9osM7pAcJmNQmR6qTSIHkDJlq4TcvUYXZPRtO-qI3rsFclx8g/s400/wall2.png" width="400" /></a></div>
<div>
<br /></div>
<div>
Moving right along....</div>
<div>
<br /></div>
<div>
If this first area of the game with these several characters for missions and weapons work out, then extending this experience through other areas and content will be rather straight forward.</div>
<div>
<br /></div>
<div>
I figure each area will have unique missions, but each will have common ones like exploration and wall-based defense with randomized rewards.</div>
</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-10442316503861688962019-12-06T00:47:00.002-05:002019-12-19T09:38:41.310-05:00Characters<div dir="ltr" style="text-align: left;" trbidi="on">
A bunch more characters ready to be exported into separate parts for animation. There are three arms for each character, swapped depending on the weapon or item being held.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRG9MWpY6QTvmQcJz2uKpRqAuj-Ndx2JG-6jm8Iu_qmkMO22cZEfgwMTh9zS7spZJFcy6OMQeE9jXVOneGdepYqr0eD0hGuThDoGzXSR6LyU5l7j4xSUqT1Yne6ItnRP7D747mOeu-gTw/s1600/chars.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="366" data-original-width="1238" height="117" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRG9MWpY6QTvmQcJz2uKpRqAuj-Ndx2JG-6jm8Iu_qmkMO22cZEfgwMTh9zS7spZJFcy6OMQeE9jXVOneGdepYqr0eD0hGuThDoGzXSR6LyU5l7j4xSUqT1Yne6ItnRP7D747mOeu-gTw/s400/chars.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Some of these are from my previous games, improved and redone at a higher resolution.<br />
<br />
Scaling is a bit of an issue. It is still better to make the parts slightly bigger because it can be scaled down, despite reducing relative thickness of the lines.<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/AVvXsEiThcLMSbSD_tyEg-VNFsZUYUJ4UjZmN0FR7wcT6fVsetUKy6OsxuT8HhzL1EswmeNmA9V2ecrE9PB2gu2EWbzJ5MucaJmB3hHMNcortt0a1rw5El8bgZ6uglp8pTC_GCFOXZGY1-dw9dw/s1600/changes.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="791" data-original-width="723" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiThcLMSbSD_tyEg-VNFsZUYUJ4UjZmN0FR7wcT6fVsetUKy6OsxuT8HhzL1EswmeNmA9V2ecrE9PB2gu2EWbzJ5MucaJmB3hHMNcortt0a1rw5El8bgZ6uglp8pTC_GCFOXZGY1-dw9dw/s320/changes.png" width="292" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Top: new characters. Bottom: <i>Zombie Guard</i> (2015)</td></tr>
</tbody></table>
<br />
I like to use really thick bold lines. Shadows tend to shift towards blue, and highlights tend to shift towards red and yellow. I never use pure black. Shapes tend to be curved and obtuse. When in doubt, I make something larger or thicker than necessary. Small details get omitted.<br />
<br />
<h3 style="text-align: left;">
Back to programming... and the perils of design</h3>
<br />
These are enough for now. I can go back to programming with the content I have. At this rate I could at least distribute a demo within a month, to showcase the first 15 minutes of the game.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-37746518654683647812019-11-28T22:18:00.002-05:002019-11-29T00:12:51.742-05:00Missions<div dir="ltr" style="text-align: left;" trbidi="on">
I got a few more characters and basic interaction with non-player characters (NPCs). There is some dialog and missions that can be activated through a scripted sequence of events. I want this to break up the monotony of otherwise just slaying zombies while unlocking equipment. Here are some ideas featured in some missions:<br />
<br />
<ul style="text-align: left;">
<li>Restriction to just one specific weapon</li>
<li>Run nonstop, shooting and avoiding obstacles</li>
<li>Defend behind a wall (<i>Zombie Guard</i>)</li>
<li>Escort an NPC targeted by all zombies</li>
<li>Recover item(s)</li>
<li>Survive over time</li>
<li>Passively only heal NPCs</li>
</ul>
<br />
Comparably, <i>Zombie Guard</i> has no story and the dialog is semi-random. It has unique survival modes, but otherwise is just wall-based defense. This limitation was not necessarily a bad design choice.<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/AVvXsEhQMI7FB2gWAXhYJ1IkS_cNxGj1vdOyrdkn8YWcQPiAiO6gH6W6APvlpes7f0PDN5BMVVODy50wh1Fvj-atIpoXFWDDfBmJzcNwrR5MqaNHddM-I4dL_cTe7rqXaVVHibKueHeC0by2_wE/s1600/char.png.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="623" data-original-width="1058" height="235" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQMI7FB2gWAXhYJ1IkS_cNxGj1vdOyrdkn8YWcQPiAiO6gH6W6APvlpes7f0PDN5BMVVODy50wh1Fvj-atIpoXFWDDfBmJzcNwrR5MqaNHddM-I4dL_cTe7rqXaVVHibKueHeC0by2_wE/s400/char.png.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Quick creation of an additional character (also seen in-game below)<br />
The body parts replace the existing skeleton animation, so no additional animation is necessary.</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/AVvXsEgrxW1LhnN5TETL17r81wYjVyb5bKcVWm_xTO-zRM96gHiokrf7qhTbe4legVoeAaMYPBjKoRQDDWpShytCk1k7ccuv7EU3XvjsdcVJ6-TF0iLDpwfP9rc-RFZvpjjDLZOFNFs8a8VIWPA/s1600/screen3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="593" data-original-width="1061" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrxW1LhnN5TETL17r81wYjVyb5bKcVWm_xTO-zRM96gHiokrf7qhTbe4legVoeAaMYPBjKoRQDDWpShytCk1k7ccuv7EU3XvjsdcVJ6-TF0iLDpwfP9rc-RFZvpjjDLZOFNFs8a8VIWPA/s400/screen3.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">NPC interaction</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<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/AVvXsEhxWBIBjbF9lDk2YJ0LHgVRRAFWO9aMyAl4HR8FUD5HXy9C1cAw4htSCQC7s4ofjLywMGTOKBFpFanStxgPIzrBp4U-dxenisXIzz5TQp9BoY-WQEurYceYwCenoNAAFen1QG1PS7QOguc/s1600/screen1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="593" data-original-width="1061" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxWBIBjbF9lDk2YJ0LHgVRRAFWO9aMyAl4HR8FUD5HXy9C1cAw4htSCQC7s4ofjLywMGTOKBFpFanStxgPIzrBp4U-dxenisXIzz5TQp9BoY-WQEurYceYwCenoNAAFen1QG1PS7QOguc/s400/screen1.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Taking advantage of Unity's powerful Canvas rendering system for arranging UI.<br />
A reference to a classic film.</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/AVvXsEhP3dw8evmUsiNs7aAVzE-hTcmz6V3l7QUehBAVDMVFZJT2yRfZQSURXmPl2Bxps4r1fm8kMqDRE92ILJefofJuC65WdMknW3sNXQz1wlA0Jo45T6-DwsfleJFjqFOMulHh0UnB2FN133M/s1600/screen2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="593" data-original-width="1061" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP3dw8evmUsiNs7aAVzE-hTcmz6V3l7QUehBAVDMVFZJT2yRfZQSURXmPl2Bxps4r1fm8kMqDRE92ILJefofJuC65WdMknW3sNXQz1wlA0Jo45T6-DwsfleJFjqFOMulHh0UnB2FN133M/s400/screen2.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">An active mission</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
The text will be in English, and voice sound effects are just mumbles and gibberish so I can localize into other languages later.<br />
<br />
The controls (bottom right of screenshots above) ordinarily used for weapons dynamically changes to NPC interaction options. Keeping it simple.<br />
<br />
Speaking of simple, I spent the evening learning more of Unity's Canvas rendering system to avoid having to implement my own custom interface components.<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/AVvXsEhAznYINvbxa-O1rtW_AiKqdpRnSfl0yY9Opsiceprenu_jLUga8YCBpQgx-c9kg5czdoj8By3shuf3kbIjpeaJTaIcsMusIDfW2nzyYpPBITel5zXxm3LhneXYHnAyIjGg1m2ZK_icjZ4/s1600/engine.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="814" data-original-width="1600" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAznYINvbxa-O1rtW_AiKqdpRnSfl0yY9Opsiceprenu_jLUga8YCBpQgx-c9kg5czdoj8By3shuf3kbIjpeaJTaIcsMusIDfW2nzyYpPBITel5zXxm3LhneXYHnAyIjGg1m2ZK_icjZ4/s400/engine.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Canvas related components for rendering multiple lines of text </td></tr>
</tbody></table>
<br />
Just the Text component alone is insufficient for multiple lines of text that automatically scale and constrain within a desired width. An additional panel with components like ContentSizeFitter was necessary. None of this was obvious, but now it makes sense and I can see myself utilizing more of these built-in components.</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-17530026684570322752019-11-20T16:32:00.000-05:002019-11-20T16:32:01.608-05:00Melee<div dir="ltr" style="text-align: left;" trbidi="on">
It seemed necessary to include melee weapons. The collision is checked with a line segment during a key frame of the animations. At first it was not working correctly at all times, so I used <b>Debug.DrawLine</b> which showed me I was not properly setting a transform to the correct parent object.<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcfpfcrnm65igHUavrv4QTlgOjXmqBsquRnLmkh0j0N9e63xBUnW44lJI7o8kuFaEBKQoFHwRFUbgLyRPjtjgRBwCuJdhCyIUurqPBiUFmCBjL3pALb3_7tV-IH-7uLJCSomLOR024BBA/s1600/collision.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="919" data-original-width="1158" height="253" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcfpfcrnm65igHUavrv4QTlgOjXmqBsquRnLmkh0j0N9e63xBUnW44lJI7o8kuFaEBKQoFHwRFUbgLyRPjtjgRBwCuJdhCyIUurqPBiUFmCBjL3pALb3_7tV-IH-7uLJCSomLOR024BBA/s320/collision.png" width="320" /></a></div>
<div>
<div>
<br /></div>
<div>
I'm putting effort into better animations, and properly using a multiplier in code for the animation speeds so feet do not appear to skate across the ground. The <i><a href="http://esotericsoftware.com/"><b>Spine</b></a></i> tool for animation is really practical and allows multiple animations to be blended together automatically, like walking, swinging, and pain reactions, all simultaneously.</div>
</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/AVvXsEjLOJLusrgjjmay0PtfkP9_TjjTaj5g3sdTW-GaPVCaaBI8U46ZBSVsLZKx0YEknJPhaI_CImAIZCGn7ho5-UQ3_mF06jwWZKY05QLJf9Lw-eC_gE4AoajJCiHKzte_pGAOcofpvp1MqNM/s1600/spine.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="900" data-original-width="1600" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLOJLusrgjjmay0PtfkP9_TjjTaj5g3sdTW-GaPVCaaBI8U46ZBSVsLZKx0YEknJPhaI_CImAIZCGn7ho5-UQ3_mF06jwWZKY05QLJf9Lw-eC_gE4AoajJCiHKzte_pGAOcofpvp1MqNM/s320/spine.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Spine Animation Tool</td></tr>
</tbody></table>
<div>
<br /></div>
<div>
Also the shader has been modified, so I can apply additive and modulated tints. As soon as I did this, it became clear that some bullet projectiles were hitting multiple targets if collided in the same frame, so this has been fixed by adding a flag that permits only one target.</div>
</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0tag:blogger.com,1999:blog-2969109005879110089.post-83952936831662972212019-11-17T13:12:00.001-05:002019-11-18T18:30:09.906-05:00Half dozen weapons<div dir="ltr" style="text-align: left;" trbidi="on">
I got four weapons to show, plus more just about finished. Some extra effort was necessary for the green ooze gun which creates debris and a puddle. These components can be reused just by changing the sprites.<br />
<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/AVvXsEhxBSXTsL7UiF4dse-yylKQ2nJ-c2gT9EVI_kWleVKGhvHfuKsOhf9Dbm9nfGY4UeHFfc5XRVGYzgokZPHxI1v72VMe-V49GU67EGQiW9-hAkxEV1JsdYRckRPlJvW5u3cVIBl4LKguLR4/s1600/gun12.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="275" data-original-width="450" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxBSXTsL7UiF4dse-yylKQ2nJ-c2gT9EVI_kWleVKGhvHfuKsOhf9Dbm9nfGY4UeHFfc5XRVGYzgokZPHxI1v72VMe-V49GU67EGQiW9-hAkxEV1JsdYRckRPlJvW5u3cVIBl4LKguLR4/s320/gun12.gif" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Oozer</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/AVvXsEgpa0X99L3VwRQvtYTio9v62-oX9ZP0tGTCifmDlE8xSv71mxcqxn4ytVGb_URL5rtnRS6C7Sv4Io9P3XNZu_7M4jFk5-o55WlOs-fMWQxI1U1TrnNtrHuXaYnA4wT0dCvtofBa9ZYOtuQ/s1600/gun22.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="182" data-original-width="400" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpa0X99L3VwRQvtYTio9v62-oX9ZP0tGTCifmDlE8xSv71mxcqxn4ytVGb_URL5rtnRS6C7Sv4Io9P3XNZu_7M4jFk5-o55WlOs-fMWQxI1U1TrnNtrHuXaYnA4wT0dCvtofBa9ZYOtuQ/s320/gun22.gif" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Mini Blaster</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/AVvXsEjVB7gYHcfpTmHvMBzDoZNdu7OUP2wqmGzTlUOyD62UCysMRi4UWjQSOQ5HE6yTGm4aOQiZdP8mSHXKm5O2oNmjQYnjBGuNLu5EwArRb5qmODN69SIMlJvFE8r0SWcQVXbHsqEg97N0alg/s1600/gun32.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="182" data-original-width="400" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVB7gYHcfpTmHvMBzDoZNdu7OUP2wqmGzTlUOyD62UCysMRi4UWjQSOQ5HE6yTGm4aOQiZdP8mSHXKm5O2oNmjQYnjBGuNLu5EwArRb5qmODN69SIMlJvFE8r0SWcQVXbHsqEg97N0alg/s320/gun32.gif" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Ricochet Cannon</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/AVvXsEjTccY2Ky4Rx-cVX41kUTdp3-PIx6egcdsPRUJ1F0DS3kddOOjzDBa0pgBbxmK4zr-Wb3Z5OWMEUxJOW3kZECSwhxqKPya02lLApJMsBXbbr-9gU5FDDQ4_eUAuRlqpoxXNRVo5t6rPfMM/s1600/gun42.gif" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="253" data-original-width="400" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTccY2Ky4Rx-cVX41kUTdp3-PIx6egcdsPRUJ1F0DS3kddOOjzDBa0pgBbxmK4zr-Wb3Z5OWMEUxJOW3kZECSwhxqKPya02lLApJMsBXbbr-9gU5FDDQ4_eUAuRlqpoxXNRVo5t6rPfMM/s320/gun42.gif" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Shotgun</td></tr>
</tbody></table>
<div>
<br /></div>
<div>
The projectile system will automatically use ray-casting for continuous collision, if it is moving faster than a certain speed. There is absolutely no gun or projectile specific code in the small projectile system, because everything is data-driven through code. There are all kinds of ways of doing this, but this works best for me in the long run.</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/AVvXsEhntqUv9gJKBOThMwtztkLBhh8wZt0t4RNIjTRVYP-M2uOTp4AFL9g5RTll0cW8dYAhOQFKnDwsmn04fzg73WptyhtwPZr9ZiEp0Ri3gyYACrcf3XRLc4p9iesBGW54DUWDYjdLZoh1xIU/s1600/rustgun.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="784" data-original-width="677" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhntqUv9gJKBOThMwtztkLBhh8wZt0t4RNIjTRVYP-M2uOTp4AFL9g5RTll0cW8dYAhOQFKnDwsmn04fzg73WptyhtwPZr9ZiEp0Ri3gyYACrcf3XRLc4p9iesBGW54DUWDYjdLZoh1xIU/s320/rustgun.png" width="276" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Projectile data for the Ricochet Cannon above.<br />
Member variables are not readonly because I do change these values live.</td></tr>
</tbody></table>
<div>
<br /></div>
<div>
This style is kinda something I derived from <i>Quake</i> games written in C, my first exposure to game code. The style just kinda stuck with me. I could instead just use more prefabs and the Unity editor interface, but I prefer code to easily search and manipulate many at once if necessary.</div>
</div>
Elliothttp://www.blogger.com/profile/05062120103965263222noreply@blogger.com0