Latest Entries »

Just a bit of fun…

Working on equipment means I’ve been spending a fair amount of time with the editor today.  Couldn’t resist!


Reworked Weapon Collision

Did some work on the weapon controller so I’ll be able to detect discrete hits and execute suitable gameplay logic. Currently planned stats include:

  • Strength – hit harder, wear heavier equipment without slowing down
  • Dexterity – hit faster, run faster, melee crits
  • Constitution – live longer
  • Intelligence – magic harder
  • Wit – cast faster, magic crits
  • Wisdom – more magic
  • Luck – more/better loot, melee/magic crits

Weapon Swinging + Explosions

Need to change the weapon from being a kinematic body that collides with enemies to being a combination of a ghost body that collides with enemies and a kinematic body that collides with particles… The current approach isn’t going to work when enemies take more than 1 hit to kill, though batting them across the level is fun. Even more fun? At the beginning of a swing, the weapon might come into existence inside the enemy’s body – resolving this collision results in a wealth of hijinks.


Note: The DX11 renderer changes the DepthStencilState and CullMode (and potentially other things) so you’ll need to clean up after it, assuming you’re calling CEGUI::System::getSingleton().renderGUI() right before pSwapChain->Present( 0, 0 ). It is entirely possible there is another way to structure things, of which I am unaware, which will better minimize state changes. If you know something I don’t, let me know!


Defining the rigid bodies in the voxel editor now – enjoy the debug lines!

Axe Play

Just got horizontal weapon swings looking correct – not quite ready for a movie, but I hope you enjoy the screenshot! Need to add weapon hitboxes and fix up the animation, but that will need to wait until tomorrow. Goodnight!

Unfortunately, a combination of the common cold and midterms prevented me from getting much development done in recent weeks. In related news, std::pair<dev,dev> is no more – in an effort to re-establish project momentum I have taken sole custody of the game. I wish Luis Santos the best of luck on future endeavors.

In brighter news, development of the game will now continue in earnest and, barring any unforeseen complications, I expect a week of exciting progress!


Lighting with Deferred Shading!

So I got Deferred Shading up and running (with point lights) and sped up the Graphics System a little in the process (on my ATI card, at least) by decreasing the render target sizes.  Here’s how it went:

  • My first attempt was using the billboarding shader I wrote for the particle system – this was wrong because the sphere that is a point light gets projected to an ellipse – ack!
  • I read Deferred Shading Optimizations and, hey, that’s the problem I was having!
  • Nick Thibieroz was nice enough to point me to this, which explains how to get the quad I was looking for.
  • But I’m not quite smart enough to understand what they’re doing there, so I bounded the sphere with a cube (in the geometry shader). Take that, projection! Viva El Cubo! This had the bonus of letting me write the cubic particle shader… oh, here is something awesome if you like cubes.

My quads are wrong, so wrong, these point lights are projecting to ellipses!

4 Cool Things

Thing 1: Got approval to do a DirectCompute particle system for my CS570 grad project, so our particle system should be awesome.
Thing 2: Luis got the explosion effect partially done, witness the video below!
Thing 3: Ben Ellinger made some really good suggestions for game mechanics revolving around making our map more dynamic, so I hope to implement all of that in the near future!
Thing 4: Malte Skarupke taught me what Isometric means! That guy is a genius, I hope he goes indie.

Even numbered cool things are in the video below. Odd cool things will be in a video in the future – they’re weird like that.

Basic Slime AI

Doing a distance check, then a Y velocity check, then casting a ray to the ground and, finally, the player. If everything checks out, jump!

If you’re reading this, you should instead check out Voxel Chronicles, my current game. That blog is also updated much more often, though all the posts are about the game instead of me – fancy that!


Paulo Surricchio referred me to A Simple and Practical Approach to SSAO, which I’ve implemented (mostly) by the book. I’m not doing the business with the random textures (yet) and I’m already reasonably happy with the result. But you don’t have to take my word for it. Might need to do something about the sampling artifacts, I’ll need to see how things look once I’ve got some lights/glow.

1. Basic AI
2. Audio
3. Lighting
4. Basic Player Attack
5. Basic Enemy Death

Expect videos!

SSAO Test 1

