Category: Riffraff


Divorce

It’s become pretty clear to me that we’re getting the divorce. I’ve been fighting hard to get Anna to see the light – that I’m feeling better now, that the anhedonia is gone, that I always loved her in the ways I could – but it’s like begging a door to open. Anna lived alongside my depression for the last few years and the effects are terrifying… as much as I want to stay and help her get better the fact is she’s refusing to consider that as an option (and since it’s 2018 the entire world is built around saying “you go girl! you do you!” and ignoring how this is going to affect our children.) I can’t force her to do what I feel is the right thing as parents, the best I can do is minimize the damage she’ll probably inflict. She’s ripping my heart a new asshole. My heart has a butt now. Bert and Corina, if you ever read this, Daddy is sorry – I’m sorry that I had depression, I’m sorry I took so long to come out of it and I’m sorry I couldn’t get Mommy to help me save our family.

On the bright side I guess I get to find my own apartment now and have a proper career. I expect I’ll be taking the cats since Anna doesn’t seem to love them anymore either. I’d take the kids if I could.

Advertisements

Depression

I’ve been struggling with depression for my entire life.  It got a lot worse in 2015 when my maternal grandfather died.  Death is something I’ve never been able to handle well and in the 3 years since then we also lost my Great Aunt Patsy and 2 family friends (Steve and Tinsel) – every time I started coming out of the swamp something seemed to kick me back into it head first.  In this time I learned that my paternal grandmother has been having strokes and basically lost the ability to speak coherently.  My Dad got a divorce and is broke, living with his mother and sister – he also lost the land which had been handed down through my family for generations.  My Mother quit her job and is depending on her mother for housing and living expenses.  During this time we had 2 kids, bought a house and my wife convinced me that her business was failing due to some nonsensical laws passed by Washington state.  I broke, mentally and spiritually.  If I’d just been depressed maybe I could’ve held it together but I also developed anhedonia, the inability to experience pleasure.  I don’t think anyone who hasn’t suffered from that can understand it – I went to multiple doctors and they put me on mood stabilizers, which in retrospect I can recognize was pure fucking insanity (I was flat and down so they gave me something to make me flat.)  During the end of my wife’s pregnancy and the beginning of my daughter’s life my two goals were to earn money, thinking it would make Anna happy, and avoid committing suicide.  I slept a lot.  I yelled a lot.  I was mean.  I drove people away.  I scared people.  I felt angry all the time.  I couldn’t look in the mirror, I couldn’t look at photographs, I hated the world and I hated myself.  I was convinced my newborn daughter hated me because every time I held her she cried.  I was scared to be alone with my kids because I was angry literally all of the time.  I scarred my wife emotionally, snapping at her about bullshit like silverware.  I slept so much I made myself ill, waking up and saying things that I can no longer even remember.  I usually had a severe headache from a shitty diet and lack of hydration.

I started to come out of it in September.  I just spent 2.5 weeks in a partial hospitalization program.  I’m on Wellbutrin, in therapy and trying my hardest to get our lives back on track.  I accept, for the first time, that I’ll never be cured – I will always need medication and therapy.  I’m struggling.  I feel so much guilt and sadness for putting the 3 people I love the most through this.  I feel so much hope for the future.  The only thing that makes me angry right now is the thought of abandoning the people I love – our marriage counselor thinks we should get a divorce (FUCK THAT.)

I have no idea how to get anyone to distinguish between the illness that I’m still fighting and the guy who is fighting it.  This is the best I’ve felt in years and it’s also the worst I’ve felt in years.  My days are disheartening but I am not going to give up.  I stayed alive for Anna and Bert and Corina and I’m going to fight to get our future back on track.  In Elementary School I got a Franklin F for “Most Improved” – my current situation is the greatest opportunity I’ve ever had to earn that little piece of felt.

“””Never, never, never give up.” – Winston Churchill” – Donald Trump” – Emory Myers

I’ve been playing video games for about 27 years now, starting with the NES, and I’ve never been less hyped about a Nintendo console or handheld.  I don’t think I’m alone here and my issue isn’t the price, it’s Nintendo’s track record.

Nintendo’s last handheld, the 3DS, is on its 3rd hardware revision.  The original 3DS was a beautiful system that I’ll miss owning, but holding it hurt my hands and it managed to scratch itself… so I upgraded to the XL.  I thought it was dumb that the XL didn’t include a 2nd analog stick, since at the time Nintendo was selling that idiotic Circle Pad Pro accessory, but whatever.  A little later and Nintendo released the New 3DS XL, which not only has a 2nd analog but superior guts which allows for SNES emulation and things like a Xenoblade port.  Having spent $250(?) on my launch 3DS and another $100 upgrading to the XL, I sat out the New – it just isn’t worth it.

