About Levi D. Smith (twitter: @GaTechGrad)

Follow me on Twitter at @GaTechGrad and visit my website at levidsmith.com

Entries

 
MiniLD 74
 
MiniLD 73
 
MiniLD #72
 
MiniLD #71
 
Ludum Dare 37
 
Ludum Dare 37 Warmup
 
MiniLD 70
 
Ludum Dare 36
 
Ludum Dare 36 Warmup
 
MiniLD 69
 
MiniLD #68
 
MiniLD #67
 
Ludum Dare 35
 
Ludum Dare 35 Warmup
 
MiniLD #66
 
MiniLD #65
 
MiniLD #64
 
Ludum Dare 34
 
Ludum Dare 34 Warmup
 
MiniLD #63
 
October Challenge 2015
 
MiniLD #62
 
Ludum Dare 33
 
Ludum Dare 33 Warmup
 
MiniLD #61
 
MiniLD #60
 
MiniLD #59
 
Ludum Dare 32
 
Ludum Dare 32 Warmup
 
MiniLD #58
 
MiniLD #57
 
MiniLD #56
 
Ludum Dare 31
 
MiniLD #55
 
MiniLd #54
 
Ludum Dare 30
 
Ludum Dare 30 Warmup
 
MiniLD #53
 
MiniLD #52
 
MiniLD #51
 
Ludum Dare 29
 
Ludum Dare 29 Warmup
 
MiniLD 50
 
MiniLD 49
 
MiniLD 48
 
Ludum Dare 28
 
Ludum Dare 28 Warmup
 
MiniLD 47
 
MiniLD 46
 
October Challenge 2013
 
MiniLD 45
 
Ludum Dare 27
 
Ludum Dare 27 Warmup
 
7dRTS
 
MiniLD 43
 
MiniLD 42
 
Ludum Dare 26

Levi D. Smith's Trophies

Perfect Attendance!
Awarded by angela
on December 9, 2015
Jupi's Jam Favorites
Awarded by Jupiter_Hadley
on March 2, 2015
The I Speak, You Listen Award
Awarded by MrBlade
on August 21, 2013

Levi D. Smith's Archive

Prez updates

Posted by (twitter: @GaTechGrad)
Saturday, February 18th, 2017 6:04 am

Prez is the NES (8-bit Nintendo) game that I created for the MiniLD #71.  I made a few new updates and posted a new version, which you can download at NESDev.

prez001

Free the Frog Post Mortem

Posted by (twitter: @GaTechGrad)
Monday, January 30th, 2017 7:55 pm

My post mortem for Ludum Dare is a little late.  I got really sick in mid-December (right after LD was over) and was in bed for three weeks.  I’m happy that I was able to finally finish this post mortem tonight.

This article was originally posted on my website at http://levidsmith.com/free-the-frog/.

Free the Frog Post Mortem

Ludum Dare 37 was the twelfth time that I competed in the 48 hour game development competition. I wanted to create something with gameplay similar to the classic arcade game Frogger.

Free the Frog in Unity editor

The trick with this game was getting the movement controls right. I wanted to make it so that you could press the gamepad in a direction, and the frog would immediately move to the next “square”. Therefore, the movements were discrete, so I could not use my typical methods for doing continuous movement. The area where the player can move can be thought of as a big chess board. When a direction is pressed, the frog’s location (a row and column stored as integers) is updated. Then, the frog is pulled to that new location. I had to add a boolean variable to track if the frog is moving, so that no new input is accepted until he reaches his destination. This type of movement is great for a game like this, because the player can clearly see if they will avoid an obstacle, which eliminates any case for bad collision detection.