Feeling Perfectly Normal


Now that I’ve posted the backlog of videos, a brief description of the game!

Voxel Chronicles is an isometric action-RPG in development by me, Emory Myers, a 2nd year Master’s student at The DigiPen Institute of Technology. The game is inspired by a diverse collection of titles, including but not limited to: Ultima VII, Dungeons of Dredmor, Dwarf Fortress, Minecraft, Path of Exile, Terraria and 3D Dot Game Heroes.

I plan to keep this page updated regularly, so stay tuned! I’ve got to see what the situation is as far as getting you guys playable builds for testing, but I’ll try to post videos documenting the progress on a regular basis (whenever I add something cool!)

Tetris for the Blind

I’m not working on this currently, but I don’t think it would be hard to do: Tetris for the blind.

Give the player a button which causes each column (there are 10 in Tetris) to play a sound with the pitch varying based on the height of the topmost block in that column.

Give each pentomino a unique looping sound effect – change it somehow based on rotation – change the pitch based on column and make the playback faster based on depth.

If I ever clone Tetris for some reason, I’ll reach out to some deaf gamers and give this a shot. If somebody wants to beat me to the punch (or already has) – go for it!


PAX Dev was great! Figured I should post a blog… post… about it, since I handed out some business cards and my Mii was out there strutting it in at least 30 plazas. With PAX proper starting tomorrow, I expect the accumulation of streetpasses will be intense. For the past month or so I’ve been working on a contractual game for the AHA with these jokers, as well as forming a new startup to begin work on our own game (original IP) for Android / Teh Web.

I’m updating the site now, since I’m actually employed as a Game Developer and have some new videos… I can’t seem to say that enough. I’m employed as a Game Developer. Just ask my business card! 😉

BSP Dungeoneering

Got some basic BSP-style dungeon generation going tonight. Next step is to add a player character and make it controllable. Might need to wait until Monday, tomorrow is dedicated to schoolwork. Also on the agenda for this week: update website resume/projects/bio pages and get new business cards!

I like RPGs. RPGs are cool!

Inspired by Gurk, the 8-bit RPG and How to Write a Roguelike in 15 Steps and my new gig working on Android games @ MokaSocial and, as always, Lord British and my CS580 project I’ve started hacking on a modest old-school open-world closed-dungeon overly-hyphenated RPG for Android. Wish me luck!

Fall 2011

Wow, 2010 came and went… below are the courses I’ll be taking for Fall 2011!

CS 570 – Computer Imaging (3 Cr.)
The course introduces students to computer imaging where image analysis and image processing are unified to provide a useful paradigm for both computer vision and image processing applications. Students will use C# to implement different algorithms introduced in the course. Upon completion of this course, students are expected to have gained a general understanding of the fundamentals of digital image processing and computer vision. They will also have achieved a familiarity with the current analytical tools that are used in computer imaging applications and the ability to design and develop basic algorithms to solve computer imaging problems.

CS 581 – Introduction to Artificial Intelligence (3 Cr.)
This course covers important AI areas, including search algorithms, knowledge representation, production systems, game playing, uncertainty handling, learning, and planning. Students are required to have basic knowledge of data structures, probability theory, and mathematical logic. Upon successful completion of this course, students will have gained an understanding of and skills relevant to modern AI techniques, practices, and design solutions.

CS 598 – Computer Science Seminar (1 Cr.)
Every semester, guest speakers, faculty members, and/or graduate students offer to DigiPen students a number of presentations that cover different research topics in computer science. Each speaker decides on the choice of topic, but they usually are within the general boundaries of students’ courses of study. This seminar aims not to pursue any particular topic but rather to explore new research in more depth to allow students to develop their own skills in theoretical analysis. Each speaker’s paper(s) will be available to students. They will be required to read these papers and to choose one to expand upon for a final paper and an oral presentation.

GAM 550 – Master’s Game Project II (3 Cr.)
This course challenges students to research the latest techniques in game design and technology and to apply their findings in a 3D game/simulation. Students will investigate issues in 3D techniques, artificial intelligence, and next-generation game console architecture, as well as such advanced game design issues as massively multi-player persistent worlds, input/GUI theory and design, and advanced simulation theory and applications. Students will report their results to the class and present a pitch paper for a product that incorporates their findings both to the class and a faculty review board. Students will then create a game design document and technical design document for the approved project. Depending on the scope of their projects, students will work individually or on teams. By the end of the semester, students should complete a prototype of their game/simulation.


