Monday, August 28, 2017

Pizza Bot

This next project 16 will be a small arcade style shooter for mobile phones! Control a flying bot that is on a quest to deliver a pizza! Sounds easy enough..? But other competing corporations have deployed their own drones to intervene an otherwise simple task. There will be three bosses and continuous play for competitive high scores.

Unity

In-game shop interface

Spine for all animation

Clip Studio for all the art


Tech

This game is written in C# using Visual Studio Code which I really like for being lightweight and powerful. Unity is component driven, and I forced myself to embrace the paradigm. It gets easier to implement additional enemies because it is just a matter of dragging and dropping existing components from my library. Also tiny bits of polish like spasm animations and fades can be easily sprinkled on arbitrary game objects.

This small mobile game is serving as a great learning experience for my next ambitious title. Still, despite all the newness, it does not take long until it just becomes a familiar environment, and a huge mountain of work.

I had been using Adobe Animate for HTML5 and CocoonJS to package the web games as apps. It works, but seems like a precarious setup; I am weary of support on particular phones. I wanted to play it safer with Unity - a more recognized and well-funded engine that now has a more stable HTML5 export option, with direct support to build native apps.

Art

The art is an intentional simplified style through Clip Studio Paint, so I would not obsess over the colors and lines in this small project. It is supposed to look like ink and watercolor on grid paper, and it is fairly convincing when viewed on a phone or tablet.

For animation, I bought a license for the Spine tool. It is a rather intimidating tool, but took only a day to get the hang of.

Design

This game is heavily based on the Web game Frantic Frigate with a different theme and style. Actually at first I had started a hotel management game, but that would have been an excessive undertaking because my previous apps need some time and maintenance.

A scrapped prototype

Still, I think most of my games are a bit too casual, easy, simple, and even childish. Frequently I have wanted to branch into deeper territory through darker themes and games that evoke emotional responses. Then there is the other side of me that wants to sell out by making more casual defense-genre games.


Business

I feel secure by continuing to focus on apps for Google Play, monetized with Google AdMob and in-app purchases. Immediately following this project, I will go back and update all my apps with in-game video ads or banners to further boost my income. I came out empty handed with other networks like (*cringe*) RevMob. I am wondering if I can deploy my future Unity games onto the Web with AdMob as well.

Overall

It is just a matter of plowing through all this work. I am securing my current and previous projects, in order to create a blank slate when I go abroad. I believe an appropriate environment can play a huge role in being open and creative. Despite being an introvert, I actually draw a great deal of energy from the hustle and bustle of cities - the lights, sounds, aromas; it is incredibly inspiring. Plus on the contrary, having my own furnished and minimal apartment will allow me to be closed, disciplined, and focused.

Sunday, July 16, 2017

80 Days Remaining

There are only 80 days remaining until I fly out and begin my new life abroad!

I have already watched hours worth of YouTube videos and Netflix specials on Thailand, particularly the Northern city of Chiang Mai, where I will be living as an expat for at least six months. The area just seems so enchanting; there is a strong presence of Theravada Buddhism and prevalence of night markets, street vendors, and modern attractions. Thailand and the general region seems familiar to me.. after all, it should; I spent first and second grade in Myanmar, followed by third, fourth, and fifth in South Korea. Actually, I have lived half my life abroad (military family growing up). The sights and sounds of South East Asia particularly beckons my return.

Chiang Mai is one of the highest ranked destinations for individuals who earn a living through the Internet. It is clean with modern apartments and evidently is not short of restaurants and things to do and see.

Chiang Mai, highly ranked on NomadList.com
Plus, food especially is less expensive in Thailand compared to the US, leaving far more funds to splurge and invest. Recently I went out to have a nice dinner in Baltimore which cost around 30 bucks; I left a customary 15% tip of five dollars. In Chiang Mai, the five dollars gets you the entire damn dinner.

Asian cuisine actually is something I will never get tired of. The contrasting aromas and flavors of Thai cuisine particularly is like a kaleidoscope for the senses. I have my eye on some cooking classes in Chiang Mai, where I would be able to learn the traditional methods. Still, I would never be any match compared to an experienced street vendor.

