Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Advanced search

1038321 Posts in 41959 Topics- by 33585 Members - Latest Member: ASavary

September 02, 2014, 01:24:58 PM
TIGSource ForumsFeedbackDevLogsLaughingLeader's Three Game Trifecta
Pages: [1] 2
Author Topic: LaughingLeader's Three Game Trifecta  (Read 1054 times)
Level 0

View Profile WWW Email
« on: February 02, 2014, 05:37:42 PM »

I've been pretty silent on Tigsource for about a year now (holy cow!). Life happens, I suppose.

The good news is, I've been working steadily on my games, bouncing between the projects I started long before.

The Goal

The goal is to finish all three of my games:

Funding & Assistance:

In order to fight off homelessness, I've started a GoFundMe campaign. It's sort of like a lax Kickstarter, and more personal (it's linked to my Facebook - Eek! My introversion!). You can view that here: http://www.gofundme.com/level-up-a-game-developer

You can also be a super cool person and upvote it on reddit here (Thank if you do!): http://redd.it/1wu8yn

I'm offering various rewards for different donation amounts, ranging from receiving a copy of each game, to having some creative input. Be sure to check those out.

The Games:

Let's jump right into it, shall we? The three games I'll be finishing are:

Potato Farmer


Alpha (Warning: You will probably experience bugs, and expect content to change from when you first look at this)


A Potato-Growing, Farm-Defending Adventure. Defend your farm using any means necessary.

Fresh out of agriculture school, you are surprised to receive a letter notifying you of your Grandfather's passing. You are to inherit his farm, should you succeed in running it for thirty days. What starts as simple farm-management becomes much more serious as nearly everything in the area seems focused on stopping you.


Potato Farmer was started out as a Ludum Dare 26 entry (Theme: Minimalism, Bonus Theme: Potato). After I developed my idea and created a basic engine, I determined that I really didn't like the minimalism theme (everything was made of blocks at the time), yet I liked my idea. I didn't bother continuing the game for the competition, yet I decided to continue it on my own, and turn it into an actual game.

A large chunk of my 2D game framework evolved from creating this game. Everything from z-sorting, to gibs, to creating a persistent world. I've really enjoyed working on it so far.


Shadow Possession


Prototype (From the Ludum Dare 25 Jam)


A Puzzle Platformer. Possess those who stand before you to avoid the light and unlock your past.

You are a disembodied spirit, awakened in the physical realm. Plagued by a fractured memory, visions and recollections of your former life stir you towards discovering who you are, and what has happened to you.

A deal struck with a dark presence is what anchors you to this world, stopping you from passing on to the Great Beyond. The side effects of this deal are experienced relatively quickly - Light harms your very existence. Yet, with this danger comes and equally powerful gift: You can possess the bodies of others, tap in to their memories, and discover clues towards the mystery surrounding your past. A great adventure lies before you, and secrets cannot stay in the darkness for long.


Shadow Possession is a game I prototyped for Ludum Dare 25 (Jam). I started about 12 hours late, as I learned about it late. The theme was, "You are the Villain". For whatever reason, my first image of that theme was a "dark figure in a tophat". That lead to the mechanics of light hurting you (sort of a reverse Alan Wake), and possessing a person to disable those lights (and also wear a tophat).


SETI: First Contact


A Metroidvania-style Action-Platformer. Against all odds, escape the dark fate of an alien planet.

In response to what could be the first real extra-terrestrial contact, a lone astronaut it sent to investigate the source. His ship is sabotaged, stranding him on an seemingly-lifeless alien planet. Discover the mystery of the message, and whether alien life truly exists.


SETI: First Contact is the first game I created. I eventually stopped working on it due to artistic limitations I felt I had at the time (trouble with drawing level art), and evolved the engine I had been making to fit more than one game.


First Death Event (Rough):

Pre-Alpha Update 2:


Pre-Alpha Update 1:

| Blog Link

Pre-Alpha First Test:


The Forecast:

I will be finishing Potato Farmer first, with Shadow Possession or SETI: First Contact being interchangable when I get to that stage.

I've been looking at making Shadow Possession a Unity3D game, and have actually spent a good deal of time coding in Unity(C#) and learning how to model (Blender). If I decide that I do want Shadow Possession to be 3D, I'll save that for last and finish SETI, as my game engine/workflow for 2D games is more mature (been working on it for 2+ years!).

Expect periodic updates on each game as development progresses.


Why haven't you finished a game yet?

  • This is something I reflect upon constantly. My prototype for Shadow Possession is something I am personally proud of (despite the short length), as it was a game I forced myself to finish for Ludum Dare. I think it boils down to I want to create a game I feel people would want to pay for - something that holds value towards others. My standards won't allow me to rush something out that I'm not satisfied has the level of quality I want - especially since people will be spending their time and money on it.

    Beyond that, I get caught up on working on systems and things that aren't content. Games need content. Unfortunately, no one wants to play a game that only has one level, but has the ability to be localized, and a sweet data system.

    I'm getting better, though! When you're faced with potentially having to live on the street, you know it's time to buckle down and make that content.

Why start a GoFundMe campaign? Why not make a Kickstarter campaign?

  • My decision here has to do with the way these crowdfunding websites work. GoFundMe is more personal - more for family and friends, with the potential for people over the internet to join in. Being that I'm an unknown, rookie game developer, I felt that working with something like GoFundMe would be more beneficial. There are no time limits, and GoFundMe doesn't follow an all-or-nothing system (unless you choose that option).

    That said, I like the various backer rewards Kickstarters like to do, so I have some for my GoFundMe campaign. I'd prefer doing a proper Kickstarter campaign down the road - once I have a few games released, or at the very least, a beta for a game completed.

Do you have a team, or are you solo?

  • Solo! I'd love to find an artist/musician I enjoy working with. Finding someone who will work for nothing, and who works well with you, is pretty difficult. My chances at finding a suitable work-buddy are better once I have some games released, and I can actually pay them.

Obtain pants?

  • It gets cold in the winter, you know. Smiley

What happened to Unlimited Barrage and 1GAM?

  • I still have plans to work on and complete UB. Yet, that's down the road, long after these three games are finished.

    As for participating in One Game a Month, I regrettably stopped once I failed to complete UB in a month, and decided to work on my previous projects instead. I still believe there's some benefit in completing short games, but really working on anything new at this point would feel like too much of a distraction.

Where can I report bugs in any of your active, playable builds?

  • I'll be creating a bug reporting functionality for my website soon. Until then, leaving a post on here, emailing me, or dropping me a private PM all work well.

    Hint: Leaving a comment on that build's page would be even better.
« Last Edit: April 01, 2014, 11:10:31 AM by LaughingLeader » Logged

Level 0

View Profile WWW Email
« Reply #1 on: February 02, 2014, 05:38:52 PM »

Potato Farmer

« Last Edit: March 30, 2014, 03:11:22 PM by LaughingLeader » Logged

Level 0

View Profile WWW Email
« Reply #2 on: February 02, 2014, 05:39:42 PM »

-Placeholder for Shadow Possession Updates-

Level 0

View Profile WWW Email
« Reply #3 on: February 02, 2014, 05:41:44 PM »

-Placeholder for SETI: First Contact Updates-


« Last Edit: February 17, 2014, 11:53:27 AM by LaughingLeader » Logged

Level 10


View Profile WWW
« Reply #4 on: February 02, 2014, 05:49:16 PM »

Good luck, you'll need it :3

Level 0

View Profile WWW Email
« Reply #5 on: February 02, 2014, 05:52:44 PM »

Good luck, you'll need it :3

That sounded really cryptic to me for some reason, haha. Thanks. Grin
« Last Edit: February 02, 2014, 06:06:31 PM by LaughingLeader » Logged

Level 0

View Profile WWW Email
« Reply #6 on: February 02, 2014, 06:48:26 PM »

Still getting settled in from moving recently, but I'm excited to get back to work.

Here's what I'll be working on next:

To Do 1:

Potato Farmer

  • Enemies
    • Bandit
      • Drop a potato if killed (and had stolen a potato).
      • Test out some "fear" mechanics. Gibs are scary!
      • Design some path-finding variances (currently the AI is like a classic Snake game).
    • Animal
      • Rebalance the movement speeds a bit.

  • Mechanics
    • Farming
      • Make growing potatoes a little more involved.
      • Create a basic squirt gun the player can spray their potatoes with to increase their growth rate. (100%)
      • Add a little "rrrmmth" sound for when a potato grows to the next stage.
    • Wave Control
      • Rebalance the wave enemy count. Currently on the later days, you get swarmed with so many bandits and animals that you end up ignoring the animals.
      • Possibly rebalance the rate at which enemies spawn. See above.
      • Add an extra little precautionary timer in case an enemy gets stuck somewhere and the player is stuck with an incomplete wave.


  • Sanity
    • Look into a better way to do these lists, as the bbcode for these lists can get pretty ridiculous the more nested they become...
« Last Edit: March 30, 2014, 03:12:08 PM by LaughingLeader » Logged

Level 0

View Profile WWW Email
« Reply #7 on: February 07, 2014, 03:58:46 PM »

Potato Farmer Update 1


  •    Restructured some XML-related data.
    • Weapons are now modularized. This was completed once I integrated sound data and bullet classes into the XML file, and subsequently made playing the current weapon's sounds more global.
    • Screenshot:
    • I added groundwork for the item system, which work nearly identical to how weapons work. This will be expanded further, and items will be equipped like the current Seed Bag (expect items like a Potato Mine/Decoy that can be planted instead of a seed).
  • Wrote some documentation on XML formats, to be used down the road for modding support.
    • My XML element/attribute structure is getting pretty complex, so this was necessary.
  • The loot system is working properly.
    • Loot is basically hacked into the gibs system, because gibs did 98% of what I needed loot to do.
  • Bandits now drop loot.
    • If they stole a potato, they drop a potato-filled bag. Otherwise they drop an empty bag.



I use XML files for everything from items to actors, the shop, and so on. The main reason for this is organization. Keeping this information out of the actual code makes it easier for me to modify down the road, and makes the amount of code I have smaller. With the way I have everything structured, adding support for modding isn't too much of a stretch.

I love when games are moddable, as I feel it makes the game better in that it can create a community around the game long after release, and modders have a habit of making the game better than it was originally (see: Minecraft, any Elder Scrolls/Fallout3+NV, older games like Fallout 2 (still being modded today!)). Being moddable can also extend the lifetime of a game for years.


Items are something I've had planned for a while. Weapons and items will work alongside together. You'll be able to have a gun equipped, and simultaneously switch from your seed bag to something like a potato mine or decoy. Those two in particular will work the same way as the seed bag, in that you have to simply walk over one of the empty holes in your field and you'll plant the item where a seed would normally go.


I have a habit of taking old code I've written and making it better. That's currently happening with the way I have certain actions in the game triggered. For instance, rather than doing something like:

if(equipped == "SHOTGUN")

It's easier, faster, and takes up much less room to do this instead:

getWeaponSound(currentWeapon, "shoot").play(true);

Restructuring things like that was rather quick, and down the road when there's a vast number of weapons, my code will be much smaller and easier to manage.
« Last Edit: March 30, 2014, 03:09:49 PM by LaughingLeader » Logged

Level 0

View Profile WWW Email
« Reply #8 on: February 07, 2014, 04:35:36 PM »

All I would recommend is post more pictures of the game on the actual thread to catch peoples eyes better then the links to videos with a small thumbnail  Wink

Toast LeftWizardHand Metal Left
Level 0

View Profile WWW Email
« Reply #9 on: February 07, 2014, 08:34:49 PM »

All I would recommend is post more pictures of the game on the actual thread to catch peoples eyes better then the links to videos with a small thumbnail  Wink

Good idea! I completely forgot about screenshots. Thanks. Smiley

Updated the main post.

Level 0

View Profile WWW Email
« Reply #10 on: February 14, 2014, 11:28:21 AM »

Potato Farmer Update 2


  •    Created an in-game time system.
    • The brightness of each day corresponds with the time.
    • Sunrise and sunset times can vary.
    • Going back inside the house will skip ahead to the next sunrise.
    • Screenshot:
    • Note: Potatoes will eventually grow according to the new time system, rather than once each day.
  • Created a basic time indicator for the HUD.
    • The sun and moon heights still need to be coded properly, but each day segment is created dynamically to reflect changes in the sunrise/sunset times.
  • Starting working on the item system, which will work asynchronistically from the weapon system.
    • Consequently, things are in place for other NPCs/enemies to potentially use weapons and items as well.
  • Added a rooster.
    • You can't snuff the rooster.


In-Game Time

Creating in-game time was something I've planned to do for a while now, as I wanted to let the player stay out at night.

The plan is to add a sort of "penalty/reward" system for staying out at night. Staying outside will drain more of the player's stamina, as sleep deprivation sits in. Enemies also have a higher chance to invade. Yet, some unique challenges can be conquered by surviving the night, and will have subsequent rewards for accomplishing them.

I may also add some "forced" night encounters that will wake up the player if they had chosen to sleep.

Growth & Hydration

I'll be revamping my growth system a bit to reflect the new time system. Currently, potatoes go through a "growth check" once each day (before the player can see them). Instead, I'll be implementing a "time passed" variable that triggers growth through each stages, which can be accelerated/deccelerated by the potato's hydration levels.

Watering your plants when the tubers have formed (with the upcoming squirt gun) will keep them hydrated and speed up their growth. This will also be done when it rains. Conversely, when the weather is extremely dry, hydration will decrease faster.

HUD Indicator

Initially I displayed the actual in-game time (8:00 AM and so on). This ended up looking weird, since each day is about 180 seconds long, so time looked as if it was super-sped up. Switching that to the current graphic that displays each day segment, and the sun/moon moving through, turned out looking better.
« Last Edit: March 30, 2014, 03:09:42 PM by LaughingLeader » Logged

Level 0

View Profile WWW Email
« Reply #11 on: February 17, 2014, 08:17:36 AM »

Misc Update


Took some time yesterday to write up a tutorial on how to use Perl to speed up game development workflow. I go through the current script I use for embedding assets into my game, which has saved me a great deal of time.

You can view that here (warning: it's designed with programmers in mind):

Tutorial: Using Perl to Embed Assets & Speed Up Game Development Workflow

I'll be working on some core Potato Farmer updates today. Specifically the growth/hydration mechanics for potatoes. I want to make the farming aspect more fun, so we'll see how that turns out.
« Last Edit: February 17, 2014, 11:49:44 AM by LaughingLeader » Logged

Level 0

View Profile WWW Email
« Reply #12 on: February 21, 2014, 06:24:35 PM »

Potato Farmer Update 3


  •    Revamped the plant growth system.
    • Potatoes now grow according to time passed (using the new time system).
    • Potatoes have hydration.
      • More hydration means faster growth.
      • Hydration can be filled by manually watering the potatoes, or rain.
      • Hydration drains slowly over time.
    • Plants now indicate when they've "leveled up". (Sound coming soon!)
    • Screenshots:
  • Added a Squirtgun.
    • Use for watering the potatoes.
    • You can hold shoot and it'll fire normally, but tapping shoot will bypass the normal fire speed. This is intended.
    • Sounds coming soon.
  • Finally made the Flamethrower shoot flames.
    • There's still many things that needs to be done before this is ready to be used, but we're one step closer towards pyro-mastery.
  • Created a "mass/gravity" system for certain bullets.
    • Probably was the weirdest thing I've had to figure out yet, since this is gravity in an angled, top-down view.
  • Created a new TextParticle system.
    • These are the floating numbers that fly off the potatoes.
  • Changed weapon bullets to be more modular.
    • It should be fully possible now to create a new weapon from simply a new image and settings.
    • Screenshot:
  • Added a small "color name to hex code" function/database.
    • Big deal, right? Well, I assure you it's easier to just use "violet" than finding the code "EE82EE".
  • Fixed some bugs.
    • Bandits now pursue you aggressively. Before they'd stop and stare at you if you weren't moving.


Plant Growth

I still have a bunch of things I need to do before this system is fully completed and ready for balancing.

Mainly, I'd like each plant to grow independently of one another. Right now I'm updating their growths in cycles (as a group). Things were this way before because of performance reasons, but I've pretty much rewritten the bulk of my Potato class, which resulted in some nice improvements. Having the potato update itself should work fine.

Squirtgun, Modular Bullets, and Gravity

This was an interesting ordeal. Adding the squirtgun pretty much spurned me on to condense my bullet classes down to one, and have the settings for it be modular - so I can have all that stored in an xml file.

I also wanted the water to eventually stop moving. I ended up solving this by creating a mass/gravity system to tell when bullets have flown as far as they can. With the screen space being as small as it is, bullets from standard guns probably won't affected (like the bb gun and shotgun).

The flamethrower's bullets use negative weight to fly upwards. This was a nice side effect.

I may end up replacing the squirtgun with something that works better. My thought was to figure out something that works like the seed bag - you equip it, then can just run over the plants to water them.

Either that, or I could make a watering can that locks your facing direction when you pour it - that way you can strafe in between the potato rows and water them that way. We'll see.

TextEmitter & TextParticles

I had a lot of fun programming this. Essentially, I emit a TextParticle by calling code like so (with parameters (Position, Text, Preset, Center, and an Optional CustomArs)):
Global.e.text.addJob([hole.x+4, hole.y-4], "+1", "grow");

Presets for text particles are defined in an xml file. The fun part was getting this kind of code to work:
Global.e.text.addJob([hole.x+4, hole.y-4], "MAX", "grow", false, ["color:ff6e2e","lifeTime:1","speed:30","fadeTime:0,0.25"]);

The last bit of code on the end there are custom arguments for that preset. It reads from that string, determines if it's valid, creates a copy of the preset, and sets the properties of the copy to match the custom arguments. If the same custom arguments are called for the same preset, it uses that same copy.

The neat thing about this is that essentially the system recycles the same TextParticles and just adjusts their settings to match the new job. Great for performance, and fun to work out, because now any new text particles settings I need can be added to a new preset, or just slightly changed from the pre-existing ones with some custom arguments.

That's a lot of programmer speak for what may not seem like a big deal, but it's pretty awesome for me, as it'll save a lot of time. It's way easier to just supply a new color value and some other settings, and have everything work as expected, rather than having to make new classes.

I'll be implementing these new solutions to the other particle systems as well.

Coming Soon

  • Rebalanced farming/invasion mechanics.
  • New items.
  • New enemies.
  • Night-time invasion events.
  • An interior to the farm house.

Once I get the farming mechanics working like I want, I'll be tackling the invasion mechanics next. When farming and invasions mechanics are tweaked to where I need them to be, the rest will mostly be content - i.e. new weapons, enemies, and tasks for the player to fulfill.

I have a lot to do, and April isn't too far away. This next month will be all about priorities and technical magic. Wizard
« Last Edit: March 30, 2014, 03:09:34 PM by LaughingLeader » Logged

Level 3

Don't settle for a million good ideas!

View Profile Email
« Reply #13 on: February 21, 2014, 07:16:40 PM »

I find the black text in the upper right of Potato Farmer hard to read at a glance. Maybe yellow or white? I admire the attention you're giving all this and your dev log is really in depth! I hope you have fun working between the 3 projects.
Level 0

View Profile WWW Email
« Reply #14 on: February 21, 2014, 08:00:27 PM »

I find the black text in the upper right of Potato Farmer hard to read at a glance. Maybe yellow or white?

Ah, you're right. The waves/enemies texts are placeholders right now (ones I completely forgot about). They're really more for debugging purposes. I think my actual enemy/wave count indicator will be more simplified - something like a "danger" meter.

I admire the attention you're giving all this and your dev log is really in depth! I hope you have fun working between the 3 projects.

Thanks! It's definitely been a fun journey so far. I imagine the sense of relief I'll feel when I finally finish all three games will be transcendent. It's gonna be a long road. Hand Metal Right

Pages: [1] 2
Jump to:  

Theme orange-lt created by panic