Thoughts on Unreal 5 Reveal So Far


Been thinking about the latest Unreal 5 game engine reveal. In particular, since I work as an independent game develop and gameplay programmer, the things I tend to seek for in a new game engine is what features it provides, and with it, what cool game mechanics and systems I could implement. From that perspective, the reveal trailer opens…a few interesting opportunities, but leaves others wanting.

On the positive, the virtual polygon rendering system is genuinely a huge game changer. Without a question, some of my biggest struggles in level design is keeping the number of polys low enough for the game to be able to run at a consistent frame rate. I also trust Epic Games to have implemented an easy-to-use occlusion culling system to further improve performance. This does mean not only is it going to be much easier for environmental artists to develop highly detailed (presumably static) environments, but also allow level designers to create larger worlds without a huge concern in performance drops. This does, indeed, open up a lot of possibilities.

As mentioned prior, I’m seeking for how to open up new ways of play, and that was where I came less impressed with the trailer. For example, the trailer only casually goes over what its animations, particle system, sound engine, and most important for me, physics engine can do. What about AI? Procedural generation? Improvements on Blueprints? Different platform and controller support? Music mixing? Even the parts that were demonstrated left me wanting. The trailer didn’t go over whether any of the destructive parts (e.g. ceiling caving in) were already pre-made or not. They didn’t go over what the complexity of implementing the particle system’s AI was like. And their demonstration of the sound system really appeared sparse at the moment. Even the new light engine didn’t feel too revolutionary: there’s already been a lot of games out there where playing with lights is the core mechanic, and more realism in it doesn’t add anything for a game designer. Only the IK animations stuck me as a standout feature apart from the virtual polygons engine, and helps really open the window to new and interesting kind of gameplay.

From a business perspective of things, it makes perfect sense to me Epic would focus more on streamlining the process of importing and rendering graphics. Just the idea of being able to directly import models generated from 3D scans opens a ton of opportunities for even indies. I’ve been dying to utilize a couple of cheap photogrammetry and 3D scanning apps for my games! That said, if I had to choose which company is making more interesting headway in new game design ideas right now, I’d have to hand it to Unity’s focus on Machine Learning. There are a ton of really interesting opportunities in that field that, I feel, still aren’t well explored yet. It’s just such an exciting area that is ripe for creating new ideas.

Leave a Comment on Thoughts on Unreal 5 Reveal So Far | Categories: Random

So, About Social Networking…


Since I’ve been active online recently, seeking for new job opportunities, I’ve been reading a lot of advice on how to find work. Most of them sort of revolves around instructions like “spread your network,” or “get referrals,” and I guess such an advice is useful…for someone who already has a strong social network and been to a couple of global shows. While I am now that person, I’ve been a college student before, and back then, I had nobody who worked in the industry I studied in. As I was a second-generation immigrant, neither my parents nor my extended family helped. They neither knew the language, nor had any idea of what the hiring culture in both my industry and the country I lived in were like. Being the oldest sibling in my family, I was supposed to be their best resource on this sort of thing, and I knew nothing. And I don’t drink; I greatly dislike visiting bars and conversing in loud locations. These vague advice wouldn’t have helped me in the slightest back then, and I suspect I’m not alone in this. So to those people who were in the same boat as I was, here’s what I’ve learned:

Terminologies

First, it’s probably a good idea to go through some terminologies. See, I’m a programmer, and networking in that practice means, “the practice of creating digital, remote connections between two or more programs.” And that most decidedly is not what this blog post is about. So I’ll be using the following terms:

  • Social Network, or network for short, is the web of people you know, and the people those acquaintances know, etc. For the rest of this blog post, I’ll just be using the word, “network.”
  • Networking is the practice of expanding your network by connecting with new contacts.
  • Connections is a positive social bond between two people.
  • Degree is the layer of connection within your network. For example, people you already know personally falls under the first-degree connection. The people those people know, but you don’t falls under the second-degree connection, etc.

All good? Great, let’s talk about the objective here.

The Goal

It’s easy to read through what recruiters and job advisors tell you and think to yourself that somehow, networking is this magical solution to finding jobs. Alternatively, from reading said advice, it’s easy to think that one merely needs to create as wide of a network as possible, potentially by collecting as many business cards as one can, or making as many LinkedIn friends as possible, etc. But if I’m to be frank, neither of these could be further from the truth. Networking is merely a simple mindset, and holds no magical powers. Making your network too large would create weak connections; business cards are just a small piece of paper, and LinkedIn connections is simply a row in a database table. Like any good intel, what matters is how you use this information.

