System Requirements: Modern gaming laptop or desktop, keyboard, mouse, high speed internet and a compatible web browser (Chrome 77+, Edge 79+, Firefox 74+, ..and probably Safari 15.5+).

September 21st, 2022, 0.8.15: I've decided to delay further work on my current games, and won't be releasing anything new on the site any time soon. What I'm working on now is too exciting where things I have in mind for my first commercial title are concerned (next year), so my time is best spent on that instead.

August 24th, 2022, 0.8.0a3: A number of random things achieved since last month..

Fully integrated a popular FPS character controller with my framework (..made it compatible with WebGL, added knockback functionality, changed the input system it uses, recreated the weapon selection/ammo HUD within my own UI system, made it compatible with my Addressables-based systems for prefab/texture loading and weapons loadout and collection systems, reduced GC hits and memory consumption). I've implemented 5 weapons it came with so far (knife, handgun, shotgun, assault rifle, grenades), though I will get around to adding more. As mentioned previously, this is the last year being dedicated to improving my framework. Note for newcomers - the game I'm creating now (an as-yet-untitled horror-themed first-person shooter) won't be any more significant than the others here (basically meaning it's another "MVP+"), as very little time is actually going into creating it. Adding/improving related capabilities and features of my framework and toolset, streamlining/simplifying workflow and engineering ways to do things that will work well in my commercial titles later is the purpose.

Enemy AI systems are pretty much ready, extended from basic stuff I did for Tower Offense (factions, alert states, alerted enemies attacking as groups). 'Organic' enemies may now have differences based on their size, like larger ones having deeper pitched audio and more health and doing more damage and moving faster etc.. Each enemy can have any number of actions it picks from at random based on states/conditions. Have crossfading between animation clips, per-limb blending/transitions between IK and animation. Also did a minimal handler for melee damage to/from the player that can have different strength based on which animation or type of attack it is, and only damage once (i.e., there may be several collisions while an enemy tries to bite the player, but damage from each specific bite will only be taken once).

Roughed in 6 unique enemies so far, all unnaturally-aggressive animals. They're mostly ready to go, but my procedural feet systems were originally intended for walking/running (not things like bodies being knocked/blasted sideways or turning around really fast). It's mostly fine, but a few things stand out I won't be happy with until giving it more attention. It supports any number of feet but all enemies so far have 4. See my lawnmowing game for a rough idea of how they look in motion.

Implemented skinned mesh decals/wounds for projectile impacts, basic skinned mesh destructibility, a number of new effects. I'd post some early screenshots but would need to add an age confirmation prompt, which I probably won't bother with until nearing completion.