I wanted to have a lot of mechanics in this game, which have been lacking in my previous game jam games. I wanted each level to introduce something new. I got this idea from watching Super Mario Bros 3 videos a few days earlier, where each level had some new mechanic or concept added.

  • The first level just introduces the player to the game, so the player just has to maneuver around the board to reach the exit.
  • The second level introduces the guns, which is the first time that the player can actually lose a life. The guns only shoot one bullet at a time and can be easily dodged.
  • The next level reuses the gun that I created, but this time it shoots three bullets in a row. It’s a nice way to create a new obstacle with minimal development effort. Using Playmaker makes altering the standard gun relatively simple.
  • The next obstacle introduced is the spikes. I think the first spikes may be a little unfair, because they start hidden and pop up right as the player is moving through the game level. If the player looks closely, they can see the tip of the spike when it is down, but maybe there should be some other visual cue. I used a simple Blender cylinder and moved the vertices at one end together to create a cone. I used Playmaker to move the spike up and down, waiting for a few seconds after each position transition. The frog is killed when it collides with the collision box around the spike.

    freethefrog_postmortem003

    Moving spikes surrounding a warp area

  • There is one beneficial power-up in the game. I think one of the flaws of the game is that there are too many negative obstacles at the beginning, and not enough things to benefit the player. The speed booster power-up decreases the amount of time that it takes to move to the next square. I put a long row of spikes, which makes it necessary to use the speed booster to pass. I used trail and error to determine how many spikes would be required in order to have to use the speed booster. Unfortunately, only one level uses the speed booster power-up, so I would have also liked to use the speed booster in another level.
  • Another object that the player can interact with is the warp object. I made it so that there are two varieties of warp points, one red and one blue. The red warps to the other red point, and the blue warps to the other blue point. On the first level with warps, I made it so that red warp is easily accessible and the blue warp is surrounded by spikes. If the player takes the blue warp, then the exit is easily reachable. If the player takes the red warp, then the exit is blocked by spikes. It seems to be good game design to reward the player later if they choose the more difficult path first.
  • The remaining levels don’t introduce any new obstacles or powerups, but I tried to make them unique by using different obstacles together to make a unique challenge to reach the exit. The seventh stage is probably the most difficult, where the player must move at the exact time to avoid the combination of gun bullets and spikes, which move at different rates. However, I had to ensure that there was a small period when the path was passable, to ensure that the level could be completed.

For the graphics, I used Blender as usual to model, texture map, and animate the frog. However, when the frog dies, I used the cell fracture plugin for Blender to make an animation of the frog falling apart into pieces. This effect is probably more suitable for non-organic objects, but I liked the effect so much that I had to include it in this game.

FreeTheFrogDeathAnim

As for the music, I used GarageBand on my Mac Book Pro again for composing the music. I didn’t do anything really out of the ordinary. I used the drummer track to lay down a unique beat. I made a couple of melodies, which I alternated and swapped instruments. Sometimes I would slightly modify and mix the melodies to keep the music interesting. The music for the game level is one minute and twenty eight seconds, which I think is the right length for it not to be too repetitive. I did a few quick searches for classic game level songs, and most songs seem to be around 90 seconds to two minutes before they loop.

As I did for my last Ludum Dare game, I used text files for storing the level layouts. Each character in the file represents either an object, obstacle, powerup, warp area, exit, or starting position. The text files are assigned to TextAsset objects in Unity, and then parsed in my game code using the Split and ToCharArray methods. The text files are stored in the Resources folder in the Unity project, which makes them accessible to the C# script. One issue was that I had to also encode the direction the guns were facing, because they could face either left or right. Having a gun facing right on the right side of the room would be pointless. Therefore, I used a capital letter if the gun is facing right and a lowercase letter if the gun is facing left. Ideally, the game would have a level editor, which would store the level data more efficiently. However, levels can be created and modified much more quickly by using a text editor, which is a big plus for a two day game jam.

Level parsing code and example level

Level parsing code and example level

There were some things that could have went more smoothly while developing the game. I forgot that when you call Destroy on an object, it doesn’t actually get destroyed until the next frame. So trying to do a while loop to delete all children objects while the number of children is greater than zero will result in an infinite loop and crash Unity. You would think by now Unity would give the option to break out of an infinite loop without crashing and losing all of your work since your last save. There was actually a way to attach the process to the debugger in the IDE and set a breakpoint and mess around with the variables to get it unstuck, but that method is very convoluted and probably wastes more time than just restarting Unity and losing whatever progress you’ve made. There is an editor script that automatically saves when you press play button that goes in the Editor folder, so I should remember to always add that script when creating a new project.

