Monday, October 21, 2019

Duel Otters is revived

First of all look at the post date of this previous post in the series :, this post is the final one. "What the fuck" I genuinely thought. How did it went from July to almost the end of October! Hahahaha!

It didn't go to waste as that was spent on learning how to make a servicable game backend (Firebase Firestore + Protobuf) and creating a new website (Svelte + Rollup) which the tech used are completely new things for me, but I let the technical things slide for now. This article instead I want to talk about how I feel yesterday.

It's done. Duel Otters 2.0 rework I started working since around 20 April. That makes 6 months for this game savaging project. The game is revived. I am not letting you die. It may have started from just a simple reason back in university. The reason for fighting now may change (a bit), but I still loved the content I made the same. Though I hope that you see how far things had came from that point. Life's really interesting.

I can't stand Duel Otters becoming worse than my average, and my average went up progressively that the old code became complete junk of unmaintainability. If I summon my 4 years ago self, it would be maintainable. But the present me don't want to continue making it unless I take care of it a big time which I did.

Duel Otters is by nature a game with update stall potential. As in the game is considerably "clean" and could be tucked away in the device for long time. Constant update is not really needed. The family friendly graphic is accessible and is a promotion material for many YouTube channels that wanted to just play something stupid. However comes with that is less revenue potential because that design would make the game unclean.

It could survive forever as it was, but this release made it very solid that it acounts for phone's notch and various sizes, crisp fonts ready for localization, and a very little bit more revenue potential that it do not push the game too far from its territory. (e.g. I am not supposed to add daily login, gacha, and collectible melding system in this game) It's a super solid game now! I dare say so. By the way, I have registered a new domain and made a new website worthy of this rework : The old URL now forwards to this one.

Also I have met far too many people that says why do I intentionally do something that I do realized makes less money than alternatives. This is the same type of people who says do whatever it takes that makes money first then you can do anything as you wish. As my mom usually tempts me to quit and just do jobs like everyone else, until I get stable, then make games or stupid shit that makes less money for fun. I think they put too much weight on money than time and life, and they don't think life exists inside work. Also I hate the word "work", since others view me as a no-life and always working as opposed to actually living the life in my work. It's natural for others to not care about the work to the spiritual level because life starts after working and getting to spend that money.

All things that make money also take dedication, as so the things that doesn't make as much money. Go make money with dedication, can you still respect the then thing you want to do next when you have money? I have already live my life as I journeyed here and it took this much time. Imagine if I have to farm money first where would be this Duel Otters 2.0 now? Will I be this equally happy? Instead I maybe happy with money and potentially something like traveling, friends, or family, that game development doesn't matter anymore, but that's me in an alternate universe. It's almost equivalent in stock trading where you could keep wondering "what if" all day.

I got iOS done first, as always iOS is easy to work with. The climactic final boss being the classic Android build that close immediately on open with segmentation error on start, and nothing else. Works on machine, but when that goes to Google Play and back via store download it didn't start.

This type of problem with no clues requires you to remove your game piece by piece or reverting back time step by step until it works again, then try to reason is it that last piece you removed that is the problem or a combination of that and other things you removed earlier. Which is annoying but (theoretically) guaranteed a fix until you reduce your game to nothing, which if it still doesn't fix the problem then it's the game engine's problem. (Which you now feel even more stupid as you could have test just the engine in the first place)

And after days of randomly removing things, the solution I found being just by upgrading Unity from 2019.1 to 2019.2. lol. Normally the common sense would be don't touch the engine or upgrade anything before release and keep it stable, but sometimes it is the present one that is unstable. Anyways, I "beat the game".

What's left? It's just pressing that release button. This is my 3rd real graduation ceremony. The first one being the first release of Duel Otters. The 2nd one being the day I succeed in submitting the song to be playable in commercial music games. This is the 3rd one.

I don't consider the actual graduation ceremony which I received my paper-based degrees to be the real one, I always thought that's because I was on a pre-created rail and I just happen to board the train and of course it ends (also I hated my own for-graduate Master paper). Things like this (game developement, making music, Unity ECS, even high scores in arcade games?) that I drove myself from the beginning on my own and finally "deliver" or get shit done, I think it is really something. I clearly feel it, even without ceremony or parties. One more thing added to the "finish your own shit" list. And it wasn't easy, there are too many shits I started on my own and unfortunately didn't finish, like Japanese study, playing keyboard, Khim, or electric bass, or learning watercolor. I feel bad, but I guess I learned some lesson from them bit by bit how to finish things you started with pure intrinsic motivation.

If I am to start my own company, I would like to say in the recruit poster that the required skills are just three : Learning mastery, English, and getting shit done. No need to make me a radial graph of your Photoshop or Excel skill. No need to list your preferred programming languages. You are required to brag about all your accomplishments in your life as much as possible. The one that you stick with it on your own for very long time and did finish it in the end gets more point. It could be as simple as losing weight, made your first doujinshi to sell in an event, learned your favorite instrument, finished a marathon, etc. They all worth more than a big list of languages and tools you can use because I know game dev is a long drawn fight with yourself. If you can show you are determined enough in something even completely unrelated to game devs, then I have faith in you.

