In Progress Lucia's Run

The project is currently under development.
nice work, buddy!
About this:
After seeing how crappy recordings of standard res look,

To bypass this, I set the resolution to 2x inside video options, but with no filter. Then I record using bandicam and I set the output of it to 1920x1080 (if you use a non wide resolution, you can set it to 640x480). And finally I compress the video using this trick http://www.chronocrash.com/forum/index.php?topic=1224.0

The last program force the 60fps video, but Youtube only shows 60fps if you are using a widescreen resolution.

I've made a tutorial about this but I can't find it.
 
O Ilusionista,

Thanks! It doesn't matter now since I'm going widescreen, but will keep that in mind.

In order to accommodate widescreen, I've been working on the HUD, and drawing icons for Lucia's special abilities. To keep things balanced, some abilities have a cool down period in addition to their energy cost. Some abilities don't cost energy at all, but they may still have a cool down. Due to the fast paced nature of things, the HUD needs to indicate everything that is or is not available at a glance.

Bor---0006.png


The hearts and stars are health and special energy. The others are (from left to right):

  • Snow: Lucia's pet wolf Snow (not shown yet) rushes out in a straight line and bites whatever he comes to first for good damage and stun. He can only get ground targets.
  • Stripes: Pet skunk Stripes (not shown yet) moves forward and sprays a small cloud that nauseates and slightly weakens enemies that pass through it.
  • Quill: Pet hawk Quill (not shown yet) swoops in, seeks out enemies for a moment and attacks them for minor damage. Can reach anyone, but hawk's AI decides who to attack.
  • Absorb Elements: If Lucia is hit with fire/acid/electricity/cold, she can expend special energy to take half damage and add the element as extra damage to her next attack. Shown X ed out to indicate cooling down.
  • Entangle: Area of playfield erupts with thick vines and undergrowth. Grounded enemies caught in it move at half speed, weaker enemies stopped completely.
  • Fey Charm: Single humanoid or animal is charmed and fights for you. Stronger humanoids may resist, but always works on animals.
  • Goodberry: Bush appears ahead and can be picked up. Healing is based on %of max HP, so Lucia doesn't get much from it with her low HP, but others can benefit a decent amount.
  • Barkskin: While active, any damage Lucia or other players take is reduced by 25%, but also subtracted from her MP.

Other characters have their own sets of special abilities, but since I don't have sprites for anyone but Lucia, I'll worry about her for now.

Using special moves is easy, owing to the need for easy access in a shooter style game. Pressing Melee Attack + Ranged Attack and holding a direction executes a "unique" ability. These don't use MP, but they may have a cooldown. For Lucia, her unique ability is her animal assists. Special abilities work by combining Special with a direction. Ex: Entangle = Left + Special. These consume MP and may also have a cooldown.

The bow and sword icons (little homage to Zelda) indicate charge state for Melee and ranged. You can charge either one for a stronger attack by holding the respective button. The icons are just there to indicate when the attack is fully charged. I may remove them to de-clutter the HUD, but not quite sure.

DC
 
I've been kind of busy last couple of days, but here's a minor update:

Widescreen conversion is pretty much finished. The HUD, sky, and play areas are all lined up.

HUD is now fully animated, and for the most part finished. Health and MP icons no longer disappear when used up. Instead, they just fade completely to black and stop animating. I decided I didn't really like all those special ability icons. I tried all sorts of layouts and no matter what it was just too cluttered. Now the icons will appear along top of the screen when (and only when) there's an active cooldown on the ability. Bonus - this allows me to use 16*16 instead of 10*10 icons, so it's much easier to draw something that makes a bit of visual sense.


As always, more to come.

DC
 
Beautiful work, Damon! I love how the heart icon is animated as player's health and how they (heart and star) appear with player respawn accordingly.
 
I'm not understanding everithing, but I see some progress and also some new implements.
it looks good!
 
Back from fire aid in Oregon, and got a minor milestone - object scaling and auto-scrolling objects. Dug up my old Z depth auto-scaling algorithm from 12 years ago (holy crap time flies), and combined it with another script that moves obstacles at an angle toward the player's viewpoint to match the perspective floor's auto scrolling.

It's just a rough draft - I need to find better tree sprites. I also need to set a script up to match movement of objects to the floor and background when player scrolls horizontally. One step at a time though, yes? :)


DC
 
oldyz,

Analog is more of a hardware thing, I'll save the explanation no one would bother reading for some other time. In any case, that's not at all the type of game I'm making. See original post. It's a running rail shooter inspired by games like Gi-Joe (arcade), Devastators, and Space Harrier, with some melee elements sprinkled in. I have zero interest in light guns or first person.

DC
 
True
but the way things are starting to look, it seems that Openbor would be capable to give users a viable way to update some arcade "sprite" shooters, like Alien 3 the gun, Terminator 2,  revolution X, etc to wide-screen.  (out of the short list, T2 is the most doable currently, since it only went from left to right)

the lengthy info might not be useful to me , but someone else later on could certainly use it
 
Ran into my first real issue - sprites. The set I've been using is adequate for making Lucia, but that still leaves enemies and other playable characters. Any appropriate resources just clash art style too much. Making them all from scratch is out of the question - even if I had that kind of pixel art talent I just don't have the time right now.