I would argue the goal in this networking game is to create an effective network. This means creating connections that wants to help you out. So how do you create an uplifting and supportive web?

Become an Useful Contact

Perhaps the most useful way of learning how to create an effective network is to become an useful contact yourself:

  1. Demonstrate what value you bring to the other person. Honestly, this can be as simple as introducing yourself and what you do. For example: “Hi, my name is Taro Omiya, and I’m a Unity programmer with a strong background in C# and Java. And you?” The objective here is to inform the listener how you can help them, should they or their friends encounter a problem in the future.
  2. Keep your eyes peeled for anyone asking for help. For example, while I have little artistic talent, my indie game development work has put me in contact with a few freelance artists. If anyone asks me for graphic design assistance, I can help them by connecting them to these freelance artists.

By connecting those in need of help with people you know and recommend, you both demonstrated your usefulness and create a “social debt.” Now that the assisted person is thankful for your help, they will feel inclined to help you when you encounter a problem yourself. It’s a bit of social manipulation, I admit, but a positive one that lifts everyone.

Now that you’ve become an effective contact, creating a stronger network should be pretty obvious.

Building an Effective Network

Building an effective network involves knowing more people, and more importantly, helping each other out. When you join a digital network of professionals, keep in mind that everyone is on there to ask others for help. Pay close attention to the skillsets and specialties each of your contacts have. Verify with those you’re assisting that they’re trustworthy, and willing to provide what your contact rightly deserves (don’t let them work for free). If you’re already working, check if there are any job openings in your company, and see if you can find anyone in your network that’s willing to take it.

Otherwise, just be a useful and engaged person in these social platforms. Leave comments and share some tips: you might be surprised at how much you know, that others don’t. Make sure the people in these networks know you in a positive light. In theory, by becoming the point person for providing help and assistance, others will more likely follow your example, and help you get connected with useful contacts as well. Work on making your second-degree connections as useful as possible. That’s basically how I’ve been doing things, anyway.

Hopefully this how-to guide proves to be informative. Best of luck to all of you!

Leave a Comment on So, About Social Networking… | Categories: Random, Tutorial

Stop Saying You Need To Know Math To Program


Imagine that you’re going to attend your first math class. You’ve asked everyone you trust about math, and they’ve told you that you need to be good at English before entering. And you’ve studied everything you can about English. You’re prepared; you can take this “math” thing everyone was talking about. Confident about your abilities, you look up the black board, and see this:

Solve:
1 + 1 = ?

Well, uh, yes, you know what “solve” means, but what does “+” or “=” stand for? And why are there so many numbers?

It’s only until years later that you realize the only reason everyone recommended learning English before getting into this profession because in the real world, you’re often translating word problems into math equations. This leaves you disgruntled. Sure, knowing English is useful if you already know math, but it didn’t help in the slightest when you’re learning it for the first time. It feels like everyone lied to you, despite their best intentions.

The above example might sound rather absurd, but it’s exactly how I felt when I first learned programming. Everyone insisted that I improve my math skills because programming has strong similarities with math. Nothing could be farther from the truth. While it’s common for a programmer to translate math equations to code, knowing math does not help you learn coding any faster. Much like how English and math are two very different subjects, so to is math and programming.

So what is programming? It’s about writing a set of instructions in a language a computer understands. Take the following example:

Console.WriteLine("This is the first line.");
Console.WriteLine("This line of code prints the second line.");
Console.WriteLine("Let's print more lines!");

This C# code above will print 3 lines on the console. Can you guess what those lines are? As a quick hint, the part, “Console.WriteLine” basically tells the computer that it should print the information between the two parenthesis in the console, before making a new line.

If you guessed the following answer:

This is the first line.
This line of code prints the second line.
Let's print more lines!

Congratulations, you’re already on your first step in learning programming. No math needed!

The only difficult part of this job is that the language a computer understands — store value here, recall said value, do this if that, etc. — is very limiting, and requires the programmer’s smarts and attention to detail to cover language’s the limitation. Coding requires you to know what conditionas are (true vs false), and when to use loops (do this 10 times). Programming also requires parsing out the state of stored variables after running through a set of instructions. In short, programming is a whole lot of logic, a subject most math courses don’t teach. Don’t worry about solving math problems: let the computer do that for you.

