Foxhole Infinity HTML5

You can now play Foxhole Infinity on the web!

I’ll be adding more content to this game later so keep posted. I’m thinking of using this game as a fund-raiser for Scrapshoot, so I might spend some time refining it for a while.


Foxhole Infinity >Play Now!<

Play Now!

Foxhole Infinity is my submission to the Game Boy Jam.
I may continue to update it with new content, so keep an eye out.

Box Art WIP

Box Art WIP

Promotional material and marketing are among the things that indie game developers often fail to utilize.

Learning from that, and not wanting Foxhole to fizzle into obscurity, I am making some more art!

I’m going to put my all into this piece in order to really grab the attention of anyone who comes across it. It has to look professional and exciting.

In my experience, the indie games I come across simply don’t know or don’t bother to express their characters and scenes with powerful expressions and composition while including subtle information about what the game is all about.

My background in art and cartooning should prove to be an advantage in this area.

In the context of marketing, I have been doing a lot of research. The game is not yet ready for me to start a press release campaign or landing page. But soon enough I will use these concepts and more to give Foxhole that exposure factor that is so important.

For the time being, my social media campaign includes IndieDB, Game Maker Community, TIGForums, Tumblr, and Twitter. I update each outlet with new information, especially during new updates. I also make posts about Foxhole on message boards related to gaming and comics.

This is all a lot of work. Will it pay off?
I am the kind of person that believes luck has very little to do with any project’s success. If I do what I am supposed to do, and do it well, everything else will fall into place. If it is not a success, it is because I did something wrong, or not well enough.

Progress Report

walter sportball_tempresize

I’ve done very little for the next build of the game. Life gets in the way and such. I’m moving to a new home soon. That’ll take up some time.

In other news, I am trying to cook up plans for trading my time between the Foxhole game and the comic. I’ve neglected the comic for a criminally long time. I still think the game will have a higher priority though. It’s all still up in the air. I would like try out my improvements in art skills with the comic. It’s also more immediately rewarding to finish a comic page than a small game update. It may help me to have that kind of variety.

Please be patient on updates while I get things sorted out.

Changelog (v0.16.1a)

***Your previous custom stages will no longer load correctly due to format changes.

  • -“Plant” control now does nothing except prevent you from crouching or aiming vertically, allowing you to aim diagonally while still. Renamed it to “AIM” as a result.
  • -Fixed an oversight that caused your configuration for “plant” (now “aim” control) to not save. Whoops.
  • -Included “Shift” and “Ctrl” labels for when you set those buttons during configuration.
  • -The “help” button now includes that the middle mouse button can be used to edit objects.
  • -Relay dishes on the overworld will have a different sprite after being destroyed.
  • -Fixed a certain way-too-hard jump in the Puzzle Box level.
  • -Made some optimizations to point-collision checks.
  • -Slightly increased delay before a stage ends right after completing a goal.
  • -Fixed a bug that could possibly id the wrong entity as an Actor’s killer upon taking damage. This could have, for example, caused Zuka to be knocked back in the wrong direction when being attacked by multiple enemies. Or it could have given credit to a stage hazard for your kills.
  • -Improved damage events so that non-lethal damage and lethal damage trigger seperate scripts that are unique to the Actor that called them.
  • -Created a new Actor type, a BreakableObj. The relay dishes now fall under this. They respawn like enemies and can be destroyed. They use physics and can also be solid to other Actors, but not to projectiles (so that bullets can cause them damage).
  • -Goal_Relay and the Relay_Dish spawner must now be placed seperately. For stages where the relay has already been destroyed, the Goal_Finish will be placed at the same spot as the Relay_Dish spawner.
  • -Checkpoints will save the facing Zuka had when she passed them.
  • -You can now set the initial facing of the Playerspawn.
  • -The FPS counter is BACK!
  • -Zuka’s weapons now fly out of her hands like they were SUPPOSED TO THIS WHOLE TIME!
  • -Crush damage is now implemented. Necessary because of the solid moving objects.
  • -Fixed a bug that caused the radial menu to double-register input.
  • -Controls can now be configured in the pause menu.
  • -Overall stability of the radial menus, most notably the control menu, has been improved.
  • -Rockets deplete ammo 250% faster.
  • -Prevented some explosion sound effects from compounding.
  • -You can now also use the fire buttons to perform a walljump, like it was in earlier versions.
  • -Improved audio and visual effects for rockets.
  • -Three new stages that use the new stackable crates!

