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.

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.

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.

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.

Ludum Dare 32 Compo entry: Star Drill Ultra

I’m back with a Ludum Dare game, this time for the Compo (solo development challenge)! After a lot of programming, grumbling, stress, and complaining the graphics is not pretty enough, I have Star Drill Ultra, a Star Fox-inspired space combat adventure where you play as a star drill! It’s up for voting right now! If you can, please rate the game, and let me know what you think!

Link to Itch.io: http://omiyagames.itch.io/star-driller-ultra

Link to GameJolt: http://gamejolt.com/games/shooter/star-driller-ultra/61422/

Link to Ludum Dare voting page: http://ludumdare.com/compo/ludum-dare-31/?action=preview&uid=20557

Some screenshots!

This slideshow requires JavaScript.

And for those interested, we have a time lapse, too!

Chrono Trigger Review

Quite some time back, I wrote a first-impression review of Chrono Trigger. I called it, “the indie developer’s notes on retro games he/she has not played before.” A few months in, I finally finished the game, and now ready to talk about whether my opinion on the game has changed or not. Warning: there are spoilers everywhere!

Background

As a quick refresher, the first console I’ve owned is the Nintendo 64. My taste lean towards action-RPGs than turn-based or strategy. Charles Barkley’s Shut Up & Jam: Gaiden is awesome.

Before playing the game, I already knew that:

  1. Crono, the lead character, dies at some point.
  2. Lavos is the bad thing.
  3. Frog is a formerly human prince.
  4. There’s time travel!
  5. There’s significant decisions that affects both the story and game settings, often reflected in the future.

Lastly, I will be referencing characters to my custom names (just to confuse you):

  • Crono as Link
  • Lucca as Samus
  • Marle as Jade
  • Frog as Slip
  • Robo as Ness
  • Ayla as Croft
  • Magus as Luigi
  • Epoch as WiiU

Corrections

Last time, I’ve mentioned that I couldn’t run from battle. Apparently, I misread the instructions given at the beginning of the game, and you actually can run away from battle by holding the L and R button at the same time, and waiting until it’s your party’s turn.

Secondly, I also mentioned that experience points aren’t shared. They sort of are: party members not in battle will still receive 75% of the experience from battle.

Positive Changes In Opinion

Overall, I’ve warmed up to the game’s story and battle system. In the beginning, I’ve mentioned that I didn’t like Link that much for having very little character. My opinion changed somewhat during the first story-sequence based encounter with Lavos (the part where Link dies). I have to praise that cinematic portion because the player character does something I would not have done, and helps define the determination the player character has. It was a scant few minutes, but I definitely ended up liking the character more than, say, Link from Legend of Zelda: Ocarina of Time.

While the battle system itself isn’t much to speak home of, especially when it comes to regular enemy battles, I found the boss battles to be a fascinating. Many bosses acts as a sort of a puzzle, requiring certain magic attacks or targeting specific parts first to expose their weak-points. Puzzle battles are certainly one of the many reasons I play JRPGs, and I really appreciate how the player needs to discover the “one right way” to beat the boss. That said, the boss battles themselves aren’t without some serious flaws. For one, I couldn’t see a way to swap out characters during battle, which can royally screw you over when you realize the right members aren’t in your team at the moment. Next, there are very little clues to indicate what magic spell is necessary to really pummel a boss. The one example that comes to mind is the skeletal sand monster in the desert. The proper way to defeat the boss is by stiffening it with water spells, then pummel the lower body that heals the upper one. One would think that since it’s a skeletal sand monster, maybe ice magic would cause it to freeze up. Nope, time to go back to the blackboard. The fact that you have to read a temporary text indicating that you did the right thing is a bit annoying, and worse, easily miss-able.

Next, I felt that the first part of the story was meandering a bit to establish each character’s personality. Which would have been OK — Paper Mario and its sequel are one of my favorite games, and their narrative uses the same technique — have the characters been a little more fleshed-out beyond their classic anime stereotype. Unfortunately, these meandering stories only re-establish the stereotype rather than fleshing the character out. So I find it a bit ironic that the game has to provide optional side-quests to show a little more depth for each character (with Croft as the only exception). Needless to say, I really liked the side-quests. They’re pretty short, their objectives are hinted clearly by Gaspar, and their narrative is poignant and to-the-point.

Lastly, I like how the plot wraps up towards the end of the game, as for once we aren’t focusing on a single character, but rather Lavos and Zeal. These moments helps provide reasons for the player to be motivated in taking out the main villain. Lavos itself is kind of a pointless villain, being mostly static and not being reactive to the world, but I’m OK with that: Queen Zeal takes its stead on being an interesting villain. I found it quite refreshing to find a villain that is not only selfish, but also manages to turn an entire population into a lazy, entitled culture, not unlike Brave New World. Sure, it’s implied that she was manipulated by Lavos to become like this, but that detail to me was less interesting than the fact that we’re dealing with a character who has influential power that prefers to use manipulation over violence to enforce its cause.

Negative Changes In Opinion