So I ask from other programmers this: stop saying to those who doesn’t know programming yet and wants to learn coding that they need to know math. This gives the impression that programming is about solving 342 x 853 in their head. It gives the impression that they’ll need to combine 3 tangentally-related equations to solve a single word problem, when in the programming world, it’s actually better to leave those equations separated. Worst of all, it gives the impression that good mathematicians are automatically good programmers. None of these are true, and it all makes it unnecessarily harder for everyone to learn coding. Instead, say what is actually accurate: know a little bit of logic before learning programming.

Leave a Comment on Stop Saying You Need To Know Math To Program | Categories: Random

Anpanman, the inspiration of One-Punch Man


Note: this is a cross-post from a Facebook post I made.

Seeing that my Facebook timeline is being filled with a lot of One-Punch Man‘s existential crisis, I should probably talk about Soreike! Anpanman (それいけ!アンパンマン), a show I grew up with and what One-Punch Man is clearly based off of. They both fight against aliens with their signature one-punch, and their baldness and fashion style are eerily similar. Plus, anpan (red-bean-paste-filled bread) are delicious, so yeah, let’s talk about my childhood.

Anpanman is a children’s anime. Yeah, I don’t have a particular strong feeling with this one like I would with Doraemon or Crayon Shin-chan. It’s clearly aimed at just above toddler and younger elementary kids. Every episode starts with the titular character, Anpanman and/or his friends flying around town filled with anthromophic animals and…more (noticeably annoying) characters with food as heads. An accident would occur, and the hero/heroine swoops in to the rescue. This ranges from something as dangerous as a bridge breaking apart while a bus full of kindergartners was crossing it to something as petty as a kid who’s hungry. For you see, Anpanman and his friends, Currypanman (curry-bread man), Shokupanman (white-bread man), Melonpanna (melon-bread girl), etc. has superhuman strength and hilariously bad substance-related weakness (typically water). A western audience would immediately figure out what these characters are based off of. That said, they also have one more interesting quirk: their heads, being bread, is both edible and directly related to their strength. This becomes an interesting character study when Anpanman doesn’t hesitate to help that hungry kid by feeding him a piece of his own head, thereby weakening himself. Additionally, it works as a Deux Ex Machina because baker Uncle Jam and Batako-san seems to bake an endless supply of Anpanman’s head replacements (they also have a truck that doubles as a helicopter and submarine, so this isn’t as out-of-ordinary as one would think). They literally unscrew his last head to replace it with a new one. Either that, or shoot the new head from a distance, hence knocking off the old head and screwing on the new. Very metal.

This universe’s equivalent of Lex Luther is an alien named Baikinman (germ man), who also has a bratty but significantly nicer partner-in-crime, Dokinchan (heart-beat girl?). Baikinman is a bit of a mad-scientist, capable of making awesome robots in one night. He’s also childish, spoiled, and selfish, which combined with his mad genius, proves to be a deadly combination. His absolute insistence on destroying manners and consuming as much candy as possible (he also gets cavities a lot. Dude doesn’t learn) is what often causes trouble around town. That, and he hates Anpanman for his one-punch hits (Aaaaaaaan-puuuuunch!).

As with most super heroes, Anpanman is a classical straight-man, and Baikinman is the one-dimensional, psychopathic brat. Instead, it’s the side characters that are the most interesting. For example, Dokinchan, while selfish, immature, and often cooperates with Baikinman on his greedy schemes, gets very annoyed with Baikinman temper tantrums and frequent lies. This, combined with her crush on Shokupanman, often leads her to back stab Baikinman and even show some good will in a couple episodes. Currypanman is like Donald Duck: good at heart, but has poor anger management. He has the ability to spit acidic curry, which makes him comparably more destructive than Anpanman, so any episodes starring him is usually about the struggle of staying happy while dealing with annoyances that comes with fame.

Anyway, for those interested in seeing how Japan interprets super heroes aimed towards kids, Anpanman is actually pretty interesting cultural study. They do have an unusual focus towards proper manners and traditions, as seen by it’s opposite, Baikinman. That said, if you expect fast-paced action, blood, and gore One-Punch Man is known for, you’re going to be disappointed.

Leave a Comment on Anpanman, the inspiration of One-Punch Man | Categories: Random

The Tragedy of Racism in Japanese Media


Warning: racism will be openly discussed in this post.

In a podcast I was in earlier, there was a mention of black face appearing in the Dragon Ball Z anime, which the US localization team did their best to cover. The brief discussion about it being racist left me with mixed feelings, so I wanted to address some thoughts that propped from that moment. In short, I have a theory that many racist undertones from Japanese media are not a result of racist intent, but rather, consumption of racist foreign media from a clueless audience. And to be honest, that’s a rather tragic way of revisiting an old problem.

