Ian Ooi

Computer Science · Game Design

contact@ianooi.com

About Me

I am a game designer, computer scientist, and game developer, with a fondness for both the realistic and abstract visuals that can be produced by computers. I recently completed my Master's thesis in Computer Science at Rensselaer Polytechnic Institute as part of the co-terminal program, a 4+1 bachelors and masters program. My undergraduate degree is in Computer Science with a dual major in Games and Simulation Arts and Sciences. My research focused on physics-based animation of a humanoid character, as described in more detail here. Other areas of interest include non-photorealistic rendering, realistic lighting techniques, landscape and city generation, participating media, and hardware acceleration of graphics techniques.

Game Design

My game design interests are varied, but I tend to create games with short storylines that incorporate an interesting visual effect, usually with puzzle-based or competitive games with very little story. I enjoy incorporating non-photorealistic techniques into games, such as the watercolor effect used in Mar. In past situations, given a game project to be completed, I have found a way to make the project something I enjoy and will be proud of, whether the genre, style, or type of game is something I normally play or not. One of my ambitions is to create an MMORPG, though I also aspire to work on a competitive game and short story based titles.

Outside of Work

Outside of work I am an avid martial artist and have practiced Tae Kwon Do, Eskrima, and most recently Capeoira. Additionally I amuse myself with origami, playing music on flute and piano, and fiddling with various code projects. I am also a gamer, playing League of Legends consistently, though I have in the past played numerous MMORPGs such as FlyFF, Cabal, Rappelz, Megaten, Lord of the Rings Online, and Guild Wars 2. I have also played a fair share of Team Fortress 2 and Terraria, and made my way through a number of single player games, my favorites of which include Spyro the Dragon, Jak and Daxter, Mirror's Edge, Antichamber, Limbo, Borderlands, Thomas Was Alone, and Dishonored. The list of games I like and have played is constantly growing and changing.
  • Education
    • Rensselaer Polytechnic Institute (expected graduation date Spring 2016)
      • Computer Science M.S.
      • Computer Science B.S.
      • Games and Simulation Arts and Sciences B.S.
    • Honeoye Falls-Lima HS (graduated June 2010)
  • Work Experience
    • FactSet Charting Team Intern (charting infrastructure for desktop applications)
    • Nvidia Corporation Software Engineering Intern (CUDA Tools)
    • Rensselaer Center for Open Source: Open source application development
    • Junior Engineer at Deadmans Productions: Web application and game development
  • Programming Languages
    • C++
    • C#
    • C
    • Python
    • JavaScript
    • GLSL
    • Cg
    • PHP
    • Tcl
    • Haskell
    • Matlab
    • Java
  • Libraries/Technologies/APIs/SDKs
    • OpenGL (Most familiar with 3, inexperienced with compute/tesselation shaders)
    • Direct 3D (DirectX 11)
    • OpenFrameworks
    • WebGL
    • CUDA
    • GLFW
    • pygame
    • Android SDK
    • LaTeX
    • HTML
  • Software
    • Unity 3D
    • LaTeX
    • Maya
    • GIMP
    • Blender
    • Audacity
    • Vim
    • git
    • Perforce
    • gcc/g++
    • clang/clang++
    • gdb, cuda-gdb
    • valgrind
    • nvcc
    • Linux (I have previously used Ubuntu, Linux Mint, OpenSUSE, Fedora, and ArchLinux systems)
    • Windows
    • Visual Studio
  • Computer Science and Programming Experience
    • Physics-based character animation
    • Cloth simulations
    • Fluid simulations
    • Ray tracing
    • Photon mapping
    • Real-Time Hatching (Hoppe et al)
    • Example-based texture synthesis
    • Watercolor rendering
    • Front-end web development
    • Web application development
    • Machine learning techniques including the perceptron, order transforms, data normalization, and neural networks
    • Computer vision techniques including feature detection, matching and object detection, color correction
    • Matting
    • Match moving
    • Web game development
    • Android game development
    • OpenGL and Direct3D drawing
    • Polygon triangulation
  • Game Development Experience
    • 2D/3D physics
    • 2D/3D rendering
    • Lighting and shading
    • Image/Screen-space effects
    • Level design
    • Mechanic design
    • Particle systems
    • UI/Overlays
    • Narrative/Writing
    • Basic environment and terrain modelling
    • Basic character modelling and rigging
    • Basic initial concept art