Free the Frog

Powerup to increase move speed

I didn’t care much for the Ludum Dare 37 theme “One Room”, so I made the story explain that the frog is stuck in one room. When the frog reaches the quantum accelerator artifact, then he is warped to the same room in a different time and dimension, which is why the room changes every time. I actually based the story on the opener from the 90’s television show Quantum Leap. The idea of the room changing each time probably came from my years of playing Castlevania, where it’s the same castle in every game but configured differently for every game.

I have a few ideas on future additions to the game. The bland gray background should be replaced, and it would be nice to have water filling in the empty areas around the blocks. The individual squares could be replaced with lillypads that the frog can walk across. The game could also benefit from more levels. The models and texture maps for some of the obstacles, such as the guns and spikes, could be improved as well.

Free the Frog development time lapse

Posted by (twitter: @GaTechGrad)
Thursday, December 15th, 2016 11:07 am

Here is the time lapse development video for the game that I developed for Ludum Dare 37 called Free the Frog.  You must help Froggy avoid the obstacles and escape the rooms.

Ludum Dare entry

Get it on Itch.io | Get it on GameJolt

Full development stream archive

Free the Frog Day One

Posted by (twitter: @GaTechGrad)
Sunday, December 11th, 2016 12:26 am

After one day of work, I’ve got the base mechanics working.

  • Frog is moving around on the board squares properly and can only move to open squares
  • World objects populated based on level format specified in text files
  • Guns shoot bullets
  • Bullets reset the level and subtract one life when they collide with the frog
  • Gun Type A shoots three bullets at once
  • Exits functioning correctly and the player proceeds to the next level
  • Spikes periodically pop out of the ground
  • Winner screen displayed when all of the files in the level array are completed
  • Game over screen displayed when you die and no lives remain
  • Title screen transitions to game screen

I’ve also already completed the music for the level and title screens using GarageBand.  If I have the time, I would like to add warps and maybe some other hazards or powerups.  I’ll also start actually working on models and texture mapping tomorrow.

Free the Frog

One Gunman Greenlit

Posted by (twitter: @GaTechGrad)
Wednesday, October 19th, 2016 5:41 pm

One Gunman is the game that I originally created for Ludum Dare 28, which was my third time participating in the 48 hour challenge.  It’s hard to believe that was almost three years ago.  After adding multiple enhancements, I put the game on Steam Greenlight a year ago, and yesterday I finally got the good news that it has been Greenlit for Steam.  I appreciate everyone’s support for One Gunman and my other games!  Stay tuned for the upcoming Steam release!

One Gunman Greenlit

 

Kitty’s Adventure now on Steam Greenlight

Posted by (twitter: @GaTechGrad)
Tuesday, September 13th, 2016 4:24 pm

Kitty’s Adventure, the game that I had originally developed for the Mini Ludum Dare #64, is now posted to Steam Greenlight.

The new version contains a shop where you can spend coins from collecting letters to buy new costumes.  Please vote if you would like to see the game added to Steam.

http://steamcommunity.com/sharedfiles/filedetails/?id=762933556

Greenlight trailer

Ancient Adventure Post Mortem and Time lapse

Posted by (twitter: @GaTechGrad)
Friday, September 2nd, 2016 1:33 am

This post mortem was originally posted on my site at http://levidsmith.com/ancient-adventure/

I really pushed myself to the limit for this Ludum Dare 36 game development competition. Looking back at the length of time for all of my live streams on YouTube, I calculated that I spent over 22 hours of development time over two days for this event.  Since there is no voting or rankings this time, I felt more encouraged to do my best work since my game will only be played by those who genuinely want to play the game.  The game that I developed is called Ancient Adventure, which has gameplay based on classic adventure style games.