When it comes to the US, topics about slavery and segregation in our local history comes up starting around middle school, and most teachers emphasize how horrible they were, and how they still affect us today. In comparison, at least up to middle school level I was educated in, Japan doesn’t even talk about slavery in their local history (despite the fact that they obviously existed there), let alone anything related to the African continent. On top of this, Japan is an infamously homogeneous population, with 98.5% reported as ethnically Japanese as of 2011. To them, the racism against blacks might as well not exist: they lived through a completely different history that didn’t involve enslaving blacks, and since their country’s black population is so tiny, most citizens haven’t encountered a black person either.

So if a Japanese medium depicts a black face with no knowledge of historical context, and thus, no ill will, that’s not racist, no? While I do believe that the creators probably intended to create a cool looking character, it also tells me they’re depicting the worst kind of racism: one born from ignorance. Unlike what most “Japanese people are really patriotic” comments like you to believe, Japan does consume foreign media, and even crave it. Many manga artists, including father of anime, Osamu Tezuka are well-known to be inspired by American comics and films, especially Disney and Looney Toons. It doesn’t take a genius to figure out that any black face and other racial stereotypes are directly inspired by racist comics and films from the USA. And these stereotypes trickle down into their daily lives: since their presence in Japan is so small and thus, they have no real-life examples to go by, when a Japanese person does meet a black person, it’s fairly common for them to make a huge list of poor assumptions. Ironically, these very assumptions brings birth to fashion styles that attempt to depict the positives in that racial stereotypes (in comparison to Japan’s absurd level of politeness, anyway), which proves to be further damaging when they go out of style. In a way, Japanese media is a child learning from a racist father, the American media.

The part that I’m feeling most mixed about is whether this is something that can be solved, or even whether it should. I don’t, for example, think it should be Japan’s responsibility to learn the dark history of segregation in the US, similar to how I don’t think the US needs to teach Japanese history. As mentioned before, I genuinely think Japan uses racial stereotypes because “it looks cool.” It’ll be difficult to convince anyone that something that looks cool to them is actively harmful outside of their own country (side note: yes, it’s harmful inside their own country, too, but there isn’t many that can speak up against the practice). I frankly can’t blame the creators there not knowing any better: they are making media for their own country, and it falls under the localization team’s responsibility to adopt the medium to their country’s standards.

On the positive side, though, the reduction of black face appearing in the American media has reduced black faces in Japan as well, albeit slowly. It’s more common to see black people in mangas and animes now-a-days depicted as simply anime characters that just have darker skin; their lips are either not depicted or very thin pink, rather than the doughnut shape black face is known for. Japan’s way of stereotyping black people are looking less and less distinguished from how they depict other foreigners, too: obnoxiously curious about everything, rude, insensitive, violent, and more. I mean, yes, the xenophobia is a problem in and of itself, but it’s a bit humbling to see that they look at both white and blacks as equally annoying presence in their rhythmic lives full of manners and rules. Finally, American media that depicts segregation and their harmful effects are positively influencing Japanese media as well, with mature mangas like Billy Bat depicting segregation with the proper weight and respect.

Besides, it’s not like Japan can’t be intentionally racist, either. The Japanese population being racist against South Koreans and Chinese is a very real reality. One can easily see this in the standardized Japanese education, the very same middle-school-level education I was taught in, that fails to mention their historical slavery practices. I get very wary of Zatch Bell!‘s depiction of Li-en, and in particularly, her strange, thin(ner) eyes. While she’s a character that, fortunately, kicks ass and is a fantastic ally, her racist design is something the artist must have been informed of, and chosen deliberately. I hope that you, consumer of Japanese media, don’t learn from these stereotypes depicted by the racist father, the Japanese media.

Leave a Comment on The Tragedy of Racism in Japanese Media | Categories: Random

Ludum Dare, Heavy Topics, and Anti-Censorship


Today, I want to talk about heavy topics and how it relates with my anti-censorship beliefs. As a warning, I’ll be discussing about domestic abuse, and make very brief mentions of rape.

With Ludum Dare 33 over, and our Tech Valley Game Space stream finished, I can’t help but notice compared to other Ludum Dares, this one in particular had more controversial games. I guess this is to be expected: the theme was, “You Are The Monster.” To be honest, I’m disappointed, not because games were more controversial this time — if anything, it’s a sign that the medium is maturing — but rather, because they didn’t serve to do anything positive. These games have, in my opinion, failed to utilize the power of free speech, and instead serve as examples of how to abuse the lack of censorship in today’s connected world.