Note: All games produced with a group unless otherwise noted.

antongarou:

mysteriousgreenbean:

mostlysignssomeportents:

“Humans in the loop” must detect the hardest-to-spot errors, at superhuman speed


I’m touring my new, nationally bestselling novel The Bezzle! Catch me SATURDAY (Apr 27) in MARIN COUNTY, then Winnipeg (May 2), Calgary (May 3), Vancouver (May 4), and beyond!

A yellow rectangle. On the left, in blue, are the words 'Cory Doctorow.' On the right, in black, is 'The Bezzle.' Between them is the motif from the cover of *The Bezzle*: an escheresque impossible triangle. The center of the triangle is a barred, smaller triangle that imprisons a silhouetted male figure in a suit. Two other male silhouettes in suits run alongside the top edges of the triangle.ALT

If AI has a future (a big if), it will have to be economically viable. An industry can’t spend 1,700% more on Nvidia chips than it earns indefinitely – not even with Nvidia being a principle investor in its largest customers:

https://news.ycombinator.com/item?id=39883571

A company that pays $0.36-$1/query for electricity and (scarce, fresh) water can’t indefinitely give those queries away by the millions to people who are expected to revise those queries dozens of times before eliciting the perfect botshit rendition of “instructions for removing a grilled cheese sandwich from a VCR in the style of the King James Bible”:

https://www.semianalysis.com/p/the-inference-cost-of-search-disruption

Eventually, the industry will have to uncover some mix of applications that will cover its operating costs, if only to keep the lights on in the face of investor disillusionment (this isn’t optional – investor disillusionment is an inevitable part of every bubble).

Now, there are lots of low-stakes applications for AI that can run just fine on the current AI technology, despite its many – and seemingly inescapable errors (“hallucinations”). People who use AI to generate illustrations of their D&D characters engaged in epic adventures from their previous gaming session don’t care about the odd extra finger. If the chatbot powering a tourist’s automatic text-to-translation-to-speech phone tool gets a few words wrong, it’s still much better than the alternative of speaking slowly and loudly in your own language while making emphatic hand-gestures.

There are lots of these applications, and many of the people who benefit from them would doubtless pay something for them. The problem – from an AI company’s perspective – is that these aren’t just low-stakes, they’re also low-value. Their users would pay something for them, but not very much.

For AI to keep its servers on through the coming trough of disillusionment, it will have to locate high-value applications, too. Economically speaking, the function of low-value applications is to soak up excess capacity and produce value at the margins after the high-value applications pay the bills. Low-value applications are a side-dish, like the coach seats on an airplane whose total operating expenses are paid by the business class passengers up front. Without the principle income from high-value applications, the servers shut down, and the low-value applications disappear:

https://locusmag.com/2023/12/commentary-cory-doctorow-what-kind-of-bubble-is-ai/

Now, there are lots of high-value applications the AI industry has identified for its products. Broadly speaking, these high-value applications share the same problem: they are all high-stakes, which means they are very sensitive to errors. Mistakes made by apps that produce code, drive cars, or identify cancerous masses on chest X-rays are extremely consequential.

Some businesses may be insensitive to those consequences. Air Canada replaced its human customer service staff with chatbots that just lied to passengers, stealing hundreds of dollars from them in the process. But the process for getting your money back after you are defrauded by Air Canada’s chatbot is so onerous that only one passenger has bothered to go through it, spending ten weeks exhausting all of Air Canada’s internal review mechanisms before fighting his case for weeks more at the regulator:

https://bc.ctvnews.ca/air-canada-s-chatbot-gave-a-b-c-man-the-wrong-information-now-the-airline-has-to-pay-for-the-mistake-1.6769454

There’s never just one ant. If this guy was defrauded by an AC chatbot, so were hundreds or thousands of other fliers. Air Canada doesn’t have to pay them back. Air Canada is tacitly asserting that, as the country’s flagship carrier and near-monopolist, it is too big to fail and too big to jail, which means it’s too big to care.

