Welcome, Guest. Please login or register.

Login with username, password and session length

Advanced search

1411769 Posts in 69411 Topics- by 58455 Members - Latest Member: AbsamStudios

May 25, 2024, 07:20:09 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsLaughingLeader's Three Game Trifecta
Pages: [1]
Author Topic: LaughingLeader's Three Game Trifecta  (Read 4003 times)
Level 0

View Profile WWW
« 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
« 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
« Reply #2 on: February 02, 2014, 05:39:42 PM »

-Placeholder for Shadow Possession Updates-

Level 0

View Profile WWW
« 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
« 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
« 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
« 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
« 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
« 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
« 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
« 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
« 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

« 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
« 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

Level 0

View Profile WWW
« Reply #15 on: March 19, 2014, 06:09:41 PM »

The current update has taken longer than I had initially planned (A.I. is pretty complex!). So, here's a mini update:

Potato Farmer (mini) Update 4


  •    Revamped the enemy A.I. system.
    • Movement and logic patterns are more modularized now, making it easier to control behavior.
    • The "smarter" enemies will try to avoid getting hit by bullets.
    • Screenshots:
  •    Added an initial "line of sight"/vision conetriangle system.
    • This system is actually all math (calculations for if a point is within a triangle). The visible triangles are for debug purposes.
    • Screenshot:
  • Added the ability to replace sprite colors with code.
    • This allows some color variation between enemies.
    • Screenshots:
  • Redesigned the Invasion System
    • Added a raid "party" mechanic.
      • When an invasion is generated, raids are created based upon a few different factors (one of them being random chance).
      • As more enemy types are created, you'll see certain party member combinations being generated that play well together.
    • Raids now have a scheduled attack time, working with the time system.
      • If a raid isn't complete by the time a second raid is scheduled to attack, the raids merge.
  • Fixed some bugs.
    • Bandits would occasionally try to dodge your bullet trajectory by walking the wrong way (back through the danger zone). This should be fixed (hopefully!).


A.I. System

This is partly why the current update has taken so long. I've been fiddling around with how I want to design my AI, and doing quite a bit of research on how to go about it. I'm not completely there yet, but I'm close.

I've resolved currently to modularize my A.I. movement and logic patterns in such a way that it's become easier to design behavior within my enemy code.

Honestly, it was a bit of a mess before. Now, all the heavy logic is stored within their appropriate functions. The initial Bandit movement logic (chasing the player and stealing a potato, essentially) went from a big mess to:
var totalDist:Float = Utils.distanceBetween(sprite, Global.player);
if (!startSteal)
    if (totalDist > 1)
        if (dodging)
            if (ai.avoidGun(this, Global.player, gunBuffer)) dodging = false;
        else if (ai.nearBulletTrajectory(this, Global.player))
            dodging = true;
            ai.near(this, Global.player, 2) == false ? ai.moveTo(this, Global.player, 2, movePriority) : startSteal = true;
        ai.near(this, Global.player, 2) == false ? ai.moveTo(this, Global.player, 2) : startSteal = true;
Particularly I'm happy with the code to move to a particular point/object, as that got reduced down to one simple ternary operator. I'm big on saving space when I can, as it makes everything easier to navigate.

My goal is to have A.I. work on an individual level, while also being able to manipulate A.I. as a group. I'd like there to be enemy formations and tactics. We'll see how it goes.

Line of Sight/Vision Triangles

This was pretty fun to figure out.

Thanks goes out to Emanuele Feronato for the algorithms:
Algorithm to determine if a point is inside a triangle with mathematics (no hit test involved) (Tutorial).

Line of sight will be specifically necessary once I add some stealth movements to a different bandit type - they'll try and be sneaky until they're spotted.

Sprite Color Replacing

The challenges within this mini-update have been pretty fun to figure out.

Replacing certain sprite colors was particularly easy, as HaxeFlixel comes with that capability.

The more complicated part was making it work in such a way that I can define the colors to replace, and the colors to replace them with, within an XML file. I also needed to be able to revert back to the original color.

(I say complicated, but this took probably an hour, tops).

The advantages of this are great, as I can save room in my sprite sheets if I want to add a little color variation. I can also get crazy and replace every color too, if I wanted:

Redesigned Invasion System