The Legend of Zelda: Ocarina of Time 3D by Nintendo

The first 3DS game I’ve purchased for my 3DS. The graphics are noticeably improved from the N64 version, with the majority of textures looking great. The game itself is a 5/5, no doubt – an excellent remastering of a classic title. The only flaws are issues with the system itself… since the 3DS is using a parallax barrier, bright objects on dark backgrounds will sometimes bleed into both eyes. Also, during tense boss battles, I’ve needed to turn the depth effects off – when you’re really jamming on the controls it is difficult to keep the system centered and if the 3DS gets a bit sideways the graphics double up as though you’re extremely drunk. I’d give the overall experience a 4.75/5 – the glasses-free 3D holds up in the majority of cases and pocket holograms are likely a few years away. Slightly relevant.

Wurm Online 3.0.1

I’ve played this for a few minutes after hitting a link on Raph Koster’s blog. The graphics are better than I expected and it has a climb button. I give it 7/10 PP (potential points.) Oh and Watch this!


Mix SoTN and Super Metroid with MC Kids. Anybody calling this 2D Minecraft hasn’t played both of these titles. Whereas Minecraft is a sandbox, Terraria is most definitely a game and a great one. 6/7 Gels.

Spiral Knights

I hopped into this title the other day when Steam was promoting it’s F2Pness and the servers were going down in 10 minutes. I ran through a dungeon with a group of 3 strangers. The game was relatively lag free and very much a real-time affair… more like an artistic co-op dungeon crawler than a themepark MMO. I give it 6/10 PP… I docked 2 because I think I remember this having Sega’s name on it.

Forsaken World

Same story – I jumped in and played for not very long. I started as a vampire and the starting area was very cool. Graduated from the starter area into a typical generic medieval MMO fantasy town and immediately lost all interest in playing this game ever again. +1 for being freemium, +2 for having vampires as a class. 10/20 stars.

Ultima 7: The Black Gate

Quite possibly my favorite RPG of all time. If you haven’t played this yet, go obtain a copy and DOSBox – if you’re able to get past the dated graphics, you’ll find a game with an open world, witty dialog, an intriguing plot and… I don’t know. All the player agency in this game, they could’ve called it… The Agency… yes. 100/100 sparkly gold glitter beans.


A bunch of game built on a handful of mechanics that aren’t very fun. Try the demo version, if you want. 2/5 nails. In the coffin.

Review of Robotek

Robotek, a new title from Hexage. My initial review would’ve been as follows:

I played exactly once and only played the tutorial. I alternated between adding/improving bots and keeping my shield up. When bots were maximized, I switched to alternating between dealing damage and keeping my shield up. Meh. 2/5 stars. 1 star for existing, 1 star for having good graphics.

However, John suggested the game was engrossing, and he’s a cool guy, so I’ll give it another shot. Here goes:

Ok, I’m playing the campaign this time. The text is a bit small, apparently some machines have taken over and whatnot, bad times for mankind? Canada is the weakest (burn!) so we’ll attack them first. The battlefield is immediately familiar, I am Moltar and I’m fighting a Portal turret – I can dig it. The game was slightly more difficult but my strategy remained unchanged and I was victorious. Upon victory I gained points, power and experience. I’m only 300xp away from level 2, apparently I should play again, so I do.

Once again, combat, Moltar vs. Turret! I’ll attempt to play a Rogue instead of a Paladin and focus on Direct Damage and Hacking. This is not going well, my hacking attempts are failing and I stand alone against a shielded turret and a droid duo. Defeated, 70 to aught. Blue Won. I am a dismal failure. The game saw fit to pay me the minimum wage of 300xp, rewarding my poor performance with another level.

Upon leveling up Moltar is given a health upgrade – he is commanded to feel 10 points healthier, immediately! If only I’d had these points of health for his last battle, he would’ve lasted another half a turn! Wait, Rapid Fire – which allows my bots to fire twice per round – that sounds fun. 1 extra coin with which I can upgrade the slot machine? Interesting.