As a possible alternative, I'm experimenting with Blender to build sprites from posed models. First day and so far I'm way out of my depth, but hopefully a few days of training will help. Found a ready made female model and working with some poses. It's little messy and stiff looking but I think there's some potential if I can figure out how things work a little better.

Lucias-run_2020-10-27_002700.png


DC
 
Damon Caskey said:
Ran into my first real issue - sprites. The set I've been using is adequate for making Lucia, but that still leaves enemies and other playable characters. Any appropriate resources just clash art style too much. Making them all from scratch is out of the question - even if I had that kind of pixel art talent I just don't have the time right now.

As a possible alternative, I'm experimenting with Blender to build sprites from posed models. First day and so far I'm way out of my depth, but hopefully a few days of training will help. Found a ready made female model and working with some poses. It's little messy and stiff looking but I think there's some potential if I can figure out how things work a little better.

Lucias-run_2020-10-27_002700.png


DC

excellent, it is indeed the way to go to get some results faster IMO -
for more polishing later on true hand-drawn sprites can be implemented later on by paying an artist

Analog/lightgun talk:

i gave gi-joe arcade a go yesterday, i always thought it was a light-gun game

but one: there is no calibration menu
& 2 but it turns out,  no GI joe cabinet ever featured the Joystick-gun hybrids at the very least, so it is indeed just digital inputs

so now im wondering about the hitboxes in gI joe, Think they are they "scaled" manually (like thee way each frame has its hitboxes values on most mods - except that for frames that are marked "closer" they rezise - or do they scale in real-time (using programming that automatically rezises the hitboxes for each "entity"

i was trying to tinker with the info that bWWd provided about z-scaling - if i am not mistaken , in order to scale the hitboxes a similar script has to be invented - so mods will have to use 1 script that takes care of the scaling visually & a separate script to scale hitboxes, no?
 
oldyz:

oldyz said:
for more polishing later on true hand-drawn sprites can be implemented later on by paying an artist

Not interested. I want the work to be mine, and I'm good enough to do polishing on my own.

so now im wondering about the hitboxes in gI joe, Think they are they "scaled" manually (like thee way each frame has its hitboxes values on most mods - except that for frames that are marked "closer" they rezise - or do they scale in real-time (using programming that automatically rezises the hitboxes for each "entity"

I've already solved this (see below), but it requires a bit of explanation. First thing, scalable hitboxes have one big drawback: They double memory consumption because you have to maintain the original value somewhere as a base. That has to be dealt with somehow.

In GI-Joe, Space Harrier, etc. the hit detection does indeed scale. There's no way to know for certain how they did it without seeing their original source code, but I can tell you how it most likely worked. If you pay attention in those games, you'll notice the profile shape of a given enemy sprite never changes. No matter if they are running, jumping, shooting at you, etc., they always maintain a uniform profile. So I'm guessing they're doing one of two things to get around the memory issue:

  • Each model has exactly one set of global collision coordinates that are scaled based on its Z position. They might even share sets of collision coordinates across multiple models with similar profiles.
  • (more likely) They're using hardware sprite collision. Poor precision, but if you design sprites carefully (see above) it's good enough for an arcade rail shooter and the detection scaling takes care of itself.

i was trying to tinker with the info that bWWd provided about z-scaling - if i am not mistaken , in order to scale the hitboxes a similar script has to be invented - so mods will have to use 1 script that takes care of the scaling visually & a separate script to scale hitboxes, no?

OpenBOR is a very different situation than the arcades. OpenBOR keeps collision data for every frame, and can even have multiple sets per frame. That's a truly massive amount of data to store. Plus, you'd need to write the script in a way it would know if a particular frame's original values were captured or not. It's not all that difficult to code, but severely resource intensive.

In theory you could use a static set of coordinates for each model as your base (same principal as arcade solution 1), but then you have to limit sprite design to a uniform profile and I just don't want to do that.

So... I developed a third solution. Remember DoAttack? In this video I explain the basic concept, and mention it has many applications for advanced hit detection work:


Lucia's Run Leverages the DoAttack() event for its scaled hit detection. Instead of scaling the actual hit boxes, the DoAttack() event calculates a theoretical scaled hit box whenever a hit occurs. If the hit location falls outside of the calculated box, the hit is canceled. I'd like to think it's a pretty creative solution. :)

DC
 
Damon Caskey
Lucia's Run Leverages the DoAttack() event for its scaled hit detection. Instead of scaling the actual hit boxes, the DoAttack() event calculates a theoretical scaled hit box whenever a hit occurs. If the hit location falls outside of the calculated box, the hit is canceled. I'd like to think it's a pretty creative solution. :)
Very interesting. I never tried to use the DoAttack() event before, is possible to develop a scripted "hitfx" funcion with it? And, if I understand the DoAttack() correctly, it runs before the DidHit() event, right?
 
O Ilusionista said:
Kratus yes, its triggered even before the didhit and you can even nullify the attack as it never hit anything.
Great! Thanks  buddy, is very good to know it. I will make some tests.
 
Back
Top Bottom