Nintendo’s last home console, the Wii U, they supported for basically 4 years… the first and last of which were droughts.  3rd parties were repulsed by the comparatively weak hardware and while the 1st party games were excellent, they disappeared for the last year while Nintendo shifted all development to the Switch.

So the situation I’m looking at is Nintendo releasing a hybrid handheld/console, when they’re on the 3rd hardware revision of their last handheld and they supported their last console for just 4 years.  They’re launching in the middle of a generation with hardware that’s weak compared to the PS4 and Xbox One, to say nothing of the PS4 Pro and Project Scorpio.  Combine that with the poor localization coming from Nintendo of America and it’s just…  sad.

Sorry Nintendo.

Society

My controversial ideas I should probably keep to myself: Diversity should be a natural side-effect of equality – when we treat each other as equals, everyone will be judged on merit and other things (race, sex, age) won’t be part of the equation.

We never quite managed to get equality as a society – we became obsessed with jumping straight to diversity. In order to achieve diversity without equality, we had to attach additional value based on the phenotype of an individual. Our society is unwittingly attempting to achieve diversity by sacrificing equality – we purposefully draw attention to the things that make us different.

To say that this is divisive is an understatement.

ie. Buying a game gets you a game, but buying a game made by a woman gets you a game and diversity. It doesn’t stop there – it extends to supporting publications based on the gender and orientation of journalists, watching streamers on Twitch, supporting creators on Patreon, funding KickStarters, etc. Any movement which supports one person over another based on phenotype is discriminatory – discrimination always invites blowback.

We’ve gone from embracing one divisive paradigm (the old boy network) to another (the diversity movement) and there is no end in sight – there is nothing unique about gaming, it is just another battleground.

If you identify as a feminist, SJW, MRA or anything else I think you’re going about things the wrong way… but I don’t blame you.

  1. It’s possible we’re living through a period, like when mascot platformers or World War 2 shooters reigned supreme, which will naturally decline.
  2. If someone feels their values/beliefs/gender/skin/sexuality/etc. aren’t represented in art they’re free to express themselves through creation (making games has never been easier!)
  3. Consumers will probably tire of any trend and begin seeking novelty – underrepresentation is opportunity.
  4. The only games which actually represent players feature character customization which usually allows for female characters to be created.
  5. If VR takes off and you look down and your boobs are gone then you’re probably not going to be immersed.

Trollplaying Game

F2P MMORPG where you’re always in a single player instance, chat is global and all gameplay is quick time events. All chat is voice chat and the volume of a user is determined by the pitch of their voice. You cannot fail events, though earnest success earns you more experience – the game has RPG elements like a tech tree and stats, though the stats raise automatically when you level and the tech tree is entirely linear. Equipment is purely aesthetic, though you’re only able to obtain wearable equipment from a global auction house (the only verb you’re afforded on found equipment is ‘list’.) You build a character by placing 2 of the abilities you’ve unlocked onto a hotbar, which is activated with the ESC and Pause/Break keys.

My cat is the best cat. She goes to the bathroom in the bathroom like a person. My other cat is also the best cat, she loves to eat and always sleeps where it is the warmest. My girlfriend is the best girlfriend, she buys me good food at the store and kisses me and says nice things a lot. I study computer stuff and how to make better bad guys in computer games, like how to make the bad guys do better stuff and act more like people. I have the best life and I never sleep.

If I ever hire an engineer…

We’re just trying to gauge your thinking process, so feel free to ask questions.

How many ounces of mood slime would it take to provide a coat 1″ thick covering the interior of the statue of liberty?

If you were attempting to interface this psychoreactive ooze with peripherals designed for a Nintendo Entertainment System, what steps would you take?

Goblins

I was reading about some fearsome new variety of spider they found in Oregon and apparently this thing is related to goblin spiders.

Yes, according to Wikipedia there are around 1,000 species of goblin spiders – that’s a lot of goblins!

This evil little guy is a Silhouettella assumptia. Looks like a red Tektike. Neat!
And then, of course, there is the Goblin shark which is terrifyingly awesome.

Anna on the news!

The Paranormals

When I was really young I remember something inhuman saying my name.

When I was older I saw a ghost arm come through the wall – I was too young to freak out (until I walked into the other room trying to find the rest of the person and it was empty.)

When I was older my Mom and I thought we saw some UFOs while flying kites – neither of us can remember anything that happened after that.

