RSSAmplifier

Blog

Maz Development Directory

mazyod.comRSS feed ↗100 posts

Latest posts

Grand Theft Bandwidth

Introduction One day, building security called my office because the cameras were not streaming properly. Naturally, this was my fault. I was not touching the cameras. I was not touching the network switches. I was not even doing anything that sounded security-camera-adjacent. I was, in my mind, doing very responsible …

Ignorance is a Blister

Introduction This is yet another reboot of the attempt to dish out more fast-paced, short-form content in order to keep the ball rolling. Previous attempts have not been successful, so my hopes are not high, but I’m going to give it another shot anyway. That’s it for the …

Skinning a Cat

Introduction I find the saying “There’s more than one way to skin a cat”, just as much as the next guy, quite morbid and gruesome. And yet, I like to use it and tell myself that people aren’t really skinning cats for sport or professionally, it’s just …

Appease Your AI

Introduction Who isn’t talking about AI these days? This topic has made its way into every conversation, in every field, in every way imaginable (and unimaginable). The obvious areas where AI is mentioned could be automation, robotics, and perhaps the hardware accelerator manufacturers. These areas are basically intertwined with …

Verdict: It's a Match!

Introduction Second blog post since forever, and I have no idea what this one should be about. The main problem is I”m writing this a I finish my workout, so I don’t have much going on in terms of setup, but that’s fine. After the rant in …

Playing the Part

Introduction Boy, has it been ages since I last wrote a post. I can hardly recall my style, even, however that’s not really an issue as we’ll see. Out With the Old As you may (or may not) have noticed, the blog is finally migrated to a sensible …

Async Pipes

Introduction Over the past couple of posts, I explored basic parallelism in Python with the help of Ray. Since then, I’ve adopted the library in my work and built some pretty cool things with it, all of which I would like to cover in detail someday: Actor Pools : I …

Balance

Introduction In the previous post, I wrote about parallelism, and towards the end, mentioned Ray, the ultimate python package for parallelism. I played around with it today, and wanted to give my take as well as describe the new challenge that I am currently stuck on. Prelude Ray is just …

Not Fast Enough

Introduction Why am I writing after such a long absence? Wrong question. Why haven’t I been writing for so long?! I could just sit here and give all kinds of excuses and reasons as to why that is, but the truth is … I slipped. I think. Programming was pretty …

A Quick Abstraction

Introduction As software engineers, our job is to make sure computers behave in very specific ways when the software we have built is being executed. Now, this sounds extremely trivial, but this is what it really boils down to… Unfortunately, the tools we are provided to make this happen are …

Ready, Set, Hsssss!

Introduction I was waken up at 3:30 am by the sound of the fire alarm … I tried to ignore it, but that deemed a fruitless effort. So, I moved to the living room, tried my luck there. No dice. So? Screw it. Go to the nearest Costa, have some …

Problem Solving

Introduction I wanted to quickly write a python script that would solve a relatively simple problem. The problem is, I needed to generate a plist file based on data defined in a Swift file. This will involve file access, regular expressions, and file templates. Sounded a bit daunting at first …

Snakes, Everywhere!

Introduction Ehm, for this one, I am really disappointed at my network of pythonistas. I was looking for such critical tool that would change my life forever when it comes to developing Python applications, yet no one could point to the ultimate solution I ended up finding by chance. The …

Pick Your Container

Dancing with the Snake I’ve been engrossed in Python development lately, since we have requirements to build a unified platform for UI testing tasks, such as publishing results, browsing screenshots, … etc. Being a “seasoned” Python developer, I didn’t think twice about going with Flask, so everything was build …

Ecto.Multi

Introduction I have been ignoring errors coming in from my backend for a while now .. There is only one serious and frequent error, actually, and I’ve no idea how it’s happening, so decided to ignore it .. That was a grave mistake. Today, a user reached out and complained …

Mining, ethOS and Bots!

Introduction I’ve been into mining Crypto-currencies recently (I’m not sure what’s the proper way to type that, so will refer to them as cryptos from now on .. with the added bonus of triggering cryptography nerds :troll:). So, what’s the big deal? I’m actually quite late …

Hello... Again.