Air Canada shows that for some business customers, AI doesn’t need to be able to do a worker’s job in order to be a smart purchase: a chatbot can replace a worker, fail to their worker’s job, and still save the company money on balance.

Keep reading

I often heard “you’re a programmer, AI is coming for your job”. I never agreed with it and this article greatly presents why.

I mean - yeah, technically if you don’t care about stuff like security, reliability, bugs and such, then you can use AI to generate your code. That’s assuming you’re coding something, that was already done a lot of times, and even then you need someone go review it… I wonder who that might be…

So AI - or to be exact: LLM solutions, as this is what this article focuses on - is not going to take my job. Under misguided management it can make my job a living hell of only code reviews and bug fixing AI generated code, but programmers will be still necessary.

And with inevitable decline in code quality of AI solutions, software development may actually take up LONGER to create if you want it done mostly by AI. Or at very least - it will become much more expansive to maintain. Because fixing and maintaining AI generated code will be harder and it will much more prone to bugs.

As an automation expert I couldn’t agree more. This is even true for coding specific LLMs like Copilot. I generally avoid them. My colleagues don’t seem to understand why as of yet. I might send them this essay.

Apr 23, 2024
View on Tumblr

jasperjv:

choppers-pink-hat:

awgeezitsthetoiletnator:

ankle-beez:

a two-part meme based on a scene from "the eric andre show". 

the first part is eric andre shooting hannibal burress, who is sitting on a couch. there's text on eric andre that says "hollywood execs", there's text on the gun he's holding that says "mass layoffs", "cancelations", "unfair pay", "shelving finished products for tax write-offs", and "threatening job security in favor of a.i.", and there's text over hannibal burress that says "hollywood creatives".

the second part has hannibal buress dead on the couch, with the text over eric andre now saying "why don't people want to pitch new stuff for us"ALT

an interesting take on this from matt braly, creator of amphibia

Imagine being a business that has managed to get THE MAXIMUM NUMBER OF CUSTOMERS IT IS POSSIBLE TO HAVE, and you’ve managed to make it so this is a bad thing.

You did it. That’s late stage capitalism in one sentence.

Apr 18, 2024
View on Tumblr

uuuuuhhhhhhhhhhhhhhhhhh:

He’s right tho

Apr 17, 2024
View on Tumblr

unpretty:

unpretty:

unpretty:

society is spiraling and culture is a wasteland. i know this because i looked and most people prefer things that are fun and easy, making fun and easy things extremely popular. this is the first time that’s ever happened, historically.

#i will respond to these cultural developments by complaining about The Young People#as opposed to financially supporting non mainstream and challenging art (via @golvio)

my strategy is threefold:

  • in order to get people to enjoy things that are challenging, i will find the people who are enjoying fun and easy things, and i will tell them how cringe and stupid they are
  • where relevant i will pirate fun and easy things, the better to explain why they are cringe and stupid
  • if i accidentally find myself enjoying those things, i will find ways to make them difficult through essay writing

today i am thinking about dracula daily. i am thinking about how so many people signed up not because they wanted to assign themselves homework, but because people told them it was going to be fun. or they saw other people who had signed up having fun, and they wanted to get in on the fun. i am thinking about people who started dracula daily shitposting about paprika and shipping jonathan, and ended it writing and reblogging essays and book reports about an 1897 novel–which was still for fun. and i am thinking about people who still think it doesn’t count, that all those people weren’t really reading classic literature, and the evidence is that they were having fun.

i am thinking about how when i had my gallbladder removed, i was supposed to give up fatty foods, but mostly i didn’t. this is attributed to my lack of willpower. i’ve had horrible heartburn since i was in elementary school, but everyone understood why i didn’t want to give up tomatoes. tomatoes are good for you. i fucked up my knee doing squats and spent months fucking it back up because i tried to get on the treadmill again as soon as i could get away with it. this is not attributed to my lack of willpower.

it’s just so weird. even aside from the ahistorical nature of it, the weird idea that no one read romance novels and watched action movies and sitcoms before tiktok made them stupid. you should watch better movies, read better books, because you’re having too much fun. watching movies and reading books should be unpleasant. like telling people they should eat their vegetables because dinner is supposed to taste bad.