The premise of the game basically came from some of my discussion points on the latest episode of the Knoxville Game Design chat podcast, which I am a frequent contributor.  On that podcast, we discussed Anodyne, and I made several points about how they got the classic Zelda formula wrong.  The following is a list of some of the points that I made, and how I implemented those in Ancient Adventure.

A “compass” upgrade showing where the key items are located.

I created a compass item, which I call the all seeing eye which displays on the mini-map the location (in red) of all of the collectible artifacts.  With the mini-map for this game, I tried to make my map more intuitive, by having all of the rooms grayed out initially, and the rooms that the player has visited in a brighter shade of gray.  The player’s current position is highlighted in green.

Keeping with the ancient Egyptian theme, I used the classic eye hieroglyphic.  It’s the eye that is a popular tatoo and similar to the mage symbol in World of Warcraft.  After some research, I found that this is actually called the “Eye of Horus”, which is a symbol of health and protection.  The full myth of Horus can be read on Wikipedia.  Ironically, the Eye of Providence, which is depicted on top of a pyramid and on the back of the United States dollar bill, has nothing to do with Egyptian mythology.  Using this theme made me wonder why there are relatively few games and movies based on Egyptian mythology, since there are numerous games based on Norse and Greek mythology.  The only game that comes to mind is Age of Mythology, which is actually based on a collection of ancient religions.  There seems to be a lot of untapped material in Egyptian mythology which could be made into games.  In the English language, we named our planets based on Roman gods and the days of the weeks based on Norse gods.  The best known reference to Egyptian mythology in our culture is probably the Steve Martin King Tut sketch on Saturday Night Live.  I wonder if Egyptian mythology has been written out of our history because the culture was overly oppressive, using slavery to build pyramids to their gods, which was at odds with the Abrahamic religions (Judaism, Christianity, and Islam).  I will admit that I would have never made a game based on ancient Egyptian culture, if it had not been for the “Ancient Technology” theme for this Ludum Dare.

The point of gathering collectibles.

I used the Egyptian Ankh as the ancient artifact that must be collected to become the supreme being.  It is a quick and simple objective and story, but it is at least something that gives a little exposition of the game.  I just had in my mind one of the typical gods from Egyptian mythology, who has the head of a dog-like creature and the body of the human.  Since there were many Egyptian gods, collecting these artifacts would turn you into the “supreme being”.  It’s not a very noble objective, but I think it’s something players can wrap their heads around, since many ancient myths are about gods fighting each other to become the strongest and most powerful.  Again, after some research about the ankh, I learned that it is actually a symbol of life.  So if I had it to do over again, I probably would have made the ankh the symbol used for the health meter (i.e. “hearts” in Zelda) and made the collectible something different.  In this game, the health meter is represented by a bird creature (at least that’s what I intended it to look like) which was used in many Egyptian hieroglyphs.  The important thing was to have a symbol which was symmetric, since I intended to split the icon in half to represent a half unit of health remaining.  Unfortunately, I didn’t have enough time to represent half health units, so I just doubled the number of full health units.  Under the hood, the health value is just an integer anyway.

 

ancientadventure002I tried to ensure that all of the collectibles were spread evenly across all of the rooms.  The right side of the map is heavy on ancient artifacts.  This is balanced by having the staff upgrade on the left side of the map.  It is possible to gather the artifacts without getting the staff upgrade, but having the upgrade makes completing the game much easier.  Also the all seeing eye item is in the first room to the left, making it an item that should be picked up early in the game to assist with finding the ancient artifacts, which is the primary goal of the game.  I put the all seeing eye in the room to the left, since players of the classic Zelda game are accustomed to starting out left being a dead end.

How to tell if you have collected all of the required items in a level.

Below the health meter, the number of ancient artifacts (ankhs) the player has collected is displayed.  The icons are initially displayed as blacked out, which reinforces to the player that there are eight to collect.  As the items are collected, they are filled with the purplish color that I decided to use for the ancient artifact item.  For the pickup in the game world, I used the same two rotating spotlight effect again, which looked really nice in my game Kitty’s Adventure.

Weapon attack swinging animation.

