Support Me on Patreon

Monday, July 22, 2019

Engine Driven Mechanics.

Tried adding critters to Little One. The critters were supposed to use rigid bodies and get sucked up by the vacuum. Unfortunately, rigid bodies are hard to control. Most functions that move them ignore rotations, and the ones that allow rotations ignore collisions. So the critters; like the enemies, NPCs, and player; will use kinematic bodies. You'll gather eggs and incubate them to hatch the critters. Then the critters will produce resources and ammo for the player.

Why not just use kinematics for everything?

Kinematics need their physics programmed and tend to act like static objects when not moving. Their scripts would also have to run constantly, while rigid objects could be controlled by the vacuum when collected/shot. Having hundreds of scripts running all the time isn't such a big deal, but I'd have to re-do the mechanics already present. So I've chosen to just alter how the characters are used instead.

Thursday, July 11, 2019

Can't have lag from adding objects if you don't add objects.

There are many sources of lag in games. Most notable is skeletal animations. Loops, print statements, and loops with print statements can also add up. One thing most new developers don't notice, is that adding and removing objects can get heavy for lots of objects. Sometimes you have to add objects, like critters and bombs.

Of course, some objects warrant particle effects or sound effects when they hit. Objects, like bombs, don't usually stick around to play audio or particles.Removing objects early can truncate these effects, and programming a wait timer is something I'm too lazy to do.

You could always add the effect or sound objects and remove them after, but let's keep them in the scene. Better yet, add about 5-10 of these setups to the scene; inactive. Make a global variable in a pre-load script to keep track of which FX setup you are going to use. Before the attack/grenade/ammo is removed, move the current FX setup to the current object and activate it. Leave it there and update the current FX variable for the next FX setup.

By the time you loop through the setups, the first one should be done and inactive. Keep moving and using the setups as needed. Shuffling objects or setups can help for anything and reduces load since you don't keep adding these objects. You could even shuffle raindrops around the player for the illusion of rain if particle effects are unavailable or unusable for rain (some don't handle collisions and rain could clip indoors).

This option works for any kind of visual effect, from gunshots to bullet holes. Keep several in the scene and move them around / make them visible/active as needed.

Monday, July 8, 2019

This Post Sucks.

I was going to enter Adventures' EDGE into the fragment jam, but it does not qualify. None of my unreleased projects could be made ready in two weeks; except one. Using simple vacuum mechanics and a first-person view, this project could see a simple demo quickly. After, there will be enough of a mechanics base to quickly flesh a small game. There is a private collection on open game art just for this project.

The idea was to take some simple mechanics and a few things from AE and prototype a game. Then I'd use the curated collection from OGA to quickly pull together maps and content. After release, I'd upload any assets I'd made to OGA and make the collection public. There is a problem though, two actually.

My project qualifies for an unofficial OGA jam and stress causes chest pain. Add a busy week to that and I'm not sure how much I can get done. Yes, I want to see how much stress is debilitating, no I haven't got the resources for medical help. I'll shamelessly plug my Patreon page here, in case anyone wants to support my endeavors.

This year's plans include:
Completing Both games
Getting health insurance
Attaining some kind of income
Removing the useless things in my life
Or removing the life from the useless things

Actually, the vacuum mechanics are done and I'll be working on storage, water, and plant growth.