Just Type I literally just want to breathe some life into the blog again .. I am not sure what I want to write about, but I do want to address the fact that I haven’t written anything for so long, and I really miss this part of my life …

Growth

Introduction To be honset, I thought I lost it. This flow of inspiration to write. Share an experience, learning or otherwise quite meaningless life story. Somehow, I feel it’s back now. After all this time. What changed? Hmm .. This could be a separate blog post in of itself! Let …

ReactNative as a Framework

It has been a while since I have posted anything, and to be honest, I shouldn’t be posting anything, since I’ve got loads of other things to worry about..! But oh well, I have searched the Internets high and wide for tids and bits about packaging ReactNative as …

Shipping the Game

OMG, I STILL CAN’T GET OVER THE FACT THAT I’VE SHIPPED MY GAME! Yeah, it’s that crazy .. When you’ve obsessed over a project for 5+ years, and it finally crosses the finish line .. I mean .. It’s probably like losing your leg for 5 years, then …

Let's Encrypt Phoenix!

Introduction After a previous post outlining the importance of using SSL, especially when dealing with websockets, I needed now to implement auto-renewing certificates as a cron job or whatever. Previously, I had used the “standalone” approach to get my certs, which worked great.. However, it’s not ideal when you …

Useful Unity Assets

Introduction As I wait for my laptop battery to drain so I can do complete power cycle for the battery, might as well write a post! I recently started digging through the Unity Asset Store, and found some gems of assets! Let’s take a look. Moderation Before I go …

A Sockety Tale

Introduction On a fine Friday evening, after I went over my git repos making sure everything is synced with upstream, I delightfully pack up reminiscing the past week. It was a fine, productive week! Lots of trello cards moved over to the done column. As my phone’s slack was …

Tech Buffet

Introduction This blog has been side stepped for quite a while .. For some reason, this pattern happens every time.. During the beginning of the year, I’m like “I’ma blog all year!!”. However, I slow down during the middle, and near the end realize, “Oh crap, let me play …

Unity Ads

Unity ads is a great opportunity for games to make some serious revenue from the free players segment. These players would never pay a single dime, so making them watch a video ad results in revenue for your game. The Unity platform is insanely good with video ads. Basically, you …

on second thought

Well, I did need to write about the current authentication design, not that I think it’s amazing or anything like that, but in fact, I need to write it out in order to properly think about it. So, what’s the deal with the authentication flow? So, I decided …

i forgot about this

Holy crap, I completely forgot about this devlog >__< .. definitely should not have&hellip; I don&rsquo;t remember what the last post was about, but since then, just too many things were worthy of at least dumping here .. Learning new optimization tricks in python thanks to the interview process preparations, Swift …

Changeset

That was painful &hellip; Dealing with Ecto changesets. The thing is, I&rsquo;ve been trying to implement a way to use changesets in order to protect certain properties of the model from being modified by an external source. For example, users of the app can change their username, but not their …

Doing Yoga with C#

Introduction Throughout my game development journey with Unity + C#, I have found the C# language extremely flexible and versatile. By utilizing the right techniques, one could eliminate lots of boiler plate and achieve remarkable expressiveness. I talk about expressive code a lot in my posts, but if you need a …

Spitting It Out

Not a very friendly title, but I really need to throw out there what&rsquo;s happening these days. It&rsquo;s too valuable to be lost in translation or in a long term memory archives&hellip; For starters, I finally realized that toon shaders don&rsquo;t cut it no more.. They are …

Anonymous Socket

Even though I set the title as &ldquo;Anonymous Socket&rdquo;, I decided not to go that route after all&hellip; Here is a quick brief of what&rsquo;s going on inside my head: I need anonymous clients to connect to the backend and generate a temporary guest account to use in case …

More Errors

Even more errors, and more edge cases to solve &hellip; If you are developing a game, really there is never a dull moment around here .. Every single detail is a challenge that requires careful thought and planning. The idea is that once you start executing, everything should just fall into place …

Errors Localization

Forgot that on a similar note to the previous post, I was wondering how I should deal with error message localization. I can deal with the localization on the frontend or the backend. If I choose either, there are also multiple ways to approach either one&hellip; Then, there is the …

errors