In classic Zelda fashion, the player starts with no weapon and is defenseless until the player picks up a weapon.  In this game, I decided to make the player’s weapon a staff.

In the early stages of development, I spent more time (about 5 hours) than I had desired on getting the staff swinging, collision detection, and animation working.  I had to decide if I wanted to animate the staff swing in Blender or the Unity Mecanim interface.  I decided to go with Mecanim, and I found that the benefits to be great, because the Mecanim animation also animates the capsule collider and all of the children objects with it.  Since I had a light source added to the end of the staff, the light source moves with the swinging staff, which is a really awesome looking effect!  The major issue that I had with Mecanim was moving back to the idle state after the swinging animation was completed.  I set a Mecanim boolean value to start the swing, but there was no way to set the boolean back to false after the animation completed.  The swing animation would just keep repeating.  After looking at some Unity Mecanim tips, I learned that a Mecanim trigger (different from a collider trigger) could be used instead of a boolean value, which would set the animation state back to idle after the attack animation completed, which solved my repeating swing animation problem.

ancientadventure001

By default, the staff had a mass value, which would cause enemies to be deflected when it.  It was a nice effect, but it would also push the player back slightly as well.  I made a design decision to set the mass of the staff to zero to eliminate the recoil effect on the player.  I think it may also reduce the possibility enemies getting pushed into the wall.

In Blender, I modeled a simple staff with a gem on top.  There is one upgrade to the staff, which doubles the attack power.  The enemies that normally take two hits to defeat are killed with one strike.  The upgraded staff is a simple texture swap and a change in the color of the light source.  Originally, I had the standard power staff using a green colored gem and green light, and the upgraded staff as a blue gem with blue light.  However, I thought the blue color was too close to green and it didn’t show up very well, so I changed the upgraded staff color to red.

One check that I had to add was to not populate an item that has already been picked up in that room.  For the ancient artifacts, I had to keep a list of the rooms that had collected artifacts.  If the room number is in the collected artifact list, then an artifact item should not be instantiated in that room.  The same goes for the staff pickups.  If the player’s staff collected boolean is true, then don’t instantiate a staff pickup.  If the staff’s power has been upgraded, then don’t instantiate the staff upgrade.

The purpose killing enemies.

In Ancient Adventure, the player is forced to kill all of the enemies in a room to proceed.  Once the enemies are defeated, the doors are lowered which allows the player to proceed.  The number of enemies remaining is determined by taking the child count of the EnemyGroup Unity GameObject.  When the room is setup, enemies are always assigned to the EnemyGroup GameObject by using the SetParent method on the tranform property of the enemy GameObject.  If it is equal to zero, then the method which lowers the doors is called.  One problem that I came across is that this led to the door lowering method being called on every frame after the enemies are defeated, which caused problems with the door sound effect being started on every frame.  To resolve this, I had to create a boolean value which tracked if the door lowering method had been called, so it is only called once when the enemies are defeated.  The door sound effect was created by me flipping the pages of a book over my Blue Yeti microphone, and then lowering the pitch in Audacity.  I was impressed with how much it sounded like a huge slab of rock being lowered into the ground.

When the door is lowered, the Exit GameObjects are accessible.  These are simple GameObjects with cube trigger colliders.  When the player triggers it, then all of the child GameObjects under the Room GameObject are destroyed, and then the GameObjects for the next room are instantiated and parented to the Room GameObject.  The player is moved to the opposite side of the room, to give the illusion of transferring to the adjacent side of the next room.

One problem the Exits originally presented was that the enemies could go through them (because it is a trigger instead of a standard collider).  Since I wanted to keep all of the enemies inside of the room, I added the doors, which had a regular cube collider, which kept the player and enemies inside.  I had to move the exits back one unit outside of the room (determined by the exit row or column), because the player could still trigger the exit when touching door.