Round 3 – sticking with my tutorial strategy of bots + shields. The enemy is duplicating my strategy except having better luck with the slot machine, the battle is not going in my favor. Another rousing loss.

Final verdict: 2.5/5. 1 star for graphics, 1 star for not crashing, .5 stars for customization options.

Life of Game Conway’s

I was thinking about time and the nature of reality, which made me think about Conway’s Game of Life. The rules of the game are very simple – it takes place on a grid, with the state of grid cells changing based on some very simple rules (more information is available here if you aren’t familiar.)

I’ve frequently thought about reversing the game of Life – obtaining the previous state(s) from a given state. On a bounded grid, this is possible. On an unbounded grid you’d need to calculate the area for a given frame by being given some initial bounding area and the number of updates which have occurred. Assuming you’ve got a fixed area and a valid state, it is possible to search for and obtain one or more states which could have come previously.

When I start pondering the implications of reality working this way and the possibility that our perception of time is imperfect, my mind wanders to topics like free will and parallel realities. I’m not sure if I’ll get any interesting gameplay mechanics from this line of thinking, but I appreciate the opportunity.

It’s vs. Its

I have given myself permission to use it’s to denote something belongs to it. As in, it ate it’s crackers. I encourage everyone else to do the same. It feels so good.

First AS3 ‘Game’

So I was at the Indie Game Mixer at GDC and some kid in a cool hat introduced himself to me as Chevy Johnston! I had no idea who he was… but he asked if I’d made any games, to which I reluctantly replied I’d done some school projects but nothing I’d released – he explained he was the author of FlashPunk which had been used in, I don’t know, hundreds of games… and he’d authored 20+ or so himself (it was very loud in there.)  I felt outclassed, but I resolved then and there to make a game using his library.

Wanting to make something quickly (and having never worked with AS3), I remembered reading this article. Ok, so I write my little avoider game and I’m uploading it and looking for that article on Google so I can link to it in this blog post, and… wtf! That article was about Chevy Johnston!

Anyway, the game is here. It is based on my walk from GDC to the Renoir Hotel in San Francisco. It was inspired by reading an article about a game developer who I then also met and didn’t recognize. /facepalm

Hello San Francisco!

Got off the train, got on a bus, got off the bus, walked to hotel, waited for check in, checked in, took shower, ordered pizza, drank Dr. Pepper, watched Cosby Show.  Did not walk over and get badge, but I can do that in the morning, no problem.  TV gets less relevant to me every time I watch it, so I’m working on our particle system for Drake Savage.  Wait, The Simpsons came on and it seems relevant…

What NOT to do at a GDC party


Coffee without sleep is like being on a treadmill… I’m getting nowhere, but I’M RUNNING SO FAST

GDC 2011

So excited for GDC this year!  Putting the finishing touches on my website so I can hand out my business card with pride.  Also need to update the resume…  and somebody told me it was Thursday already? Bah!

If anyone can help me get into the speaker party, getting respect from Portnow would be an accomplishment…  and the CCP party!  Hopefully they’re having another one?  It is going to be great.

First semester at DigiPen, A in GameDev, A in AI, B+ in OOP. Going to get some code written to render terrain Minecraft-style in C# w/XNA, don’t know when it’ll be in working order (taking a graphics class this semester)… but assuming it gets done (hopefully we’ve got some freedom in projects in this graphics course) I’ll be posting screenshots. Last semester I got a 120% on the AI I developed to prototype some concepts for my MC/DF clone.

Next semester we get to work in a team and create a game, I’m really hoping my team does either a spaceship RPG (ala Solar Winds) or a clone of Minecraft/Dwarf Fortress/The Sims. Hopefully I get to work on the AI!

Applied to volunteer at GDC 2011. Got a 1.5k bonus at work. At Anna’s brother’s apartment. Uh, had a Merry Christmas! Hope you have a Happy New Year.