At some point I saw Big in a Fox theater with my Dad – we got the mystery ending that everyone denies filming (the female love interest makes herself younger and shows up as a new student in the main character’s class.)

A few years later, I heard some clicking and visualized something I identified as an engine that was based around a toroidal magnetic field.  No idea where that came from.

At some point, I jokingly claimed to have caused an earthquake.  Mom told me to cause another, so I strained really hard.  Apparently at that moment there was a massive earthquake somewhere (we read about it the next day.)

In the field between my house and my grandparents house in Upperco, MD there was a spot in the field that was always noticeably cooler to stand in.  As a kid I figured something was buried there.

As a pre-teen there was a screaming sound coming from a nearby field – we called it ‘the creature.’  Dad and I went out to investigate and we’re 99% sure it flew, because the sound seemed to come from in front of us and then behind us.

In college I noticed street lights would wink a lot around me so I looked at one and thought “c’mon, wink out” – it did.

I don’t believe in the paranormal.

On Mass Effect 3

I think it’s worth appreciating that ME3 was created as a product first and foremost, that any artistic merit the game has was added for profitability.  This isn’t some indie passion project or an art installation – this is a mass-market product.

If we were talking about dissatisfaction with the graphics engine, the networking, the dialog trees – any of the technical parts of the game which had an equal amount of creativity poured into them – I doubt anyone would support a position of ‘Will Not Fix.’  As a developer, I find this insulting.

Game reviewers are writers – writers sticking together should not be surprising.  It should not surprise anyone that writers believe that their art is somehow sacred – that all things about a game should be malleable except the plot.  If software developers felt this way about their work, the entire industry would grind to a halt.

I haven’t played Mass Effect 3, so I can’t judge the ending, but it seems like this was the result of inadequate playtesting.

Raytracing!

So I’m taking CS500 this semester with Dr. Gary Herron and he mentioned one of the sample images we work with reminded his daughter of fractals.  Well, back in the 90’s I remember fractals being super cool, so of course I instantly decided I should learn how to raytrace them!  Raytrace is probably the wrong word – although I’m working with my raytracer, these shapes are using raymarching and some of the coolest things ever, distance estimators!

Anyhow, just in case anyone else is as interested in this as I am, I recommend starting here.
Here are some pictures I’ve generated so far:

More Dreaming

Thought up a new way to handle cube-based construction in a game – potentially really cool, hopefully I’ll either have time to try it someday, document it or someone else will beat me to the punch.  It isn’t voxel based (unless your voxels are teeny-tiny.)  Just posting here so I won’t forget, chonestly.

Dream Game

I just had a dream I was working on the following game:

It’s like Pokemon, where you train monsters to fight other trainers, except instead of a turn-based battle the combat takes place in real time in an arena.  The monsters are controlled by AI, leaving you to control your trainer – who actually fights (with boxing gloves.)  Other trainers are typically horrified to see you fighting their monsters.

The story is that you were a master of these battles back when the monsters made sense and there was a human component, but many years have passed since then and you think the new monsters the kids have found are dumb and this makes you very angry.  So you’re basically one of those 151-elitists…

Oh, and the first monster you start with is Meat Boy.

Then I woke up, I think Ivy jumped on me.

Invent words

Words which mean opposite things should have the first letters reflected across the center of the alphabet with the bigger/better version being on the right side…  so instead of min and max, you’d have min and nax.  Endothermic and exothermic?  Which is which, I can’t tell, but call them endothermic and vxothermic and all is clear.  Good and bad?  Yood and bad (or vood and evil, ymmv.)  This is a treat idea.

Roadmap

GDC is quickly approaching and Voxel Chronicles isn’t yet where I want it to be.

Here is the roadmap, though – in case you’re curious as to what I’m working on or how long something took.

His bed.

An integral part of the very short plot/tutorial level. Obviously our hero would have a Dwarf Fortress themed bedroom, pfft.

Link to video
Link to code

Weapons point in (0,0,-1) in model space with the tip of the handle located at (0,0,0). startingOffset and endingOffset are two vectors controlling the direction of the swing – for the mace above, they’re set to (0,1,-1) and (0,-1,-1) and then normalized (before we hit the code below.) The code is longer than it needs to be mainly for debugging/clarity, as I’m trying to isolate the problem. Any help is much appreciated!

The code looks like:

// this will be the player's transform
Transform* parentTransform = (Transform*)parent->GetComponent( CT_Transform );