Rewriting how Potato Farmer handles invasions was especially handy, as it was a bit of a mess before.

Possible enemies are calculated, random chance is added, and raid "parties" are formed for the next invasion wave. These parties are really just strings that then get sent to the spawn function when the invasion begins.

I also have settings for the times between individual spawns and spawn clusters (so the player won't be bombarded with 20 enemies at once, unless that's the intention).

What I'm really looking forward to is making certain enemies work together. The plan is to add some enemies that are more on the "defensive" side, whether that be shielding their comrades or disrupting the player. I'd like to add formations as well, but that's really an afterthought until I add more enemy types.

Next Up

Once a bit more groundwork is in place for the enemy A.I., I'll be adding new enemy types to fit into different patterns I want the player to face.

Following that will be purely content in the form of new enemies, items, and weapons.

I've had dreams of walking around a bigger world in Potato Farmer, and I'm looking forward to making that a reality once the farming/invasion mode is complete. I think it'd be fun to branch out a bit into the territory of puzzles and exploration.
« Last Edit: March 30, 2014, 03:09:21 PM by LaughingLeader » Logged

Level 0

View Profile WWW
« Reply #16 on: March 30, 2014, 03:04:16 PM »

This next update is loaded with images. Enjoy. Gentleman

Potato Farmer Update 5


  • Updated the farm house.
  • Added a light.
  • Updated the Player's walk cycle.
  • Created a sexy door animation.
  • Added some minor interaction with the house wall.
  • Made the rooster mortal, so he may better understand the ways of men.
  • Fixed a silly glitch.
  • Completed various infrastructure changes.
    • GameData
      • Stores all relevant information from XML files when the game first runs.
      • When the GameWorld is created, classes read from the GameData rather than the XML files directly.
      • Should (hopefully) reduce world creation time, as previously everything read from XML files on world creation.
    • Inventory
      • All actors types(player, npc, enemy) can now have an inventory, which lets them store/use weapons and items.
      • This was made to be modular, so that enemies and npcs may potentially have weapons and items.
    • Equipment Traits
      • Items and Weapon can have traits, which modifies their behavior.
      • Example: The Squirtgun has a "tapbypass" trait, which allows it to bypass the firing speed limit with rapid button presses.
    • Bullet Traits
      • Like Equipment traits, Bullet Traits add special properties to bullets.
      • Example: The "ignoreweight" traits allows bb pellets to fly forever, yet they will still respect their weight values when colliding and falling.


Visual Enhancements

A majority of the background art for Potato Farmer is what I created when I first started - meant to be place-holders, really. I've made an effort to update the graphics more regularly as I go along.

Though his hair was seldom seen, I for one am happy that the Player's hair looks less like a helmet.

Lighting & Decals

Lighting and bullet decals were relatively simple to implement, as the same methods I used in Shadow Possession (via Flixel) translate to the same thing in HaxeFlixel. Lights are stamped onto darkness, and decals are stamped onto a colorless decals sprite (which covers the whole area).

I'd like to implement a dynamic shadow system one of these days, but that's for another time when I can afford to do some research and experimentation.

Infrastructure Changes

Changing some pretty deep-rooted infrastructure was a quite a task, but well worth it!

The GameData stuff was pretty straightforward, as that was mostly isolating all the XML-loading functions to relevant data classes.

Modularizing the player, enemies, and npcs to all work the same was a more difficult. There will be some cool things to come from this, as (for the most part) the only thing separating the player from AI-controlled classes is just player input-control.

All "actors" can now wield weapons, pick up items, and use the same AI methods. I'd like to see a bandit steal a gun and use it against the player, if just for my own personal enjoyment.

Coming Soon

  • New items (finally).
  • Task System/Window.
  • A "Week 0" tutorial (mainly to teach the controls).

The Task System/Window goes hand-in-hand with the tutorial, as completing each task will allow progress to the next day.

Once the tutorial is finished (or skipped), tasks will be optional objectives that can be completed for rewards, or story-driven events that are required to get the true ending of the game.

While I'm designing Potato Farmer with replay value in mind, cementing certain markers can help to guide the player along a more interesting journey.

We'll see how it goes. Cool

Pages: [1]
Jump to:  

Theme orange-lt created by panic