As for learning mastery combined with English (and Google), it already means you are the one with open mind and strive for improvement. No "but I have already used to X, it's too hard to start learning Y now" excuse when the situation call for. I am willing to give learning time to anyone if they are willing to learn. (But you do have to be able to learn fast!)

That final boss fight was Saturday 19, October. Then the next day I would like to document this :

I woke up for the first time with completely neutral head.

I have always wake up with "ok here we go again, what's next...." for so long that it became natural. What happened yesterday night? What's left to do? It's not like I am not playing Overwatch or Monster Hunter Iceborne almost everyday, but the continuity of project is always on my head. Unlike when I was an office worker when I could completely shut down work from my head as soon as I step out of the office, this is my game now and I care about it. It draws parallel to shut down and hibernating. In office work, I shut down and it's completely gone. The next day 10 AM I boot up and recollect the memory "where was it..." again and that took away at least 30 minutes to get back to full speed every day. But I couldn't care less, since with the might of salary system I always get closer to the money no matter how I spent my time! Convenient! (I was very willing to spend that boot up time lol) In contrary with my game it's hibernating, it never left the head at any moment. Sometimes when eating or sleeping or playing games it seems to be gone but I could get back to it in less than 5 seconds. Someone with long-running personal project maybe could releat. Almost as if you could feel it swirling in the head all the time. What next? What next? It keeps begging you to continue little by little.