For example, there’s a game called Monster in the House which involves a greedy spouse whacking her husband with a bat to extract money from him. In the middle of the game, some children will bounce in, and the spouse has to be careful not to hit them while extracting more money. Game ends when the spouse’s satisfaction meter falls to 0, or the spouse accidentally hits a child. It’s a pretty comical game, to be honest, with all characters in the game either looking like grumpy clowns or bouncing balls. Likewise, the depiction of blood is very unrealistic, utilizing a string of red squares instead of looking like an actual liquid. Playing the game, I think the creator wanted it to be a fun game above all else, and had no intention of offending any specific person. It was made with good intentions, and I personally have no ill will to the creator. That said, the subject hits very close to home, and it’s infuriating that the game fails to recognize the gravity behind domestic abuse issues.

My dad owns a sushi restaurant filled with days of ups and downs. My mom, despite her children still in high school and middle school, did her best to help him out during the downs. Both were hard-working, and my mom especially was resourceful, rarely showing any signs of greed. That day was, perhaps, the worst moment the restaurant faced. I was exceedingly lucky. I was asleep when it happened, and have to rely on my siblings recollection about this event. After one stressful night, my mom snapped. Unable to take the day-by-day stress anymore, she attempted to claw and tackle my dad. My dad, usually calm and quiet, frantically pinned her down until her anger subsided. It only happened one night, and neither parent violently attacked each other again. Yet, it was enough to change our entire family.

I want to get back to my position with censorship for a minute. I’m against censorship: I favor keeping our speech in public as free as possible. The reason? I’m a strong believer that if we want to tackle topics like domestic abuse, it’s necessary to discuss about them directly, rather than working around them as if they doesn’t exist. Similarly, anti-censorship gives us the freedom to criticize, especially those in position of authority. With this measure, we the people can put companies, politicians, law enforcers, and other authoritative or privileged figures in check by pointing out their flaws. Thus, I lament when public schools or libraries — any public locations with employees who are in the exact position and expertise to discuss and educate difficult topics in a civil manner — censor mediums that cover said topics. Anti-censorship is most powerful when a medium causes the public to discuss how to improve our current world.

When mediums cover heavy topics, I’m always asking whether it successfully starts a constructive discussion in the subject matter, or criticizes any unfair practices. For Monster in the House, the answer is a stern no. The game fails to make useful observations as to why domestic violence often goes unreported, and certainly poses no solution to solve it. Even if it was presented as a joke — and to be fair, I do think the creator meant it as a joke — it fails to be either absurd, or a criticism to the practice. Similarly, when Wild Flirtation casually presents “Card Rape Sakura” as an option your monster character can respond to a woman, I fail to see how that joke is absurd, or provide a meaningful discussion about rape. And being a Japanese-American, I’m fully aware what that joke was making fun of. The joke only serves as a criticism to Japan’s image issue, and not the rapists in the Japan, or in any other country. Both games only serves as an example (even a normal) of violence, passive and unwilling to comment on the subject when they should be. They’re just controversial for controversy’s sake.

As opposed to these games, there were two that comes to mind that served to be a more positive example. Manifest Destiny depicts a giant white male figure roaming around and destroying pyramids while small black people runs away from him. A casual observer would probably comment the game is racist, and it is: the game openly admits it’s a metaphorical depiction of colonizers taking over African countries, including selling off the natives as slaves. Even without this message, the criticism the game makes on race still stands: the white giant progressively becomes more demonic as the game moves along, making it clear to the player their actions in-game are evil. I also really liked Hitogochi which, despite it’s more innocent dialog options than Wild Flirtation, was graphically more violent. The game makes the player role-play as a monster being treated by a klutzy and inexperienced caretaker. Important to the plot is a separate, primal personality the monster is fighting against that wants to eat more human flesh. Hitogochi makes it clear this primal split-personality is the main villain, and offers numerous options to fight against it. It successfully criticizes violent urges by presenting it as an absurdly psychopathic personality, and even provides some positive actions one could take to fight against it. While both games contains controversial subject matters, their presentation makes it clear both wants to fix said matters.

Free speech should be treated as a tool, something that can be used for good and for ill. As game developers focusing on pushing bounds of the medium, we should focus on the good behind free speech: providing positive and constructive messages for the public. It is our responsibility to both approach controversial topics with confidence, and with proper research and education. Covering just controversy itself isn’t enough anymore.

Leave a Comment on Ludum Dare, Heavy Topics, and Anti-Censorship | Categories: Random