Abram Wiebe

Age of Discovery

Steam Link

A classic tile mapped and sprite RPG game loosely based on Dungeons and Dragons.

Cosmic Derby

A mobile game currently in the works.  I can't show too much from it right now, but this is posted with permission.  Check back soon for more info.

Town Demo

A short demonstration of various graphic programming techniques that can scale from low end to higher end hardware.  Focus on making a scene feel more lively using procedural elements.  I built it to learn more about the Unity3D's day-night cycle.

 Click through for live demo

Blackbrook Mansion

An early student work for learning about engine scripting, modular interiors and setting the mood.

 Click through for live demo

Game Design

An except of a video showing how to plan a character controller.

My Background

I am a recent graduate with a passion for games, looking to grow my network in the games industry.  I am under no illusion of game development being easy, it is indeed a balance between making art and staying in business.  I am happy to work long hours in crunch for the privilege of doing it because I believe games are the ultimate multimedia medium, and I get to work with some very interesting people.  Below is some gratuitous biographical information about my journey and interest in games and their development.

Why I love Games

I grew up around computers and they have always fascinated me.  My earliest love of games was the Humongous Entertainment point in click titles, and classic real-time-strategy like Starcraft, Warcraft 3 and Age of Empires, as well as city builders and sims such as Sim City, Sim Ant, and the Rollercoaster Tycoon series. growing up there was a boom in 3D platformers and the sometimes vague genre of "Action Adventure", I became fixated on how they could possibly work, and how many millions of calculations must be involved.  

Back then there was a clear separation between the capabilities of most consumer personal computers and video game consoles, so I wondered how it could be that a PS1/PS2 could be so much more capable of producing 3D graphics and how a portable consoles like a GameBoy or Nintendo DS could run so long on a single charge, when similar laptops with arguably worse performance could barely hold a charge up to an hour.

Many of my peers had the Nintendo 64 and gamecube, which did not keep up with how technically the Sony PS2 counterpart as the gaming arms race went towards photorealism and even more complex 3D worlds.  Despite this march to photorealism and the absolutely bafflingly large catalog of PS2 games, other players somehow managed to stay competitive and it is at this point that the game industry really started to diverge.  

These days there is a clear division between games that have some mix of fun gameplay, photorealism and story.  I believe that some AAA have lost sight of a game being fun as an end goal, focusing too much on this technology, and this is why indie and Nintendo titles can remain competitive.

"Video games are meant to be just one thing. Fun. Fun for everyone!"

- Satoru Iwata

Learning the tools of the trade

Since a very young age I had the luxury of access to computer hardware that was quite powerful for its day. and the powerful software on it.

I got an early start on word processors with Clarisworks (later Appleworks), iMovie, and Adobe Photoshop.  The picture gallery shows Cocoa DR3 the first game engine I ever used, it was a simple sprite and rule editor. Next I tried Coldestone by Ambrosia Soft., Torque and eventually settled on Unity3D for its excellent asset pipeline, support for many platforms and its resilience in the game engine market.


Making Assets

It's very difficult to learn about different game engine technologies if you don't both have some skill at making art, and also some skill at programming.  I've used a variety of tools.  In high school I had a short period in which I tried out Flash, Sketchup, and 3D Studio Max, an I honed my skill in Adobe Photoshop.  In the end I mainly use Photoshop, Cheetah3D, Blender, and Audacity to manipulate images for textures, 3D models and audio respectively.  Of course for programming really any text editor will do and the remainder of the prefab setup is done within the game engine.  I can do polygonal modeling, and texturing of rigid shapes but there is more of an art to organic shapes and a tremendous patience needed to do animation.  Conveniently for humanoid characters, the problem of animation is completely solved, though creating and rigging humanoids is still difficult if you want them to be more than a simple template.

Some art forms remain a mystery to me, especially digital painting, digital sculpting and musical composition.  It bewilders me to watch those kinds of artists work.  They work at such speed, and have difficulty explaining their exact process.  It's simply more practical to hire them, than to put in the same 10000 hours to become as good as they are at their individual jobs.

In the end I didn't make much of a game on the DS because I hadn't yet learned how to make use of limited hardware.   But I did manage to learn a lot and made a little tech demo of some pikmin and a bulborb in full 3D

Homebrew

Between the early years and when I came to use the Unity engine there was a shortage of ways to portably make games.  One of the few ways to viably make games that you could take with you that didn't involve hauling about a laptop was homebrew on a commercial portable console.  Homebrew is a pretty niche subject, but making software for such an underpowered system teaches you a lot about graphics hardware.  In this phase I started learning about how OpenGL works, as the homebrew tools for the Nintendo DS (libnds/devkitARM) have a limited subset of the ancient OpenGL interfaces that allow you to manipulate the 2D and 3D engines of the device.

The Indie Revolution

With the rise of the Steam digital distribution platform and iPhone and android smartphones and devices, suddenly anyone could develop a game.  This further cemented game engines that supported smart devices and easy cross platform support.  Unlike my experience with the Nintendo DS the iPhone was a decently powerful device, although the first generation was only about as powerful as a Playstation 1 or a Nintendo 64, it was still a Playstation or Nintendo 64 that you could carry in your pocket. 

The Unity for iOS demo "Penelope" offered stunning visual fidelity for early iPhones, though it was quickly overtaken as the abilities of the iPhone grew in newer generations.  Especially when it came to the Unreal Citadel demo for iPhones with Retina display.

A beneficial side effect of developing for the iPhone is that the iPhone was not nearly as constrained as a Nintendo DS (afterall a Nintendo DS used old hardware that was old in 200 to keep costs and power consumption down), but it was still not powerful enough to allow for a wide variety of effects.  This meant that many of the demo projects taught me tricks for eaking out performance in lower powered system.   e.g.

And it also drove me to learn more about graphics programming as a keen understanding of the capabilities of the hardware is vital to knowing why some effects cost more than others.

The mobile revolution did not come without its problems though.  The first of which was that the shear number of games that were of mediocre quality released for the platform drove consumers to distrust mobile games.  This was compounded by the predatory practices of developers with microtransactions, and the 

There is also a problem of porting a game from one system from another  there was now an expectation that franchises should have a mobile port, though this involves extra work and depending on game type might not even be possible due to constraints on the input system of the phone.  Without a controller the only input on a phone is usually the touchscreen or accelerometer, so games that need precise mouse clicks or many gamepad buttons are unsuitable.

The GUI must also be laid out differently and adapt to orientation and resolution.  When the iPhone introduced retina displays which doubled the pixel density of the phone, suddenly all code that relied on a fixed resolution, caused GUIs to shrink to only the top left quarter of the screen, and some straight ports of games are completely unusable because text that was legible on a large monitor cannot be read.

The Technological Arms Race Continues

Technology marches on and recently game engine manufacturers have been rolling out features faster than they can get feedback and tests in.  This is once again disrupting the industry.   It has been my experience in trying many of these features that yes they are a step towards the future, but for many game developers todays tools have been so refined, that this technology is flash overkill.  While fascinating they should be treated with care to avoid falling into the trap of a beautiful photorealistic, but ultimately boring title; because too much time was spent on appearances, and not enough time making a game just one thing, fun.

Further reading :TODO

[Under Construction]

Game Development Further Reading

Catlike coding

Sebastian lague

Retro game mechanics

LGR

Game Developers Blogs I like

Catlike coding, Alan Zucconi, Sebastian Lague, Brian Allgier, Ted Price, Jim Cerny

Education

B.Sc. Computer Science and Math - Simon Fraser University (2014-2018)