Changelog for v0.16a

  • -Widened Zuka’s collision box. Provides better margin of error for platforming. Prevents Zuka from getting caught in places that she shouldn’t.
  • -Made world map travel slightly faster and improved the controls.
  • -Added two new enemies. The Grinder and the Sifter.
  • -Added a new control. Using the [PLANT] control, you can stop Zuka in place and aim in all directions. You must hold the [PLANT] button to crouch and aim upward. If you aren’t holding it, you can aim diagonally while standing by holding up or down.
  • -Improved walljump control. Instead of firing into a wall, you tap the jump button when the flashing gun is intersecting a solid object while holding the up button. You can walljump using only the gun on the side Zuka is facing, which inverts when a walljump is performed.
  • -Zuka’s head floats up and down on the world map.
  • -Improved appearance and animation of pickup items
  • -You can no longer pick up items while dead.
  • -Added a case to autotiling script for tiles that have “floors” so that the floors do not appear under other solid tiles.
  • -Fixed a typo in code that caused Actors to be drawn in the wrong order compared to other objects.
  • -Fixed the formula for how many chocolate diamonds are required to boost max health. More diamonds are required.
  • -Added animation events to NPC behavior queue. (But there’s no animation to use it, yet!)
  • -Added randomly appearing treasure chests!
  • -Pickup items can’t be taken until a split second after they spawn. This is so you can see what they are before you take them if they spawn on top of Zuka. Which is likely to happen with treasure chests.
  • -Messed with/added some weapon related sound effects.
  • -Reduced instability caused by pause screen switching.
  • -Zuka can no longer walk off the edge of the stage.
  • -Corrected an issue that prevented Zuka from uncrouching under obstacles that were a pixel too low.
  • -Improved behavior of projectiles. Will make it easier for me too add new features to them later.
  • -Nerfed collision size of gas-based projectiles.
  • -Added some pathfinding stuff to the stage controller. For now, it’s used to ensure that randomly-placed objects on the world map can be reached by the player. May also be useful for A.I. later on.
  • -Added minimap functionality to the stage editor and world map.
  • -Optimized dragging out tiles while holding the mouse down.
  • -Increased draw depth of solid tiles to prevent a case where characters and objects could appear behind them.
  • -Changed stage size restrictions when making a new stage. Total tiles are taken into account. A warning will be given rather than automatically clamping the size of the level without telling you.
  • -Enemies will now be destroyed if they travel too far off the sides of the level, rather than just the bottom.
  • -Zuka can now change her facing in mid-air.
  • -Objects in the level editor now have the possibility of being manipulated via middle-click, rather than just mousewheel.
  • -Pause screen background now works on all resolutions and has some extra effects.
  • -Fixed bug that caused clouds to move fast and when they shouldn’t be.
  • -Alt+F4 now closes the game.
  • -Enter key will now work on radial menus even when gamepad mode is on.
  • -Added intro text for stages to let you know the objective
  • -In the world map, a button will float over Zuka’ head to indicate that she can visit that area.
  • -Altered HUD for overworld.
  • -Implemented “Hours” counter.
  • -Completing goals no longer removes control from the player until the transition starts, so you have a chance to collect loot.
  • -The invisible exit/goal triggers are now visualized by a floating sign.
  • -Added Miss Faraday’s A.I. relays as the goal for certain stages. Destroying it finishes the stage and gives you more time to complete the game. Replaying a relay stage you already beat will replace the relay with a normal finish goal.
  • -You can now choose to exit non-elimination stages near the start without finishing them.
  • -When inspecting a stage on the world map, you are now shown a thumbnail of the stage, the stage’s title, and icons representing your accomplishments there.
  • -When moving between world map and stages, the next area will now be loaded into memory AFTER the transition effect finishes, so you don’t experience that annoying pause.
  • -Added two new weapon parts. Thus adding the game’s first special shot effect and a new projectile type.

Progress Report

I’m working on the turns system. There were a few challenges I saw with the game related to this.

First, it may frustrate the player if they make it too far without managing the turns they use correctly and they fail the playthrough at a later part of the game as a result of running out of turns. Without any feedback that tells the player they are managing their time correctly as they go, their efforts will seem futile. Plus, even if the player were to mismanage their turns very much early on, it would only affect them a long way down the playthrough.

Second, the stages themselves so far only have a goal of “get to the end” or “kill all the guys” or what have you. There is not yet a reason for Zuka to complete stages in the context of the story. So it becomes difficult to understand which stages you should be doing and when for the optimal experience.

Third, there is no death penalty at the moment.