Another problem with wall colliders in general was enemies getting stuck in walls.  In my code, I had it so that when an enemy collided with a wall, it would make a 180 rotation on the Y world axis, and then start moving the other way.  However, the enemies were still getting stuck.  After some debugging, I realized that after the enemies did the 180 turn, they were still getting a collide event on the next frame.  Therefore, I had to wait until the OnCollisionExit event was called for the enemy on the wall, before I would accept another OnCollisionEnter event.  There is still a small bug that occurs sometimes, when the enemy collides with a wall, and then immediately turns, placing them in a direction where they can not exit the wall.  The enemy turn behavior is defined in a separate Playmaker FSM, which is independent of the wall collision FSM.  Usually, after a few turns the enemy will eventually be put in a direction so that it can exit the wall.  Again, the chance of an enemy turning during a wall collision at the same time is fairly small to being with, but it is noticeable when it happens, which would lead to players thinking that the game is buggy.  Sometimes it seems like gamers put every tiny glitch (whether it be game breaking or not) under a microscope.

Currency system.

While I was developing the game, I had so many ideas that I eventually had to write the down in a text file, and I ranked them from most important to least important.  The currency system was a fairly low priority, but I was able to add a gem display value and have the enemies sometimes drop gems when they are defeated.  I used the Blender gem generator to make the gem meshes, which turned out a lot better than I expected.  The way the light reflects off of the edges looks almost too perfect.  There are two classes of gems which add 1 (green) or 5 (blue) gems to your total.  The gem dropped is based on the strength of the enemy defeated.  Unfortunately, I didn’t have time to implement a shop or things to buy with your gems, so it is purely there as a score value.  The gems dropping when an enemy is defeated, along with the health drops, also give more of a purpose to killing the enemies.

What could be made better?

There is really no elegant way to do a 2.5D Zelda clone.  If you do a completely overhead view, then you are only seeing the top of the player’s head.  If you do an angled view, then there are issues with things popping in that should be outside the player’s field of view.  There have been many articles written about this, with one solution being an overhead view with all of the items rotated at an angle.  I decided to use the angled camera, and I just use a camera fade when the character enters another room.  With the angled camera, to keep the realism, all of the rooms would need to be instantiated in the player’s field of vision, which would not be very efficient.  Also, it would be presenting the player with more information than they need to see.  The player should only be focused on the current room.  One possible solution may be to create very tall walls around the room, to keep them from seeing outside of the current room, which would keep the realism.  Another option would be some sort of fog around the room, which would prevent the other rooms from being visible.

I defined all of the rooms in text files, which are assigned as text assets.  Walls are 1’s, doors are 2’s, enemies are lowercase letters, and item upgrades are uppercase letters.  Using text files makes creating the levels fairly simple in a text editor.  The file contents are parsed using the string Split function and the resulting strings are looped over and read as character arrays.  Ideally, these text files should use a better format such as XML, but that would increase the size of the level files and the bulkiness of using an XML parser would probably not be beneficial for load times.  Alternatively, the level definitions could be turned into bit strings, since each cell can only have a limited number of values.  However, it would make it much less manageable, since it wouldn’t be editable in a text editor.  The bit string level definition approach would be good for an online version of the game, if the level data was variable and had to be passed between client systems.

Since the character model was created in Blender and the staff swing animation was created with Unity Mecanim, the arm and staff don’t always line up properly during the swing animation.  I could try to resolve this by recreating the character model swing in Mecanim as well, so that the arm properly aligns with the staff.  Trying to animate removable components on a character model has been a problem that I’ve had that I’ve never found a good way to solve.

There really aren’t any Easter eggs in the game, but there were some subtle influences from other media.  On the Game Over screen, the maniacal laugh was a reference to the game over screen from Zelda II: The Adventure of Link.  On the game completed screen, I tried doing my best Val Kilmer Iceman impersonation of his Top Gun “You are still dangerous” line.  Some of the room layouts were obviously influenced by the dungeon designs in the original Legend of Zelda for the 8-bit Nintendo Entertainment System.

Overall, I was satisfied with the game that I developed for the Ludum Dare 36 competition.  Since I have a solid core engine and gameplay, I plan to develop this game further and release the game on various platforms.

Ludum Dare entry

Play at Itch.io

Manifest Universe