There were a few things I liked at the beginning, but as the game went along, I’ve become to like less. The first are the story-changing decisions: it may just be me, but I felt like they completely disappeared towards the end of the game. The lack of such mechanic made the end set of stories feel more linear.

I also felt the time-traveling mechanic to change the future was really under-utilized, especially compared to Legend of Zelda: Majora’s Mask. Only a few side quests made me feel like I was really changing things for the better or worse. A good example of quests making me feel like I’m making changes is getting rid of Luigi’s underling quest. Doing so in the middle ages drastically changes the monster village in the present era to be more friendly towards humans. On the other hand, there’s a small step in a side-quest where you change the personality of a mayor in a village by traveling back in time and showing altruism to his mother. This has no effect whatsoever in the village despite the full 180 the mayor makes, making the whole thing feel rather pointless. It’s such a shame that the majority of the side-quests take place only within the present and middle-ages era. It would have been more interesting to see what would of happened in the dark ages, the future, and pre-historic eras.

Lastly, I find myself utilizing combo techs less and less. Ultimately, a lot of single-character techs proves to be powerful enough that I’ve come to rely on them more as the game went along. So it becomes easier and easier to stick with a single favored party configuration instead of going for more variety as it nears the end of the game. This may be intentional, but given how combo techs are unlocked, I’m inclined to think it isn’t.

Other Parts I Forgot To Mention

I didn’t say anything about the audio last time, so here’s a paragraph devoted to just that: the music is hit-or-miss, and the sound effects are awesome. First the sound effects: they feel absolutely spectacular, as slashes sound great, and critical hits even better. There’s a huge variety of them, especially for a console that couldn’t render many, so I’m quite impressed by what they were able to achieve there. The music, on the other hand, swayed me from great to forgettable. The game’s soundtrack frankly doesn’t stand out, at least in ways that Cave Story does, and falls rather neatly between the “meh” list that includes Kingdom Hearts and Final Fantasy X. I guess I’m not that huge with Nobuo Uematsu.

Next, I haven’t mentioned my opinions about graphics. The game does look pretty good for its time, and there are places where I was surprised with the amount of detail they were able to put in. There were a few problems I had with it, though. In some levels, I felt like artistic details sacrificed the readability of walkable grounds, particularly the prehistoric and future ones. I also felt all the animations for enemy and player characters were pretty good, except for Luigi. I don’t know what he’s doing when he’s casting spells, but I swear it looks a lot like Mr. Game & Watch’s random shuffles.

Lastly, with the WiiU: I like it! I kind of wished more games has it because lets face it: overworlds are boring. I really appreciate there are cool quick-travel options in this game, though I’m not exactly a fan that it was introduced so late in the game. Still, cool stuff.

In Conclusion

Overall, I thought Chrono Trigger was good, but not great. It’s quite a slow-burner JRPG, with most of the best parts left for last. The game definitely feels like it suffered from age, especially when there are other wonderful and innovative JRPGs out there. The slow start in the game, coupled with some missing convenience features in modern games, makes it a piece I am hesitant to recommend.

Also, favorite party member combination: Link, Slip, and Ness.

#WeeklyGameMusic: Men’s Hair Club (LISA: The Painful RPG)

#WeeklyGameMusic: New week, new music.

So, quick note: I’m going to be holding off on posting #WeeklyGameMusic, as I’m now hard at work on finishing Not a Clone. So today is a special treat: Men’s Hair Club by Widdly 2 Diddly is a bizarre chiptune composition that sounds awfully like dubstep. Sounds weird? Oh, man, you’ve seen nothing, yet! The game the composition is for, LISA: The Painful RPG, is an incredibly surreal, Earthbound-inspired adventure that has frequent mood changes, absurd scenarios, and a very, very disturbing set of unavoidable situations.

LISA: The Painful RPG stars Brad, a gruff, middle-aged man adept in martial arts, and with a broken past. One day, Brad wakes up from his pain-killing drug trip (aptly named “joy”) to suddenly find a crying baby girl. Claiming it’s his “second chance,” Brad brings the girl back home with his friends and raises her in secret. Did I also mention that Brad lives in a post-apocalyptic world where all women has died? Right when his adoptive daughter, Buddy, grows to her tweens, a breakout occurs, with Buddy kidnapped and one of his friend slaughtered. Angered, Brad immediately ventures out to find who kidnapped Buddy, while a confused tipster Terry follows along.

There’s a good reason why “Painful RPG” is in the title of LISA: The Painful RPG. The game starts off as a side-scrolling adventure, where Brad can jump up or down cliffs. Unlike most platformers, Brad can not initially jump across gaps; the ability is later unlocked with an item. Walking into other grown men or monstrous abominations will often initiate a turn-based RPG battle, where Brad can use his martial arts via WASD while Terry…does something. Unpleasant decision-making is this game’s main jam, though, as Brad is frequently forced into making some terrifying choices. Would you sacrifice an arm to keep a vital party member alive? Would you go through a Russian Roulette just to get a powerful ally? The world Brad lives in is vast, darkly funny, and absolutely brutal.

LISA: The Painful RPGis available on Steam for Windows, Mac, and Linux.