Tuesday, August 28, 2012

Apple sues Samsung for making their phones equally as intuitive as their own

Except this time, they won.

'Jury Finds Largely in Favor of Apple in Apple vs. Samsung Trial, Awards More than $1 Billion in Damages'

Companies have patent-wars all the time.  They'll take someone's product and go, "OH MY GOSH they arranged their icons in vaguely the same way" or "WHAT MULTI-TOUCH I own the patent for that!" and then they'll sue the living guts out of them.

It's a business thing.

Long story short, Apple sued Samsung some time ago for infringing upon Apple-held patents for things like "pinch and zoom" and "double-tap to zoom" features on smartphones.  And they won.  In fact, they won hands-down.

I hope you're not planning on designing sensible UI anytime soon because you'll probably be sued for it.

Monday, August 27, 2012

C++ : H2 Gamedev Library (Pre-Alpha)


Clean-package super pre-alpha version, MSVC++10 EE.  I could make some docs to explain how to use it but that'd be pointless since it's going to undergo major changes in the future.  If you're interested, contact me.

The previously mentioned H Game Library will no longer be supported (that was fast!)

Sunday, August 26, 2012

Game : The Liver Trial

EDIT: Timelapse is up!

So I have some good news and some bad news.  And, dear reader, screw you; I'm picking the order.

Good news:
Ludum Dare 24 rolled along and I made a game ( The Liver Trial ) in C++ and SDL.  It's my first ever C++ game and I ended up building an entire development package for it that can be used for future projects (which I'll clean up and GitHub in the future).

The puzzle element is pretty nice; every time you die, you adapt to the cause of your death.  Killing yourself on spikes gives you iron boots that let you walk on said spikes, as well as break fragile bridges and depress heavy buttons, with the tradeoff of agility.  It's easily expandable and very simple at its core.

All of the graphics scanned well and integrating it with the game was not as bad as I thought it'd be.

And, to top it off, I made a game for a Rapid Development Competition / 4 hour game jam that won 1st place.  I'm not going to post it because it's honestly awful, but snails circled around in a distorted spiral and you had to dodge and shoot them through your super-fish-eye lens.

I finished the LD game with just a few minutes to spare, having crunched in some intro text, graphical fixes, and an ending that simply puts you back to the beginning.

Bad news:
I didn't include one of the DLLs.  The game is unplayable.


Ludum Dare Link
Source Code

Wednesday, August 22, 2012

Fight Intolerance, Not Free Speech

'Selma City Council: No more monuments to KKK hate!'

This showed up in my email today and I'm kind of miffed.

If you're too lazy to click on the link, Selma City (a grounds for Martin Luther King's speeches and marches back in the Civil Rights Movement) is building a monument to the leader of the infamous Ku Klux Klan, Nathan Bedford Forrest.  And everyone's pissed.

I concede a little here; they sort of have a right to be pissed.  Selma was a big target of the KKK back when they were still highly active and violent.

But I'm sick and tired of people going oh no Nazis horrible, should die and KKK super racist should burn in hell because you're missing the point entirely.

Both groups are known for, what exactly?  Violent intolerance.  But the statue they're building is just that, a statue.  They're not burning houses down anymore.  They're simply another group with another set of (albeit slightly twisted) beliefs.

In fact, I'm seeing a lot more intolerance from those against the statue than from the KKK themselves.  Disallowing the erection of the statue implies intolerance against free speech, if anything.

Now I'm not saying you shouldn't be pissed.  You should be.  I would be pretty mad if my city decided to drop a statue of, say, Romney, in my backyard.  But stop calling it a "heinous crime" or what-have-you.  You should be mad because you don't want your city being represented a certain way.  You should be mad because of funding, or because the statue is in a bad spot.  But stop calling it a crime against humanity when groups you don't believe in make monuments to themselves.  The enemy is not intolerant groups, but intolerance itself.
He who fights with monsters might take care lest he thereby become a monster. And if you gaze for long into an abyss, the abyss gazes also into you.
-Friedrich Nietzsche

Tuesday, August 21, 2012

C++ : H Gamedev Library (Alpha 0.1)

Good news!  Ever since my high school completely bagged its scheduling system, I come home early now and have a bunch of time to work on some nice computer-y things.

I'm rushing this engine right now for the next Ludum Dare and hopefully it'll be eventually useful to anyone coming from a Game Maker background.  It's super-basic and uses the same terminology as GM, with the same variable system.  Graphics are handled under-the-hood in SDL and room-editing uses Ogmo Editor for now.

Note it isn't actually useable yet but here's the GitHub link.  I'll repost once it hits a stable working version.


(The name is GameFear because I made it for the GameJolt competition themed around Fear.  Temporary).

Stanford EPGY

Hi, I'm not dead.  Thought I should let you know.