So I decided to have Zuka start with a small number of turns, allowing her to earn more as certain stages are complete. If you mess up early, you will fail early. This is more conducive to allowing the player to learn how to play well. You can see this mechanic at work in a lot of racing games with time trial modes, where you are rewarded with extra time as you pass checkpoints.

This ties into the stage goals as well. The idea will be that in most levels, Zuka will be able to find a machine, that once destroyed, delays Miss Faraday’s conquest and gives you more turns to move on and complete the playthrough. The player will be able to see their remaining turns and have a better idea if they have time to explore or if they should hurry to the next turn-earning activity.

As for the death penalty, I would like to implement a “lives” system. You are allowed to perish as many times as you have lives with no penalty until they run out. If you run out of lives, you are carried back home on a stretcher and suffer a turn penalty. Your lives are then returned to a default value. Stages closer to Zuka’s home will punish death less in this case, since you spend fewer turns returning to those stages. This is why the overworld is designed the way it is, with later levels located farther from the start.

So there will then be four kinds of “currency” in the game to manage that are earned via different kinds of activities. I do enjoy a game of this kind that has lots of collectibles that aren’t just there to be collected, but actually do something.

Scrap is used to upgrade Zuka’s weapons and abilities and buy items. It’s earned by defeating enemies and finding treasure chests.

Chocolate upgrades Zuka’s health pool, with diminishing returns. It is earned by solving optional puzzles and tricky platforming segments in stages.

Lives give the player more chances to fail levels they are unfamiliar with, mitigating risk. They can be earned by defeating bosses or bought from an NPC for scrap.

Turns allow Zuka to explore more content and eventually complete the game. It is earned by any activity that sabotages Miss Faraday’s progress, which is the driving force of the narrative.

It is also my intention to surprise the player with other random one-time opportunities to earn or trade between these “currencies”.

The intention is for the overall game to involve a simple board-game level of strategy, randomness, and resource management.

Progress Report

I’ve been working hard since the last release. I’m addressing some feedback and adding new features and content.

I plan to have an update out within two weeks. Hopefully less.

Detritus Roadmap

Now that the world map is working, most of the framework for the game is in place.

My next goal will be to add more content. I’d like to try to make the game fun to play as-is, so that people will be more likely to spend more time testing and telling their friends about it.

This means more enemies, more moves, more gadgets and obstacles, more weapon parts, etc.

I also want to flesh out the world map further with how it affects gameplay.

I’m going to take a break for a couple of days then get back to work. Thanks for playing!

CHANGELOG (v0.14a to v0.15a)

  • -Added a “New Game” option, which will take you to the overworld map. The game cannot be saved yet.
  • -A whole bunch of new music courtesy of Nitrosparxx. He’s working hard on the soundtrack, so give it a good listen!
  • -Made improvements to appearance and controls for the spinning menus.
  • -Reduced HP of Junkies
  • -Exiting the game through the menu now prompts a confirmation.
  • -Added “deadzone” setting.
  • -Attempted to add support for more/older types of gamepads. Reconfiguration for these is limited. Please test this.
  • -Now using some DLLs to enable looping OGG playback. I also made some improvements to how music is played in general.
  • -Made improvements to the coloring of some older weapon parts.
  • -Made major changes to the way stage loading and saving is done. Previous stage files are no longer compatible. Let me know of any problems you encounter when working with stage files. Stage files with the prefix “stage_”, when placed in the gamedata/stages/ folder, will automatically be loaded into the overworld in a new game.
  • -Tuned up the color palettes on some of the scenery and characters.
  • -Added a check that enables Zuka to jump properly while walking off of small steps down. Could possibly enable Zuka to jump when she shouldn’t but I haven’t found such a case. If you find a spot where you can jump that doesn’t make sense, report it.
  • -Eliminated slowdown caused by shift-dragging the stage editor’s tile selector over a large area.
  • -When your maximum health goes above ten, the hearts on the HUD shrink and get put into rows.
  • -Made damage numbers less blurry.
  • -Lengthened Zuka’s hair.
  • -Zuka can now aim diagonally while moving by using the up and down controls.
  • -Improved formatting of speech bubble text.
  • -Improved the way NPC conversations are handled. Conversations are now started by the player and take control of the camera, then when it’s over, control is given back to the player. NPC’s now serve gameplay purposes.
  • -Greatly decreased stage load times by reordering tile layers.
  • -Added Goal object type that you can place in a stage. These determine how a stage can be completed/exited.
  • -Fixed a memory leak related to Zuka’s list of equipped weapons.
  • -Added weapon customization through Rusty.
  • -You can buy new weapon parts from a randomly-appearing robotic NPC during a stage.