Changed a number of things with my lighting systems. Customized light attenuation in URP (so I can now have lights with any range and intensity that don't wash out color near them). As a result, I've been able to increase the distance of vehicle headlights and flashlights - also added light cookies, which visually make a huge difference. Changed my shader graphs for foliage to work better with that. Also integrated the well-known Volumetric Light Beams asset, which I'm pretty excited about using for a number of things later!

Cleared up several issues, new and old. The most recent upgrade-related issue was that some decal shaders I was partial to stopped working, so I've switched to using URP Decal Projectors wherever possible (like for most projectile impacts). Also reduced the number of shaders I'm using and changed my approach to warming up variants. Games and worlds now load significantly faster, especially on returning to ones previously visited. Shaders now warm up concurrently while downloading content, so by the time something is downloaded that's usually also done. With WebGL effectively being single threaded, most shader compilation during gameplay causes stutter/hitching, so unfortunately that was a challenge I couldn't avoid indefinitely. All my games on the site now are roughly 1 GB of content total, so fast internet is still necessary and there are no plans for mobile versions. I may do other games for mobile, but not like these!

Changed how returning to game selection works in WebGL. For other platforms it's the same as it's been, but for the web it will now be the same as hitting refresh. Immediately resets memory consumption, instead of counting on/waiting for browser GC.

July 21st, 2022: A few minor touch-ups went live today, nothing significant. Added left shift as an alternate to left mouse button for boosting, fixed a frame drop on first use of boost. I'd noticed this on occasion when hitting the first checkpoint in Casual Racing as well, applied the solution there as well (devs: warming up any post processing effects that will be used during gameplay which aren't initially active in the scene or which won't have a non-zero intensity prior to being used during gameplay). Moved some stuff into FixedUpdate that wasn't interpolating smoothly enough being called from Update. Slight rebalancing of physics forces related to movement was necessary as a result. I've been mostly focused on my next game (..horror-themed first-person shooter - more details soon), though I will be making at least one more [minor] change to this at some point in the next month or two by adding display of the minimap to the menu which is shown just prior to starting a scenario. Thanks 3d.rina for sharing such a great model for free!

July 16th, 2022: The build I've upped today includes new functionality in "BAGGED!" - for each bag filled, you get more biofuel (a.k.a. boost), which may then be used at will by holding down the left mouse button. An additional segment is added to the gauge, up to the maximum number any particular mower allows. I've currently balanced the game such that if you continue to mow efficiently while boosting, you can collect just enough to earn another segment as the current one runs out.. meaning with practice, it's possible to continue boosting for most of the run. However, sharp turns at high speed will probably flip the mower, so it's worth mentioning that like my other games, if you find yourself upside down, the spacebar will instantly flip the wheels back towards the ground. Note that faster isn't necessarily better. More points are scored by mowing deep grass, so if you're driving over grass you've already mowed, your efficiency level will not go up as fast (and as a result, it will take longer for your combo level to increase.. which means less points and less additional time).

I'll be mostly focused on technical stuff again now (i.e. not this game), but it was definitely a fun distraction and made the time spent creating the underlying systems much more pleasant. I probably won't be making additional updates to the game for a while, aside from occasional bug fixes, engine version updates or minor improvements. However, I do have plans to improve and expand it significantly in the future. The current build on the website was created in Unity Engine 2022.2.0b1 and uses URP 14.0.3 for rendering.

July 11th, 2022: Another build went up today, which includes rebalancing of some volume levels and increasing how many "blades of grass" it takes to fill 1 bag. The number of bags now required in order to complete the stage is 9, which hopefully is just enough that crossing the road to the other yard at some point while playing will be necessary when aiming for Perfect completion (all objectives achieved). Cleared up some motion jitter during TIP. Added a message and sound effect when the number of bags that have been collected increases. Related to bagging, I'll soon be tying it in more closely with effects and adding a dedicated area to the HUD at the bottom right of the screen.

July 11th, 2022: New this morning in "BAGGED!":
- Added a "TIP" action (Turn In Place). Active while holding down the middle mouse button or spacebar.
- During a TIP, the Efficiency level (which raises/lowers combo level) will lock, so cutting sharp corners strategically will have minimal impact on combo momentum.
- Upon exiting a TIP, speed is restored to 80% of the maximum the mower may normally be pushed.
- A related note here, the turning radius may be adjusted in Control Options, but the tighter it is, the more precision is required for effective control (i.e. more frequent and/or shorter pressing of A and D).
- Increased the number of bags required to complete the stage to 11.
- Various minor fixes and improvements.

July 10th, 2022: Today I've opened access to a new, early WIP/MVP version of the game mentioned in my previous post - so for anyone interested, enjoy!

"Bagged!" is a lawn-mowing game, with your points combo increasing depending on how efficiently you mow ..such as not mowing over the ground where you already cut the grass, cutting through the deepest grass, avoiding steep inclines to keep your speed up, avoiding rocks etc. A time bonus is also given each time the combo goes up, and the amount of time given slowly increases with your combo as well. This can result in the run becoming self-sustaining.. meaning if your combo is high enough, you're earning just enough additional time to keep going without running out. The practice stage that's available now only requires 10 bags to be filled, so it can be completed before it gets too difficult. The landscape is also minimally challenging, as this particular scenario is meant to test things and for players to get familiar with gameplay. There are currently two other objectives which may be completed before reaching the target number of bags. These are for lasting for a given time, and for achieving a given combo level. Later there will be objectives for not destroying specific property (mailbox, large shrubs or hedges, fences, whatever).

Mowing flowers/food/non-grass stuff in the gameplay area briefly drops your efficiency to zero, slows time and desaturates the scene (i.e. the color fades to shades of grey). Mowing over rocks or sharp corners of terrain causes sparks to fly. There are a number of cameras to choose from (several 3rd person and a couple of 1st person). Note: The screenshots were made in Chrome, with all options set to defaults except 200% resolution and full quality reflections.

June 29th, 2022: I've got most of a new game together in the last few days ..I'll be opening access up to everyone within a week or two. It's something I thought would be fun to create while developing and testing something, so I'm refining UI/flow/etc. and populating the environment more in between doing that. For today's update, the only thing that's probably noticeable is an improvement to my game selection area. I'll post screenshots and/or a video of the new game along with my next post here, which will probably also mean it's available to play :).. it will just include 1 stage initially, but it's the type of thing you can play quickly whenever and get better at over time. It's easy to play but rewards intelligent play - I'll definitely add more stages later. Technical requirements are the same as the other games and I've considered it appropriate for all audiences.