I've been in Taiwan, and then I've been here at Stanford's EPGY high school program, which was a truly eye-opening experience in more ways than anything.  It'd be by all means wrong if I didn't give them a quick thank-you, at least in blog post form.

Hey, Stanford:

Thank you.

THERE I SAID IT.  I miss you all.

Now, a quick run-down:

This is embarrassing to admit but this is the first time I've taken an airplane by myself.  I met some interesting people on the plane (one really cool guy named Eric that did frontend development for Amazon / eBay - type websites).  Planes are probably the best place to meet people; you're stuck sitting next to the same guy for 4+ hours and you're so bored that you don't care that your neighbor is a boring prick (read: that's me) so people talk.  Additionally, the people who regularly take planes also tend to have a ton to offer (I met a chemist on the flight back and we talked about gas efficiency.  Super cool.)  If it wasn't for the high price tag, I think I'd fly around just to get to know people on the planes.

So I finally landed in San Francisco after a fairly smooth flight (contrary to the flight back three weeks later) and immediately struck up a conversation with another program participant about Sid Meier's Civilization series.  That's when I learned the first thing here; unlike Florida, people are generally very sociable and eager to talk about things that interest them.

(Alright, that wasn't too fair of me.  Florida has that.  Sometimes).

I shared a dorm with this guy named Chang (who flew here from China -- that's maybe a 14+ hour flight).  He was alright and we both spent the first day walking around the place, and my first impression of him was of a typical conservative Asian who's great at studying and other Asian-type things.  Note, I was wrong.  This perception was turned on its head later in the course, and I found him to be a really cool guy.

I met this one guy named Eric (a different one) who had won a Google competition for something crazy-science-y.  Awesome person to talk to, because unlike other people, he never got tired of talking about science.  I'm a fellow geek, I had no problems with that.  He taught me more about quantum physics and relativity than I could've learned in any ordinary classroom.

This was also the first sign of what I had expected all along.  When your school isn't bogged down in its bureaucracy (cough, Florida schools), you can actually offer things that are good for the students.  He had advanced robotics clubs and science programs behind him.  I was extremely jealous.

The counselors scheduled a nice meeting for us all and unimportant things happened.  They did mention the possibility of "hiking the dish," getting up early in the morning and running to and from this big satellite dish they have some distance away.  I promised myself I'd set my alarm early for that before I left.  Early being, 6-in-the-morning early.

Giving credit where it's due, I wouldn't have survived the class if it weren't for this small café in the electrical engineering building called Bytes (oh, clever!) where I'd go almost every morning for a cappuccino.  Not saying the class was boring or anything (it wasn't at all; the teacher was a fellow indie gamer and total bro on the side) but I'm borderline narcoleptic and sacrifices must be made in accordance to the rules of the Illuminati.

Normally, I wouldn't care about falling asleep in class but this one actually had some good info on the line.  It was absolutely worth staying awake for every minute of it.  I spent a lot of time and effort saving money for small things, like avoiding field trips when I can, etc. in previous years of schooling and all of that is a huge mistake; the thing is, the information industry is insanely lucrative.  Experience is infinitely more valuable than money and you'll easily earn it back with what you learn.  Spend money if you need to.  You won't believe me but you will regret it just like I do and then you will hate your life and die.

I met this one guy named Soumya who's this awesome Indian guy and we talked a lot about just about everything.  For one, Indian politics are super corrupt.  The caste system is still unofficially active there that completely blew my mind.  He knew a lot about pretty much everything and won the international Intel Science and Engineering Fair last year for doing something about RSA encryption, where he then went to Taiwan (!) for a bunch of things.  A bunch of things, including getting drunk, getting lost on a train, and trapping himself in a fire escape.  Super awesome.

Throughout the time there, the counselors (I'm saying it like they're a mafia group or something, not at all, really! They're great people) have a really scary thing they call Spotlight where you go up and talk about yourself for 10 minutes or so in front of a big scary crowd of 40 people and then they pummel you with questions that you have to answer on the spot or else they punch you to death and burn your house down.  I spent way too much time thinking of what to say for that.  Eric did it, and then Soumya did it, and they all did fairly well.  My roommate told some stories of how he'd prank his friends by pretending to take drugs, or by writing letters to their girlfriends addressed by them, and they were clearly the best stories as no one expected him to be that interesting.  We all gave him a standing ovation after he finished.  I was one proud roommate.

I'll go and say it now; I nuked mine.  I'm the worst public speaker you'll ever hear.  Managed to talk about my total lack of athletic ability and my gamedev hobby but other than that I totally blanked out.  It was awful.

The class I took was in Artificial Intelligence (maybe I should've mentioned that earlier? Heh...) and we were all given a choice on final projects.  After playing a game of Risk with some people there, I jokingly said I'd try my hand at a Risk AI.  To my surprise, two other people (a certain Michael and Ben) decided to join me.  I didn't want to do it mainly because I knew I couldn't do it, but there was no turning back.  Obligation to the team.  No regrets though; it ended up being a really interesting project.

I met this one guy named Vanya who had roots in Russia and hosted servers through Amazon Web Services.  He did networking professionally and was generally super-awesome.  When I was working on a Connect Four AI as a side-project, he helped by making a suggestion about dynamic priority spaces -- that is, a space adjacent to an enemy/friendly piece would be either less important or more important than other spaces.  I responded that a minimax implementation would be more stable, and he replied (something along these lines):
"Discoveries aren't made because of the methodology that 'this is how you do things.'  You just try things.  But there's no point going into something, knowing how to do it already."
Words to live by.

A bit later, my dad's boss's son invited me to go out to dinner with him at an Asian night market.  I set up all the paperwork on my end and we did that.  The guy works in the hardware-y sector of Apple and was generally a nice guy to be with.  The "Asian night market" ended up being a circle of food trucks instead, but no regrets.

One of the counselors, a certain Art Wangperawong ("You say it like a sentence: 'Wang per a wong' ") was kind enough to show us his lab.  He was a graduate student looking for more efficient materials for solar cells and showed us the process they used to inspect the material.
"Already I can see the material is not that good.  The metal is very reflective, so most of the light is being reflected away from the panel.  If the material is very good, it should be almost black."
By the way, there shouldn't be any misconception from when I say "lab."  It was a legit lab.  Huge million dollar electron microscopes that allowed you to see pretty much anything you wanted in the material.

Up to now, I haven't paid attention to college admissions as much as I should've.  I used to think, "give me a laptop and an internet connection and I'll do all the research I want."  That attitude declined throughout the year, and seeing this lab was the final nail in the coffin for that idea.  I want to go to college.  I want to go to a good college.  It'd be an absolute dream to have, say, a supercomputer to run instant neural networks on, or a particle accelerator to study quantum behavior.  Lots of regret for not getting involved in things early on.  Pursue your passions, but just as importantly, make use of your skills.  Join competitions, travel places.  It'll probably be a ton better for you, even disregarding the bonus in college admissions.

Michael, Ben and I presented our Risk AI on the last day of the program.  We had a fairly interesting setup; using GitHub, we were able to develop separate AIs using the same framework.  Ben and Michael worked on a more logical, strategic AI while I worked on an experimental heuristic-based one.  We ended up with the same results; the AI's generally sucked.  But it was a good run anyhow; there's no sane way I'd be able to understand GitHub without that experience.

Our house had a neat game of capture the flag on the last day (I'll mention that capture the flag and ultimate frisbee were pretty much all I did at the program) and on the way back, Soumya lost his room key.  So we walked back to the field, found it, then walked back to the dorms before realizing we were completely lost.  By "completely lost," I mean we were seeing people's apartments.  There were signs advertising things like bands playing nearby, etc.  But we found our way back and I got to know him a lot better through that.

So the last day was incredibly somber (at least for me, anyways) and we were all sort of sitting around and playing cards.  Vanya had to leave earlier than the others, so I helped him pack a bit.  Before he left, he told me that of all the really interesting people he met during the program, I was "near the top of the list."  Incredibly sad.  I don't want to say I broke down and started tearing up like crazy but I did.

We all ended up pulling an all-nighter before one-by-one people left for the airport.  Some girls were doing their nails last-minute, and the counselors were finishing up their (much shorter) Spotlight presentations.  Fifteen minutes before my shuttle was due to arrive, Soumya turned to me and said, "I'll paint my nails if you do it too."  I agreed.  I had mine painted a really reflective silver that I'm sure was noticeable from a quarter mile away, but that was fine -- I got Soumya to paint his in hot pink.

And then I noticed something that really upset me:

I never did get to hike the dish.

The flight back was uneventful; the plane got stuck taking circles in Illinois, waiting for a storm to clear up in O'Hare and then rerouted to St. Louis to refuel.  Then the crew was delayed in traffic for the flight back to Florida.  I ended up getting back at 3 AM.  No one was at fault.  Circumstances.

And really I'm absolutely 100% sorry that I couldn't express my appreciation for everyone there at Stanford for being some of the best people I've ever met.  I have huge problems expressing emotions but you guys are the greatest and please believe it because it's true.  The thing that inspired me to finally write up this post was a dream where I flew back to Stanford to visit after the program had ended.  The rooms were completely empty.  The dream was definitely lucid, so I could've changed the dream to anything I wanted but I didn't.  I just sat in the lounge.  It was fantastic.

Thanks again, everyone.  Best of luck.  Live long and prosper.