"Chicken Khao Soi" - Wikipedia
Khao soi apparently is a popular dish in the region - a Burmese influenced noodle soup typically served with pork and crunchy fried egg noodles on top. I have yet to try this. I plan to forgo airline "food" in anticipation of what awaits.

Thursday, July 13, 2017

Office "Ink"

I have been experimenting with some newer brushes available for Clip Studio Paint, to create some conceptual illustrations of some design ideas. I've come to really like the look of blue ink and digital watercolor. When placed on a scanned page of grid paper, it can look convincingly "realistic".


I would prefer not to use my usual vector-like art style shown on the right.


Above is a concept I painted in a few hours, partially inspired by Sim Tower from the 90s. I made things pop with white outlines and air brush, like cutouts of paper shadowing on top. If I were to attempt all this in my vector style with full colors, or even some semi realistic style, then it would probably take days of arduous effort and still I would not be satisfied. Sure, this monochromatic blue style lacks contrast, but it gains contrast when compared side-by-side to the other games in the app stores that have super vibrant colors.

Monday, July 10, 2017

Gassy Goat - Gameplay Trailer!

Well, I have dusted off the nearly finished project of Gassy Goat! This is a game that I put off from completing about a year ago. Honestly, I really did not want to finish it a year ago - I was so tired of playtesting it; beating it from start to finish was just arduous. Now after time has passed, I can see it as a newcomer, where some features are better or worse than I recalled. It is bittersweet.

Here is a trailer gameplay video I made last night:


"Hey, this is actually kind of fun" I thought to myself while perpetuating the goat into the air while grappling onto birds and other animals. Likely this game will do quite well for the casual gaming audience. There is very little text so localization into other languages is unnecessary.

In other words, the game is now complete, so that's a bit of weight off my shoulders.

Monday, June 19, 2017

Almost there

A little closer each day! I am satisfied with the way this feels and plays. I changed lot of interfaces to make it more legible on smaller devices like phones. The game has been simplified for the casual audience, while still retaining a lot of the original concepts I wanted.

I added weapons that have limited durability, or, clicks/taps until the weapon must be discarded. Enemies have various elemental resistances depending on the environment, making way for some strategy in hero and upgrade selection. The game starts slow, and grows, with a constant sense of progression. I actually have started playing it, and it shows a lot of potential. After I sprinkle in some more polish and finalized features, it should be good to go.

Weapons offer a different style of play, where some players may prefer the tedious clicking/tapping, versus long term expensive heroes and upgrades.

Shown are various heroes and an equipped sword for clicking/tapping. Currency can be used to upgrade heroes, weapons, buy trinkets, etc.

Quests, showing objectives and rewards. As simple as it gets. Boxes can be selected for a description on the side. For example, enemy hitpoints, elemental resistances and weaknesses (physical, ice, fire, poison, lightning).

Similar as the interface in Zombie Guard, I used a simple node system that allows features to be added more easily, without overhauling menu and interface art. Meaning, it is easy to add additional features later.

At this point it is playable. I still want to add even more progression by offering options granted by resetting all heroes, hero skills, upgrades, gold tokens, trinkets, weapons, etc. As if resetting to the very beginning, but, with minor permanent improvements that have a very high value in the long run. For example, permanent increases in damage, increases in hero experience gains, faster weapon attacks, etc.

Sunday, June 4, 2017

Nomadic

In four months from now, I will be on a plane to begin my new life as a "digital nomad". This is a relatively new movement that consists of individuals who earn a living through the Internet, and work remotely as they travel sporadically.

There is no doubt my current residence of six years and social community has a lot of benefits. It is safe and we have everything we could ever need. Still, I constantly feel strained and weighed down in a way that is difficult to convey without getting into details.

...Yup! Drastic change is imminent. Vacations only have a short lasting effect on me. I need a complete change in lifestyle.

I leave October 3rd to stay in Thailand for seven months. From there, probably Vietnam, South Korea, and Japan. I am spiritually connected to Asian culture, and, I am very introverted so traveling solo is quite appealing to me. I will take my laptop and bare necessities, working on game projects wherever I go.