June 22nd, 2022: A few noticeable changes since the 12th:
- Animated stars in night skies are improved. Added a moon to each world.
- Reflections now include sky objects at all detail levels aside from "Off" (Options->Graphics).
- Trees no longer just disappear when destroyed, they get uprooted (both 2D and 3D types) and briefly influenced by physics first. Uprooting a tree also spawns a particle effect that's textured the same as whatever dirt the tree was in.
- Trees now won't be destroyed by regular bullets, only by driving into them or by explosion (rocket, nearby propane tank, etc.).
- When retrying a scenario, the world-specific content now resets as well - terrain surface, groundcover, trees, power lines, streetlamps, guardrails, fences, signs and so on ..everything that's destructible.
- Faster world loading (not counting time it takes for downloading). For me about 2 seconds less.
- Improved time of day sun direction curves and made shadow strength consistent between worlds.
- Fixed streetlamp poles and bulbs not casting shadows, fixed an issue with streetlamp light flares.
- Urban environment windows now break apart similar to the bus shelters in the "Suburbia" Tower Offense scenario.
- Removed "Experiments" and "Flight Zero" from game selection screen (both have been abandoned for some time).
- World navigation buttons now display along the bottom right of the screen while the main menu of Casual Racing is open (previously these were only in Tower Offense). Click to travel to that world without selecting a scenario.

June 12th, 2022: A significant update today - there are now 5 locales to choose from, with more to come later this year. I'll be refining translations over time as needed for clarity, correction or whim, and would greatly appreciate any feedback about anything in particular that needs attention. Many other improvements across the board, with no remaining [significant] known issues. I'll be more focused on environment again for a while - improvements to my weather and sky/star systems, lighting and shadows, post-processing tweaks/additions and other random stuff. I also plan to add some kind of particle effects when trees are destroyed. Not much else to mention for now! I'll probably update the site and framework again before the end of this month. Here's a shot of the in-game locale selection menu when viewed from the "French (Canada)" locale:

June 10th, 2022: My local build of this website and framework - including all games - is now 100% bilingual! My next update here (within 1-2 weeks) will include language selection between English and French. I also now have the capability to add additional languages in less than a day, in most cases without having to update the build itself. I plan to add several more later this year.

May 25th, 2022: A number of framework improvements are included in today's update, including new text/glyph systems which dynamically support all languages, emojis and RTL input. New players now have the option to sign in using Google. This build was created in Unity Engine 2022.2.0a13 and uses URP 14.0.2 for rendering.

The following videos are old and no longer accurate. I'll create some new screenshots and videos later this year - it's low priority given I don't currently advertise the existence of the website or games outside of Unity Forum.

Tower Offense GameplayRural Environment of Casual Racing

At left is Tower Offense, completed on December 31st, 2021. The video shows 1 of 3 worlds included (the others being Tropical and Desert environments). I haven't done a video for Casual Racing, but a drive through the first Rural environment route is shown in the video on the right. There are 28 races total spanning 8 worlds. Both games artistically are composed of CC0/public domain, licensed content from the Unity Asset Store [and elsewhere], along with whatever random stuff I threw together myself. Financially they cost next to nothing to produce and were created by me alone.

I'm continuing with improvements to my framework for the remainder of this year. Now that my text systems are capable of more than basic ASCII, localization is a top priority. I'll be starting with French - the other official language of my country. I'll also be integrating some things I did back in January which will improve my night-time skies and stars, and will clear up the Time-of-Day-related issues with sunlight and shadows while I'm at it. That and more will be in the next major update.. though I can't currently estimate more precisely than "sometime in the next couple of months."

Content Advisory

This is the personal website of a hobbyist game dev. All in-game content currently available is intended to be suitable for all audiences. Display Names and Avatars submitted by players must clear a moderation queue before being openly visible on this website or in builds for any other platforms. In the future, there will be age verification required for access to some games, features or areas where moderation may not apply (subject to exceptions where in conflict with the laws of Ontario, Canada).

Cookie Policy

Your preferences and login are stored in a server-side session. The ID of this session is stored in your browser as a cookie until its expiry, which is 30 days after your visit. Google adds an additional cookie when players use it to sign in. If you close related tabs or windows and clear your cookies, your in-game preferences will be reset to defaults and you will need to sign in again to access your account.