Hmm.. here I am again just typing stuff instead of working on my game .. This is the penalty of inexperience and lack of another brain to bounce ideas off of.. Well, the issue I am facing now is dealing with backend errors on the client side. The backend gracefully handle …

rants

Just needed a quick way to track some tasks, so here it goes&hellip; Found a bunch of crap surrounding the dialog implementation. Most of it was easy to cleanup, however, the animation code I just can&rsquo;t find it&hellip; Looking at how the dialog isn&rsquo;t deactivated nor cleaned up …

Come Again?

So, after spending all that time perfecting the relationship between the game logic, graphics, and view, the game started coming together. Implementing new crap is much simpler, since everything is where it belongs, and it doesn&rsquo;t take time to think about where to implement it. With that, my trello …

The Fuck Up

I derailed, and I derailed hard&hellip; I was simply focused on trying to implement animation ended hooks, so whenever an animation ends, the main game loop is informed, and the next task is processed&hellip; Somehow, during that implementation, I found a nasty part in the project, but it was working …

Event Stream

After much struggling, procrastinating, and LoLing, I have finally set my mind to it. Previously, I have explained how I should be moving the game state within the game logic, but once I started looking at the code some more, something stood out. The graphics part was tightly coupled with …

State, Logic, and Graphics

I am struggling to find the zen between three entities in my game: State Logic Graphics the game state is an immutable object that simply represents the state of the game. If you want to change the game state, a new copy is created. This makes game state super simple …

Smarter Game Results

Damn, that&rsquo;s why I was stuck on this all along!! Remember the GameResult problem where I was thinking of how to represent who won? Well, the reason it was a bit more complicated than it seems is because I have &ldquo;smart game results&rdquo;. I don&rsquo;t generate a single …

Better Late Than Never

Wow, I really should have started doing this since forever &hellip; But you you what they always say: Better late than never I mean, really, so many problems could have been preserved .. I&rsquo;ve written a lot of them on white boards, idea paint walls, notebooks, notepads, and even voice notes …

Who Won?

In Dama, a game ends under the following conditions: A player disconnects A player surrenders The players agree on a draw The game reaches a draw state The game reaches an ended state So many different ways to end the game, and thankfully it was super simple to streamline all …

A New Beginning

to further lower the barrier of writing to my blog, I decided to start this devlog thingie. I can just do brain dumps here without even worrying about the structure, title, content, or anything like that&hellip; Well, I actually started this because I am too lazy to create a live …

Speed Tests

Introduction Finally, I&rsquo;m back in the game (literally?), and working on the Elixir side of things for a change. So, my Elixir backend is heavily tested using unit and integration test. For now, a total of 83 unit tests assert their way through my code, all way from checking …

Animator Trigger

Less programming these days, and more animation design. I&rsquo;ve been using Unity&rsquo;s animation system to bring the game to life, and it&rsquo;s a pretty solid system, I have to say. As with all things Unity, it has gotchas, so this post will cover some of them. Triggers …

Back Me Up!

Introduction The final post that concludes the series about game development is gonna be around the backend (server). It&rsquo;s pretty big topic, but I figured I&rsquo;d summarize it in one (probably) long post, so here it goes. The GUI system The game engine The game services The backend …

Quality of Service

Introduction As highlighted by the nifty list below, this is part III of the four part series about game development! The GUI system The game engine The game services The backend system I apologize for the ambiguous, possibly inaccurate, name &ldquo;game services&rdquo;. I just didn&rsquo;t know what to call …

Rev Up Your Engine

Introduction In the second article in this game development series overway, I would like to shed some light on the aspects that make up the game engine. Overview: The GUI system The game engine The game services The backend system The term &ldquo;Game Engine&rdquo; is arguably not well defined. For …

Chewy GUI

Introduction There is always something to post about when it comes to game development it&rsquo;s so vast!! So, this is a post just to talk about how vast it can be! (think meta). Look, before you get all intimidated on me, game development can be as simple as drag …

Phoenix 1.2.0

This will be a quick one, since I didn&rsquo;t really upgrade to Phoenix v1.2.0, unfortunately&hellip; Why, why not?! The main reason I was eager to upgrade was the new Presence feature. It will really streamline my code, and allow me to easily implement the monitoring stuff I …