if( parentTransform )
{
Body* weaponBody = (Body*)owner->GetComponent( CT_Body );

// The location of the wielder
btVector3 parentPosition = btVector3( parentTransform->position.x, parentTransform->position.y, parentTransform->position.z );

// The rotation of the wielder
btQuaternion parentRotation = btQuaternion( parentTransform->rotation.x, parentTransform->rotation.y, parentTransform->rotation.z, parentTransform->rotation.w );

// The weapon is offset from the parent position (to a point corresponding to the player's hand)
// TODO: Pass this in from the character controller
btVector3 handOffset = btVector3( -4, 1, -4 );

// this was to handle weapons with widths that are even
if( weaponBody && weaponBody->offset.x > 0 )
{
handOffset.setX( handOffset.getX() + weaponBody->offset.x );
}

// currentVector is some portion of the way between starting and ending offset
float progress = currentSwingDuration / totalSwingDuration;

btVector3 parentAxis = parentRotation.getAxis();
float parentAngle = parentRotation.getAngle();

// Rotate starting/ending to align with player, interpolate based on progress to get current
btVector3 rotatedStart = startingOffset.rotate( parentAxis, parentAngle );
btVector3 rotatedEnd = endingOffset.rotate( parentAxis, parentAngle );
btVector3 currentVector = rotatedStart.lerp( rotatedEnd, progress );

// get axis/angle to rotate starting vector to current
btVector3 planeThatRotatesStartToCurrent = rotatedStart.cross( currentVector );
float angleThatRotatesStartToCurrent = rotatedStart.angle( currentVector );

// get axis/angle to rotate weapon to start
btVector3 planeThatRotatesWepToStart = btVector3( 0, 0, -1 ).cross( rotatedStart );
float angleThatRotatesWepToStart = btVector3( 0, 0, -1 ).angle( rotatedStart );

// Rotate the handOffset
handOffset = handOffset.rotate( parentRotation.getAxis(), parentRotation.getAngle() );

//DebugDraw::instance.drawLine( parentPosition + handOffset, parentPosition + handOffset + ( currentVector * 30.0f ), btVector3( 0, 1, 0 ) );

// get a quaternion to rotate the weapon from it's default direction (0, 0, -1) to current...
btQuaternion weaponRotation = btQuaternion( planeThatRotatesStartToCurrent, angleThatRotatesStartToCurrent ) * btQuaternion( planeThatRotatesWepToStart, angleThatRotatesWepToStart );

// Push currentVector out based on the length of the weapon (we want the handle of the weapon located at the origin)
if( weaponBody )
{
currentVector *= abs( weaponBody->offset.z );
}

currentVector = currentVector + handOffset + parentPosition;

// Communicate the new position + rotation to our parent composition
owner->ReceiveMessage( &DataMessage( MSG_SetRotation, XMFLOAT4( weaponRotation.getX(), weaponRotation.getY(), weaponRotation.getZ(), weaponRotation.getW() ) ) );
owner->ReceiveMessage( &DataMessage( MSG_SetPosition, XMFLOAT3( currentVector.getX(), currentVector.getY(), currentVector.getZ() ) ) );

In mathematics, the quaternions are a number system that extend complex numbers.  A complex number is a number which can be put in the form a+bi, where a and b are real numbers and i is called the imaginary horror, a source of constant anxiety for mathematicians at a subconscious level, which when squared equals -1.

In January of 1843 the Irish explorer Sir William Rowan Hamilton discovered the tomb of Euler and, within it, a mural depicting the deceased mathematician crying a mixture of alphanumeric characters while vomiting into a four-dimensional box.  Slumped in front of this mural was the corpse of Euler himself.  As Hamilton would later write:

“I did not expect to find Leonhard Euler in Peru – his death in Russia a century ago is common knowledge.  If this was truly his final opus, perhaps his countrymen banished him for madness and then claimed him dead to save face?  My peers in academia refute my findings and my guides in the jungle refused transport for the corpse.  I’ve been dreaming of that day ever since – the smell, the heat, the symbols.  My dreams are becoming stranger still – last night Fourier was there with us, furiously peddling a child’s tricycle in tight circles, mumbling rhythmically in cacophonous tones while Euler stalked the four corners of the room.”

Later that year, while walking along the towpath of the Royal Canal with his wife, Hamilton began muttering and carving into the stone of Brougham Bridge.  His wife, concerned he was becoming unstable, transcribed his muttering as “Iejays’k jaykays’i  kayeye’sjay Cthulhu R’lyeh wgah’nagl fhtagn.”  His carving simply read: i2=j2=k2=ijk=-1.

On the following day, Hamilton wrote a letter to his friend and mathematician, John T. Graves.

“And here there dawned on me the notion that we must admit, in some sense, a fourth dimension of reality for the purpose of communing with triples… An electric circuit seemed to close, and a spark flashed forth in the darkness.”

Hamilton called a quadruple with these rules of multiplication a quaternion, and he devoted most of the remainder of his life to studying and teaching them. He founded a cult of “quaternionists” and authored several grimoires, the last and most powerful of which was titled Elements of Quaternions.

Although incomprehensible, Hamilton’s followers digitized and distributed his work in the late 20th Century, where it was rapidly adapted due to a preternatural ability to compactly describe spatial rotations without being susceptible to gimbal lock.  As of 2012, quaternionists have successfully infiltrated the following fields: computer graphics, computer vision, robotics, control theory, signal processing, altitude control, physics, bioinformatics, molecular dynamics, computer simulations and orbital mechanics.

Surviving quaternionists conduct an annual pilgrimage from Dunsink Observatory to the Royal Canal bridge where, fortunately, no trace of Hamilton’s carving remains.

It’s training, dummy!

A* + JPS

Finally got my A*+JPS implementation from last semester’s AI course into the game! Agents aren’t following the generated waypoints yet but the paths are coming in quickly and optimally, just the way we like them.

Old Firebalton

This is not my happy place.

Fixed a bug with the lighting = can zoom closer now (for now.)

Genesis does what Nintendon’t!

Still nothing to marvel at, but I’ve got some material properties in my alpha channel now – a 9-bit glow color and 2-bit shininess. Wikipedia tells me 9-bit color was used by the Sega Genesis (SNES used 15-bit) – neat, eh?

SOPA? Nopa!

If anyone missed my SOPA blackout yesterday, click this.

Also, snow – there is a lot of it.  I think that wraps up yesterday’s news.

A triumph!

You’d never know, but that represents several hours of research into alpha blending and blend states and whatnot – eventually it dawned on me that CEGUI was changing my blend state and, yeah, I can write the alpha channel into my render targets (again?) – HOORAY!

I’m protesting SOPA on EmoryM.com, btw.

Treasure!

Anna’s Private Practice

Anna has a new site for her private practice over at annascaps.com so if you’re having mental problems don’t hesitate – seek professional help.  From her.

12 cubes and suddenly…

I’m in Duckburg, woohoo!

Particles + Equippables

I couldn’t resist posting another video…

Missing in Action?

End of the semester means three things:

  1. Deadlines
  2. Finals
  3. Christmas
Don’t despair!  I doubt I’ll be able to resist procrastinating by updating the game (and this blog) but just in case you’re reading this at the end of December and there haven’t been any updates, here’s the todo list as of 11/30/2011:
  • Weapon models
  • Equippable weapons
  • Player stat increases -> in-game effects
  • Enemy/item ‘lock-on’ (mouse over, then hold mouse button -> move to range, interact)
  • Shift + click -> attack in direction
  • Level transitions
  • Knockback
  • Item stats UI
  • Glow
  • The Altar of Sacrifice
  • Drop-at-location
  • Fix item-in-world Physics (centers of gravity are wrong)
  • Limit picking up (LOS + distance)
  • Fix UI alignment issues
  • Refactor AI System
  • Add projectile enemy AI
  • Projectile weapons
  • Auto-detect screen resolution
  • Options menu
  • Battery acid secret level (thanks John Y!)
And a list of possible features:
  • Elemental damage/resist
  • Light-color-based Invisibility (thanks John Y!)
  • Potato-on-attack (thanks Portnow)
And a list of potential enemies:
  • Headless
  • Minotaur (thanks John S!)
  • Cyclops
  • Medusa
  • Basilisk (thanks John S!)
  • Animated Statues (of all other monsters, thanks John S!)
  • Wild Things (thanks Anna D!)
See?  All that stuff is so exciting, but I’ve got to get back to working on other things.  Like, right now!

GPGPU Particles in Action

This won’t be in the final game, but I’m working on GPU particle systems and cranked the number of particles to 100k.  I thought it looked cool enough to share.  It runs at 60fps up to about 250k particles, drops to 30fps at 500k and 20fps at 1 million.  I don’t expect to be rendering more than ~1250 (using this code.)

Still Kicking

Tanooki Zombie

Pictured:
  • helmet
  • torso
  • pants
  • left arm
  • right arm
  • left boot
  • right boot
And here’s a Skeleton wearing a subset of the above (and a glove on it’s left hand.)

Also, a zombie!

Finally, I got this guy wearing some pants!

From:

To:

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.

(CE)GUI

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!

Progress!

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!