The TSA is the Transportation SECURITY Administration. As an organization they don’t give a fuck about anything except security. The TSA is not a corporation and doesn’t give a fuck about customer service. The head of the TSA is not an elected official and doesn’t give a fuck about American citizens. Individual TSA agents are people doing a shitty, unrewarding job because they have been unable to find something better – the job performance of individual TSA agents will reflect the I-hate-my-job strategy of doing as little as possible while avoiding being reprimanded. The TSA can’t ‘win’ because like the war in Iraq there is no ‘goal’ – there is no achievable mission – there is never a point where they are ‘done’. In any endeavor where there is no success state, only failure states, the only thing which can be done is to search for ways to maximize the mean time between failures. This is not a winning strategy, winning is impossible. The TSA can only ever do 3 things: fail, disband or search for ways to avoid failure.

I have seen the future of music and it is everything I expected and more.

“experts” exchange <- wtf is going on in the comments? Bunch of nerds squabbling over imaginary gold stars, this kinda of bologna made as much sense to me in elementary school as it does now.

So we were creating an observable black hole by making sure that it wasn’t fully connected to adjoining space… matter having something called digital density which could be computed and stored in tables, but which existed in multiple sets of tables which were updated independently of each other – I think these varied based on the position of the observer. Digital density was based on information density in matter, and the black hole was actively trying to reduce this to 0 in all tables, which was impossible due to the procedure for updating the tables. Information density was a measure of how much information was stored in a given space based on the complexity – the middle of a solid sphere would have a low information density, which would be higher on the surface. This was all based on research at the Ghostbuster institute – we were looking for paranormal effects in the surrounding area (some abandoned subway tunnels, I think). Super cool dream!

Had a dream that the forward motion of time displaced… something… you could think about all of it like a fluid, and there were bubbles. And on the surface of these bubbles, you could encode information – and that was how you could send information backward through time. Encoded on the surface of bubbles in the time fluid.

New migraine medication giving me crazy dreams.

Hopefully Wii^2 does DLC… each level in Mario Galaxy 2 has like 3.3333 stars, and there are, I don’t know, between 120 and 140 stars in the game. So if the price of the game is $49.99, we’re talking between 35 and 42 cents per star… which means somewhere between $1.15 and $1.40 per level. I’d totally pay that.

If you answer a question with code, make sure it works. If you answer a question in English, make sure you spell check it. If you answer a question with pseudo code… you’re off the hook!

1) The notion that jobs exists which American citizens won’t perform is false. I am convinced that there is no legal type of labor in the United States which a citizen would not perform, assuming safe working conditions and wages based on supply and demand.

2) The notion that jobs exists which American citizens don’t want to perform is certainly the truth, however I believe adequate motivation would arise assuming safe working conditions and wages based on supply and demand.

3) The notion that it benefits American companies to invest in cheap labor rather than automation seems false. It feels like an argument supporting slavery (local labor is expensive, thinking is expensive, importing servants is cheap.) I should think that investing in the future, namely robotics and artificial intelligence (or even improved tools and process), is superior (both morally and in terms of remaining competitive with foreign powers).

I feel like American culture is all about sacrificing the quality of the future for quantity in the present, and the ‘debate’ on illegal immigration is the result of big business manipulating supply and demand by pulling on the heart strings of some very compassionate and generous folks.

If Mexico was a good place, I’d attribute it to the majority of Mexicans being good people. If Mexico was a good place, I’d expect the majority of Mexicans would want to stay there. If the majority of Mexicans were good people, I’d expect that allowing them to become American citizens would result in America becoming a better place (hybrid vigor ftw!) If Mexico were a good place and I’d written this paragraph alone I don’t think anyone would attribute it to hatred or racism.

If Mexico was a bad place, I’d attribute it to the majority of Mexicans being bad people. If Mexico was a bad place, I’d expect the majority of Mexicans would want to leave. If the majority of Mexicans were bad people, I’d expect that allowing them to become American citizens would result in America becoming a worse place (importing inequality ftl!) If Mexico were a bad place and I’d written this paragraph alone I think some people would attribute it to hatred or racism.

Imagine you live in a house you inherited from your parents, along with your spouse and several children, ages 2-11. On a hot summer day, you look out of your bedroom window and see that a group of strangers have broken the picket fence in your backyard and are sunbathing on your deck and swimming in your pool. How would you feel and what would be your immediate reaction? Would you feel differently if you’d built your home rather than inherited it?