an experimental queer novella won a bsfa award, a nebula, and a hugo, but nothing drove sales as hard as a vashwood shipper aggressively and enthusiastically telling people they should read it with emphasis on the idea that it wasn’t a big commitment.

when i watch a french film about a succubus or a chadian film about justice, i’m not doing it because movies are supposed to be difficult to watch. i’m doing it because they’re good movies. why would i tell someone that the movies they watch are stupid, and that they might be too stupid for the movies i watch, if i actually wanted them to watch good movies? when i read nonfiction about grocery store supply chains or nixon’s presidency i’m not doing it because i want to better myself. i’m doing it because i’m enjoying myself. i am glued to my couch and i am reading the whole thing cover to cover without stopping to take notes because that’s not how i enjoy books. i am buying a song on bandcamp that only 13 other people have bought because i like it, not because popular music is Too Listenable.

it’s like. if i tell someone how many books i read in a year, there is one kind of person who will be very impressed because they think reading literally anything is for intellectuals, and there is another kind of person who will immediately assume that i am just reading romance novels and be deeply unimpressed. and they are both assigning values to how i spend my time based on whether or not they think i was ‘just’ enjoying myself.

at the end of the 19th century dime novels were massively popular in the united states. they were also mostly godawful. i’ve read them. they sucked. anthony comstock said children were having their minds ruined by reading trash instead of good books, and through various campaigns spearheaded by his new york society for the suppression of vice he is said to have destroyed 15 tons of books. the comstock laws from 1873 criminalizing the use of the postal service to mail obscenity, sex toys, letters with sexual content, or any information regarding those items is still on the books in the united states. the ban on mailing contraceptives and abortifacents was only recently struck down.

Again, these stories breed vulgarity, profanity, loose ideas of life, impurity of thought and deed. They render the imagination unclean, destroy domestic peace, desolate homes, cheapen woman’s virtue, and make foulmouthed bullies, cheats, vagabonds, thieves, desperadoes, and libertines. They disparage honest toil, and make real life a drudge and burden. What young man will serve an apprenticeship, working early and late, if his mind is filled with the idea that sudden wealth may be acquired by following the hero of the story? In real life, to begin at the foot of the ladder and work up, step by step, is the rule; but in these stories, inexperienced youth, with no moral character, take the foremost positions, and by trick and device, knife and revolver, bribery and corruption, carry everything before them, lifting themselves in a few short weeks to positions of ease and affluence.

Apr 14, 2024
View on Tumblr

cy-cyborg:

undeadentropy:

spiralarray:

theconcealedweapon:

I vote we stop calling it inflation at all. Seize the language. It’s price gouging, not inflation. Inflation is a nebulous concept that invokes feeling of being too complex for the layman, a struggle as old as economy itself against a beast no one has ever truly slain.

Price gouging is the truth of it. And it makes it very clear who is to blame, and what must be done to end it.

Can confirm this works wonders. Australia is in a cost of living crisis rn and the two major supermarkets are a big part of it, as they pretty much have a duopoly on not just the grocery shopping market, but a bunch of others considered to be essential (things like fuel). They are trying to blame their price rises on inflation, but the media recently started reporting it as price gouging (which it is), and it got the average person pretty worked up, better than blaming inflation did.

Apr 14, 2024
View on Tumblr
Apr 09, 2024
View on Tumblr

mostlysignssomeportents:

Nature is healing

Search engine ad that reads

==

www.temu.com AD
Enshittification - Enshittification On Sale In Brisbane
Only Today, Enjoy Enshittification Up To 90% Off Your Purchase. Hurry & Shop Now. Don't
swipe away. Massive discounts on our products here - up to 90% off!
Types: Women's Clothing, Shoes & Accessories, Beauty & Health
Get the Temu App

==ALT
Apr 09, 2024
View on Tumblr
Apr 08, 2024
View on Tumblr
Apr 06, 2024
View on Tumblr

bogleech:

It should be illegal to require that any device or software connect to the internet just to run. I shouldn’t need to log in with microsoft to open any of their programs on my local computer. All games should be playable without access to an online server. All media you pay for should be downloadable to local disk as a raw file and if they don’t like that because they know you’ll share it and upload it, tough shit. They took your money already, they’ll live.

Apr 04, 2024
View on Tumblr