Posted by (twitter: @GaTechGrad)
Tuesday, August 2nd, 2016 2:22 am

Here is the developer commentary video for the Manifest Universe game that I created for the Mini Ludum Dare #69.

Entry page

Download on Itch.io

Knoxville Game Design panel at Codestock

Posted by (twitter: @GaTechGrad)
Wednesday, July 20th, 2016 5:50 pm

Members of Knoxville Game Design hosted a panel at the Codestock technical convention last weekend, where we shared our knowledge and experiences with game jams, with a focus on Ludum Dare.  The recorded session is available to view in the video below.

Panelists from left to right: Mike, Levi, Dylan, Jacob, Jeffry.

For more information on Knoxville Game Design, please visit knoxgamedesign.org.

Express Lane developer commentary

Posted by (twitter: @GaTechGrad)
Monday, July 4th, 2016 11:47 am

Last night, I recorded a developer commentary video for the game that I created for the MiniLD #68, called Express Lane.  The game is a supermarket simulation where you can manage checkout lanes and the rate of customers.  Currently, everything is text based, but I hope to update it with more graphics soon.

Express Lane on Itch.io

Express Lane Ludum Dare entry

Ichiban Sokoban Developer Commentary

Posted by (twitter: @GaTechGrad)
Tuesday, May 31st, 2016 4:50 pm

Here’s a new developer commentary video, where I talk about the sokoban game that I developed for the MiniLD #67.

Ichiban Sokoban entry

Ichiban Sokoban submitted

Posted by (twitter: @GaTechGrad)
Sunday, May 29th, 2016 4:06 am

I made a remake of Sokoban for the MiniLD #67.  I modeled, texture mapped, and rigged the robot myself using Blender, Rigify, and Gimp.  The game can read levels from text using the standard Sokoban notation.  I still need to add sound effects and music, then the game should be about done.  Bonus points go to anyone who can tell me where the symbol on the robot’s chest comes from.

Here’s an animated GIF of one of the levels being solved.

View post on imgur.com

View the Ichiban Sokoban entry here

Download the Ichiban Sokoban Windows build on Itch.io

Shape Quest Post Mortem

Posted by (twitter: @GaTechGrad)
Thursday, April 28th, 2016 9:43 pm

Originally posted at http://levidsmith.com/shape-quest/

Shape Quest title

Ludum Dare 35 was my tenth time participating in the full Ludum Dare 48 hour game development competition. The theme this time was “shapeshift”. I knew fairly early that I wanted to make a game with controllable shape characters. My original idea was to have three shapes that you could switch between, and each shape would have a unique ability or power. I had envisioned having three playable shapes, which were the square, triangle, and circle. The gameplay was going to be similar to Trine, where the player would need to switch between the three to solve puzzles.

(more…)

Shape Quest time lapse

Posted by (twitter: @GaTechGrad)
Tuesday, April 19th, 2016 5:33 pm

Check out the time lapse video of the development of Shape Quest!

Play and rate Shape Quest here: http://ludumdare.com/compo/ludum-dare-35/?action=preview&uid=19778

For more information, check out the Shape Quest post on my site: http://levidsmith.com/shape-quest/

Knoxville Ludum Dare entries

Posted by (twitter: @GaTechGrad)
Sunday, April 17th, 2016 1:26 am

Here’s a quick look at the three Compo entries developed by members of Knoxville Game Design. w/ ViNull  DylanWolf  and myself

 

I think this could be #Knoxville's best group of Ludum Dare entries ever! w/ @ViNull @wdylanwolf #LDJam #gamedev

A photo posted by Levi D. Smith (@gatechgrad) on

 

 

 

Agents vs Aliens Developer Commentary

Posted by (twitter: @GaTechGrad)
Monday, April 4th, 2016 5:36 pm

Here is my commentary for the game that I created for the Mini LD 66.  I talk about the MOBA genre, how to change MakeHuman texture colors, and the Playmaker FSMs that I used to create the game.

Mini LD 66 Entry

Download on Itch.io

[cache: storing page]