Thursday, April 13, 2017

Optimizations..!

Moving right along. Many heroes for my idle game have been animated and fully programmed, along with the main systems for particle effects and such. With some more art and features underway, it should be playable quite soon.

Unlike Zombie Guard, I'll be releasing this sooner rather than later, followed by more regular updates to features and bugs. Eventually it will make its way to some of the bigger portals like Kongregate, then, as a standalone app for Apple and Google Play.

This is an HTML5 game that plays well on a PC/Mac browser with superb performance. I played it on my phone as well, both in the Chrome browser app, and, as a standalone app by packaging it with CocoonJS.

The good


Everything just frickin' works so I do not have to waste time porting my game to a different library for a different platform. HTML5 is proving to be very useful and I hold a lot of trust in its future. The design of this game allows me to introduce additional features over time. Google Chrome has incredible features to debug and benchmark performance so it will help tremendously. I would much rather debug on my PC, rather than fire up some esoteric software packages to extract debug information off my phone, for bugs that only appear on the device and not the simulator *cringe*.

The bad


The game can run quite slow on mobile devices like my Android phone. I can work with this, by sprinkling critical optimizations here and there. Particle effects will have to be reduced as that seems heavily expensive, likely due to the code compared to the actual rendering. Compressing all the code with Minifier helps a tiny, but it is better than nothing.


The game has excellent performance on PC, despite many art assets and animations.


Eventually I will be able to compile all LiveScript files to Javascript, reduce and obfuscate the Javascript with a service like Minifier, and then upload to a private domain along with recent changes. All this will be done automatically with a build tool like TeamCity which came recommended to me.

So, enough tech talk...



I recognize I have been going even further into a casual gaming direction. My previous work already was fairly casual, and now this idle game even more-so. The market for these kinds of games is strong and reliable despite the competition. My plan however is to create something far more artistic, stylized, and meaningful, following this idle game.

Tuesday, February 21, 2017

Idle, and why?... because botting is fun!

I want to share with you my motivation for making an idle game, a quickly growing genre in the past several years. These are games that do not require a lot of hands-on time to play. To me it just all comes down to one thing: progression. And steady progression tends to feel rewarding and "fun" to the player. It can be addictive.

One of my favorite idle games is not even an actual idle game. It is Diablo II that still has a community of online players. The game gets very tedious near the end of the game, to further progress and find items. That is where botting comes in, using custom scripts. Basically you design a character, play through the interesting content, and then have a program do most of the rest.

Sounds ridiculous and pointless right? But it actually is fun, to check in and find that your character mindlessly found that extremely rare item with a 0.000002% chance of dropping, while you slept through the night. You can then further refine your character by trading items online and revising the script files to improve your character, in order to reach level 99 more quickly - this takes an insane amount of actual time even for a bot.

Wait, it gets better. You can buy additional CD keys and run multiple characters at the same time. This is not my video, but it demonstrates the point:


By doing this, you get to find those extremely rare items more quickly, to arm additional characters. This way of "playing" transforms the game experience from skill to optimization strategies. Like, being a coach rather than an athlete.

Thursday, February 16, 2017

Global Game Jam 2017

Global Game Jam 2017 was recently held worldwide. The event just keeps getting bigger with more cities and locations participating each successive year. NYC alone had over 500 participants hosted in the Microsoft Building in Times Square.





I showed up and collaborated with five others (four, after one had an emergency the first evening). We used the Unity engine and Discord to communicate easily and share extra files. I was really impressed by Unity's collaborate feature - built-in cloud source control.

The theme was "waves", which was open to interpretation - especially for fluent English speakers. Waves may only translate to physics based waves suggested by the keynote video, and not the additional interpretation of gestured hand waves.

This was the first game jam ever where I wrote virtually no code. I was basically an assistant artist, filling in gaps, and hunting down audio. So, needless to say, it was fairly relaxed for me, with the exception of the 36 miles I walked according to Google Fit.




.