Immediately after I put down my PS4 controller I naturally open Unity and my Git client to make progress, every day for years now. With a laptop (preferrably MBP for it's solid-ness and insane battery/trackpad that I could stop using mouse forever) I could do it everywhere including bedside or toilet. There is a plug adaptor in front of toilet where I sometimes connect to the inside when the laptop has unfortunate battery level, I am glad I didn't get electrocuted to death before it finished especially when my adaptor was beyond repair. (Thanks to the angel that sent me a brand new MBP adaptor via GrabBike to my place!)

But this sunday it's different. I remembered this feeling back when in university weekend is really a weekend. I wake up completely neutral. No tutor to go to like in high school. It's a completely free day like weekend supposed to be. It's back again after like forever! One thing I dislike about tutors is that you never feel neutral on waking up ever again but everyone had to do it for better scores. I remembered the happiness to wake up in the weekend just to get into Ragnarok or Maple Story and take the crucial leveling spot. The day is yours! It's that feeling.

I think I was smiling a bit by myself on the bed. There's actually nothing left to do. (I actually have more projects waiting including Mel Cadence and more Asset Store stuff but that's for another time and I don't want to think about them lol) I took a bath without thinking about coding route I am going to speed my way through in the evening. Of course this is the promised day, let's go to the arcade to play DDR!

I am getting pretty good at artificially rewarding myself. The game Dance Dance Revolution that I played for many years now just getting a big upgrade (the game rarely gets a big upgrade, it's not mainstream and got less care from the devs unfortunately), but I told myself I would not go play until the game is done. I remembered telling myself this from since July and I kept the promise until today.


As I put on my socks and show I realized how long since I wore a non-sandal typed shoes. When I get to the outside, I was actually smiling on my own to the sun and the breeze outside! (What a funny thing to happen even thinking about that now..) It was unbelievably fresh, but it is the most simple thing (but somewhat magical) that could make me happy.

It feels just like when taking a trip to foreign country when you landed on a different continent. Despite this is the same route I walked out of my condominium every day. The destination is no longer to the food shop then cafe, this time I am going to the arcade!

No more looming deadline or any next thing to code. Almost as if previously there is a "boss" person that keeps me from doing things freely, and that's myself. All freelancers should be able to relate that you are somehow your own boss, which maybe stupid at first given that you can betray yourself easily at any moment. But after a year or so that "boss" get stronger that you could no longer defy him. This day I could feel that he just disappeared. "Hell yeah!" I thought, "it would be great if everyday is like this!" I think like a happy highschooler when the teacher didn't come into the class and had a mini card games tournament for the whole hour.

The day would be perfect if "my cat" is here. This cat is in the game's credit page. He's not actually my cat but someone on the condominium is feeding him along with other stray cats so they usually come here. I considered him a part of my team since he cheers me up the way back from the cafe. (The other cats didn't let me touch and therefore low quality cats.) I know he maybe thinking "this fucking wasted game dev again" but he didn't say it out loud so I could instead think he is saying "keep it up! it's almost finished! anyways where's my treat?". He's better than my relatives who don't care about my actual work and only think when will I either get successful/rich or get a family. This is one reason I have always wanted to go have a booth in a game show, because people there are interested in the actual work and I want to show them my creation. 

It's been a long time on the public transportation too. There's no need for one since I could walk to the coffee shop everyday and back. The air conditioner smells different in the car. It's reminiscent of university days where I ride this thing to get to the uni, I almost could picture my friend's face riding on it. I still remembered how fresh the air conditioner in coffee shop smells like right after I graduated from Japan and started working out of my room for the first time. I guess then you get used to something, other little things became epic and fresh again. I got to say a different word, not "Americano please" but "To The Mall Ngamwongwan", and pay different amount of money.

I have always wanted to play this "This Beat Is..." song since it came out. It was satisfying and worth the wait. Look how self rewarding could turn a simple 2 credits and a game machine into a memorable moment.

I hadn't play for long time but I was able to recover my timing back after a few plays. DDR is perhaps the world's most strict music games ever, the timing window for Marvelous is only 16ms and I could not feel the different between Perfect and Marvelous after years of playing. I could feel the Great, but if I let my mind "auto pilot" for just a split moment the Great appears immediately highlighting your "error in your focus". It's almost like a game to test your focus for your whole body, which is the part I love about this game. There are many who could AAA a level 15+ songs which I wonder how they focus all the way through with stamina to boot. Some pictures for memorial which you may not understand what the screen is saying, but for starters the score 99x,xxx in this game is quite satisfying to get even in an easy song.

And then there's this boss song. I trained for this song for months by looking at a YouTube video when I wasn't allowing myself to go to the arcade to try it for real, so it is kinda special that this is finally the day that I could get to try it! Being an extra stage song, you can try it once every a while as opposed to freely choosable every time. Making it even more epic that I could potentially try this only once today. It's 2-3 months of waiting and practicing (with YouTube), that leads to this "only once" chance. Extra stage songs is on "4 LIFE" by the way, you can only miss 4 arrows. Making it even more adrenaline pumping.

It didn't turn out well lol, but that's at least something memorable! 800k score says I almost got to the end. I didn't try to grind the extra stage again and go back home shortly afterwards as my stamina runs out.

At night while I am waiting to take turn playing Monster Hunter Iceborne on the PS4 with my brother, without realizing I opened Unity and GitKraken to make progress while waiting, then stunned for a bit since there is nothing left to do! I then laughed quietly to myself. Really nothing? Really! (Do not think of other projects however)

The special sunday came to an end. What a day...

I have always thought I would take a break for a week or a month when everything settled and today is finally that day. What's the plan?

After the break, it's either going aggro with Mel Cadence or pushing out the planned Asset Store product to improve sustain. (I am talking like a Monster Hunter player now..)

What about the break? Along months of non-stop Duel Otters revival I had been planning about "the long break" and maybe go travel somewhere for a bit, but what I really feel now is that the magical Sunday already took care of my thirst of rewards completely.

Thinking about it, it is quite amazing that a simple holiday became this revitalizing in a same way office workers waited for consecutive days of holiday to arrive. Because normally you would get Saturday and Sunday by default and then more special version is needed to make a proper reward. Being a freelancer I didn't get to experience a proper Saturday or Sunday for very long time that just one of the real Sunday is very rewarding. Typing out this blog is also kind of relaxing that there is nothing important to continue for now. Today it feels almost like I just came back from a trip to some new country. (I do want to go travel abroad but let's get to the point that I could have more liberty with money first...)

Instead of going straight to my next project, I think I will casually catch up to Unity ECS and other tech that I stopped following because of the focus on Duel Otters first for about 3-4 days. The Unite Copenhagen list is already up and that totalled to about 50 hours of watching non-stop! Maybe, I will ramp up my Japanese study a bit and try to start a learning habit (again after failing many times). I think this could be my break. Just watch and learn, and don't think about projects.

It will be refreshing, then I will begin my next adventure. Rather, resuming my Mel Cadence adventure I took a detour from to fix Duel Otters. But Duel Otters now is opened for more update potential than ever after this rework. I am not putting my guard down either, I am sure after I pressed that release button it would require some more bug fixes before I could truly left it alone for a while.

I hope this effort I spent really pays off in the future. Others may keep saying I overengineered and spent 6 months for nothing as much as they want, as it is always possible to say to everything before the result came in. I spent months to make my first Asset Store product and that nets 500 THB per month, someone says you sucks and why would you not just take an office job (they always think more money now = do, less money now = don't). With constant improvements over the year and now it made 5k-10k THB per month passive, now you rocks (but my job is still "better" bc it's more money than yours). lol, they only look at the result and not the process. It only feels like now for them because of help from salary system which it guarantees money periodically.

Ultimately overall I feel like dying today would be much less depressing than dying the last 2-3 days. I have always judge my life like this and I predict I may couldn't live long. So that's enough of a progress for me.

1 comment:

  1. The Evolution of Slots and How Casino Game Providers Made
    As a leading software 구리 출장마사지 provider, 상주 출장샵 the Evolution 수원 출장마사지 Gaming brand is continuously 경상남도 출장샵 innovating and innovating, but with its rapidly-growing Nov 19, 2021 · Uploaded by Slotsmate 경상남도 출장안마 Casino