In Progress Lucia's Run

The project is currently under development.

DCurrent

Site Owner, OpenBOR Project Leader
Staff member
Hey all, I doubt anyone remembers, but some time back I posted about a rail shooter I wanted to make based on original characters. The post included an entire write up on the characters and gameplay style:


Damon Caskey said:
....One of my wishful projects is using OpenBOR to build a high fantasy themed rail shooter using some of the stable of fantasy characters I have. The game is called "Lucia's Run". Think Space Harrier, only with the following caveats:

  • The game is set in a high fantasy sword and sorcery world. Just think D&D, since that's where most of my world building inspiration comes form.
  • The player characters do not have flight by default (some power ups, spells, and special stages may allow flight). Instead you always run along the ground. The up and down controls allow you to accelerate a limited distance into the background and decelerate to the foreground. You can jump and quick step to avoid pits, obstacles, and so on.
  • In addition to shooting, characters can also use frontal or side aimed melee attacks.
  • A variety of special techniques are available, unique for each character.
  • Enemies will occasionally attack from the sides or rear.

Controls - Basic control layout:

  • Directions: Moves character (duh). Double tap left/right to side dodge (some characters can do follow up side dodges). Double tap up to briefly sprint into background. Double tap back to briefly stop running forward (effectively dodging backward).
  • Jump: Avoid obstacles, pitfalls, and reach flying enemies. Tap for quick jump, press longer to jump higher.
  • Range attack: Tap to shoot. Hold and release for charged shot.
  • Melee attack: Tap to swing at closer enemies. Hold and release for powerful attack. Melee attacks generally knock enemies back and cover a wider arc than shots. Use with Left or Right to attack to your side - you can't attack to the sides and move at the same time.
  • Special action: Press to do one of five special actions depending on the Direction held (None, Left, Right, Up, Down). Some abilities need time to recharge between uses. None is typically a block.

Characters - These characters all have a novel length back story, so just giving a brief here:

  • Lucia Blossom: An innocent, beautiful Dryad, Lucia is the main character. Long ago she was forced to work for a corrupted guild of martial artists and tradesmen. Even though she was essentially a slave, she was still regarded as a highly valuable asset and trained no less than any other member. Eventually she escaped and worked to restore the guild (Order of The Eagle) to its former self. This gave Lucia the mindset that any evil can be turned around. Since then she more or less wanders aimlessly looking for wrongs to set right and people to help. She's naive and too sweet for her own good, but also very insightful, deceptively intelligent, and a deadly fighter.

    In game Lucia is quick, acrobatic, has good melee attack strength, and wields a longbow, giving her fast, powerful shots. As a Dryad (think D&D Dryad), she has several innate magical abilities, animal empathy, and limited control of plant life. She can charm weaker humanoids into fighting for her, occasionally cause plants to immobilize weaker enemies or slow stronger ones down, and summon NPC animals to help fight temporarily (for example, she might summon a giant eagle to ride on for a short while). Lastly, at the start of each stage, she chooses one of a few particular animals that stay with her the whole stage. Each one gives a unique strategic advantage. Lucia does has one huge drawback - her HP is extremely low compared to the others. She's a Dryad who's home tree was shrunk and uprooted after all.
  • Layla Willow: Layla is a Nymph and friend of Lucia's. She's a bit acerbic but very loyal and no less dedicated to good than Lucia. Layla was also victimized by the Order of The Eagle, but only as a tertiary effect from their activities in her forest. She never encountered them directly and did not know Lucia at the time. As a result, she didn't have Lucia's inside view of the eventual turn around. From her viewpoint, it was just an evil force that damaged her home and was later put down. She's therefore a bit more cynical than Lucia about handling ne'er-do-wells.

    Layla does not have formal combat training beyond some things Lucia taught her. She can use a bow and knows how to handle herself, but is nowhere near the fighter Lucia is. In game this translates to much slower speed, less effective evasion maneuvers, and poor recovery on melee attacks. On the other hand, Layla is a Nymph - all the beauty and powers of Lucia's Dryad race, turned up to 11. Layla has similar control over animals and plants as Lucia, but hers recharge much faster, enabling her to use them practically at will. Again owning to her Nymph race, she can instantly stun or blind most enemies, and utilize some area of effect elemental spells (i.e lighting strikes). Layla isn't a tank but has more HP than Lucia, and is innately warded against harm. Direct physical attacks do 75% damage to her (obstacles, magic, elements, etc. all do full damage).
  • Grummel Onyxbeard: Grizzled Dwarf warrior, close ally of Lucia, and something of a father figure. Grummel owns a series of forges and smith shops, but is known much more for his prowess on the battlefield. Grummel may be getting on in years, but hasn't yet passed his prime, and so offers a stout combination of strength and experience. He is the wise sage to Lucia's pie in the sky altruism and Layla's sardonic cynicism. Lucia leads the way, Layla sets the tone, Grummel is the strategy.

    In game, Grummel is the melee tank. His shot is a thrown axe - much slower and a bit weaker than Lucia or Layla's bow attacks, and he lacks their magical accouterments. But in melee, Grummel swings a huge double bit war-axe with frightening speed and force. These attacks cover huge ranges in front and around Grummel, far more than Lucia or Layla's. Moreover, Grummel is able to perform side attacks while on the move and without reorienting himself. Although his normal movement speed is slow, Grummel's evasive maneuvers are quick and effective. Grummel carries a tower shield that provides some cover at all times and allows him to block indefinitely and defend himself from streaming or area of effect assults (other characters can only block direct attacks and must time against individual hits). When he does get hit, Grummel barely flinches thanks to his heavy armor. And as you expect of a robust dwarf, Grummel has plenty of HP to soak up damage.
  • Kendar Leatherknuckle: Kendar is the toughest around! That's what he says anyway. Ever heard of a bare handed Halfling fighter? You soon will. Kendar is frankly a blunt instrument. He's a decent person and with the good guys when push comes to shove, but mostly he's out to prove he can take anyone, anytime, anywhere. Kendar once lost a duel to Grummel. Afterward he vowed to learn from Grummel while offering assistance until the day comes when he is able to defeat the mighty Dwarf one on one. In truth, Kendar rarely listens and is more of scrappy a tag along, but Grummel does what he can to temper Kendar's foolhardy urges and keep him pointed in the right direction.

    In game Kendar is the expert's character. His shot is a sling - it's fast like bows but very weak. His melee attacks are quick and do decent damage, but have extremely short reach. He has no magic, hits send him flying, his HP isn't great, and his movement speed is good but not outstanding. What Kendar does have is agility, and he's a tiny target. Many enemy attacks just whiff right over him. He also has a variety of leaping attacks that allow him to pogo in a direction of his choice to safety - or another target. Anything is fair game - he can rebound from obstacles, walls, enemies, allies, and even the recoil of his own charged shots. With practice, players can bounce him around like a ping pong, hitting nearby enemies, dodging attacks, and slinging shots at anything out of reach in an endless aerial rave. If you want to be Yoda, this guy is for you.

At the time I wanted to make a cut down version for a class project, but we wound up developing a run route finding app instead. But now the full version is in progress, and in a way has been for quite some time - all the 3D experiments on my Fatal Fury project were part of this. Truthfully, the 3D part is easy. The difficulty is finding and editing sprites that fit my character design - I'm not a bad sketch artist and sprite editor, but I don't kid myself into thinking I have the artistic talent to talent to create a fully realized sprite set from scratch. Anyway, I accidentally ran into a game called Wild Guns I'd never heard before, and Annie is an almost perfect sprite match for how I envision Lucia.

This is a sketch of Lucia by yours truly:

lucia-portrait.png


...and here she is in game. This is a very, VERY early draft. The ground and sky both have plane scrolling toward the player, and that's about it. Lucia has the one frame you see, and there are no enemies or scenery.

Lucias_Run_1.png


For this game, I decided to go with standard def. Usually I'm all about 480*272, but this time I think a normal screen works best. Anyway, more to come and hopefully some working enemies/video soon.

DC

Update 2020-09-24: First draft video:

 
Last edited:
Wild guns is a great game looking forward to this.  So the screen will scroll down like space harrier or them alternate stages on contra.
 
As a fan of the arcade game "Blood Bros." (Sort of a spiritual sequel to "Cabal"), i love these kind of "Wild Guns" style of games. This is an awesome idea!!Nice use of the openbor engine ;D congrats.
I know the engine has been used ot make other genre of games such as "Run 'N Gun" or "Platforming" style games, but as a fan of rail-shooters (the kind you used to play at the arcade with a light gun), and the wild guns/cabal game genre, this seems kind of a particularly awesome breakthrough in openbor coding to me personally because it could open up the posibility of new games in this underrated genre in the future ;D
I commend you on your novel idea and execution of it and wish you all the best. Definitely a breath of fresh air as far as OpenBOR game styles go!
 
Thanks guys, I really appreciate the support!

First video is out. I've swapped out the textures, added a couple of layers in the background, and get icons in HUD working like I want them. The hearts and stars represent HP and MP, and as you can see they gradually shrink away as the resource is consumed. I'll probably add some decorative animations to them later on too.

I now see one problem with standard definition - recording quality SUCKS. Oh well, you can still see things coming together I hope. Next step is to animate Lucia, get the targeting reticle working, and add some dudes to for her to kill. I'll worry about adding the other playable characters and dressing up the stage later on.


DC
 
I had something similar in my mind some years ago, and many other games type concepts.
But my non knowledge of advanced coding always stop me from making or even trying it.
(Driving games, music composer game/beat box, punch out like, infiltration/stealth/ninja stuff...)

Anyway, I'm glad to see such a try/test can be done.


There will be an interaction with the "ground" ? Some obstacles comming in Z axis?
 
Impressive work, DC! I know the flat image is easy to code with bglayer/fglayer and such, but do you know how to do it with non-flat images? This is the only one with parallax I know but unfortunately, I cannot see any image examples from there or they are removed. Maybe O Ilusionista knows what I'm talking about. The use of delta for non-flat images.
 

Attachments

  • dhalsim.pcx00010000.png
    dhalsim.pcx00010000.png
    7.9 KB · Views: 7
maxman,

The technique used in Luica's Run is not the same as the no script layer stacking I demonstrated in Fatal Fury. Lucia's Run uses script controled screens. It's compatible with any texture and doesn't require breaking the texture into pieces. The sky and ground are each one layer.

DC
 
After seeing how crappy recordings of standard res look, and wanting just a little more screen real estate for the HUD, I'm considering going back to 480*272 widescreen. Here's a quick recording - I haven't made any adjustments to accommodate the bigger screen yet, just wanted to see what it looked like and maybe get some opinions. It also gives you a clue how the 3D effect is working - you can see the sky layer as it looks before scripted screen displays it with affine transformation. The floor works same way, you just can't see it because the non-transformed version is one Z step behind sky.


DC
 
Last edited:
Thats cool, id definitely would want to try that mickey running sequence or lion king  with that pseudo 3d racing.
 
msmalik681, bWWd, Toranks, sorry, I missed these questions:

msmalik681 said:
Wild guns is a great game looking forward to this.  So the screen will scroll down like space harrier or them alternate stages on contra.

I'd kind of like to include some side scrolling stages, but if I did, they would be beat up' stages rather than run and gun. For the moment I only have plans for rail shooting. Since you are moving into the screen like Space Harrier, but on the ground running/jumping like in Wild Guns/GI-Joe, I'll be able to add in platforming elements just like side scrollers (except coming toward you in 3D of course). Hopefully that will keep game play from getting too monotonous.

If the screen can rotate left and right as on Space Harrier, I want to know how!

Not sure what you mean, Space Harrier doesn't ever rotate - the Super Scaler hardware wasn't capable of full screen rotation, that came later with Afterburner on the X-board.  If you mean the ability to scroll the screen left and right, yes, I already have that - it's shown in the demo video.

If you mean Afterburner type full screen rotation, OpenBOR can easily do that, but for this particular game it would only be part of certain spell effects and such. It won't be integral to the the game like a barrel roll in Afterburner because you are running and jumping into the screen, not flying. Characters have an evasive left/right maneuver, but even in single player mode I just think it would look silly to rotate the entire screen every time someone did a cartwheel. I can't even image how ridiculous it would be in mutiplayer.

Thats cool, id definitely would want to try that mickey running sequence or lion king  with that pseudo 3d racing.

Thanks! For what you are talking about, my technique probably isn't necessary though. I've never seen Lion king, but I know the Mickey Mania chase scene was done with palette rotation only. Worth a try if you don't want to mess with the screen scripting.

DC
 
Not sure what you mean, Space Harrier doesn't ever rotate - the Super Scaler hardware wasn't capable of full screen rotation, that came later with Afterburner on the X-board.  If you mean the ability to scroll the screen left and right, yes, I already have that - it's shown in the demo video.

If you mean Afterburner type full screen rotation, OpenBOR can easily do that, but for this particular game it would only be part of certain spell effects and such. It won't be integral to the the game like a barrel roll in Afterburner because you are running and jumping into the screen, not flying. Characters have an evasive left/right maneuver, but even in single player mode I just think it would look silly to rotate the entire screen every time someone did a cartwheel. I can't even image how ridiculous it would be in mutiplayer.

In your demonstration the screen does not go left and right, it is static, what moves is only the background to forward.
I would like to know how to do it, and if can progressively change the background as you go forward, as if it were a road, or a landscape. In your demo it is always green and looks the same all the way.
 
Toranks said:
...In your demonstration the screen does not go left and right, it is static, what moves is only the background to forward.

Uhm, yes it does. Look again at the first video. It's a little hard to see because of recording quality, but the background scrolls left/right whenever the character sidesteps far enough. There are in fact four layers (ground, two layers of background hills, and the sky), and all of them have horizontal scrolling. You can only scroll 80 pixels in either direction, but that's a design choice.


I would like to know how to do it, and if can progressively change the background as you go forward, as if it were a road, or a landscape..

You just do. The single landscape I'm using is also a design choice (and the fact I haven't had time to edit in more scenery yet), not a technical limitation. If you want more variety you just add more the same as you would in a side scrolling orientation. The 3D effect is achieved through the use of scripted screens and has nothing to do with the scenery itself. It's the same principal as the zoom effect a lot of modules have, and the script is quite similar. The only difference is instead of one huge screen that displays every in game object at double size, I'm using multiple screens that each display one of the layers with shearing transformation. Something not seen yet but coming soon is hills and valleys. That requires use of a Bezier curve algorithm, that I just got going about an hour ago.

Code:
result = pow(1 - tangent, 2) * point_a + 2 * (1 - tangent) * tangent * point_b + pow(tangent, 2) * point_c;

DC
 
As mentioned, here's the next step - generating Bezier curves with De Casteljau’s algorithm in OpenBOR Script. Once implemented to control the screens, these will allow for some pretty sweet pseudo 3D terrain with minimal resource use. I also fixed the music whine and updated the HUD just a touch. The stars and hearts now fade to black one by one instead of shrinking.


Here's the formula for anyone interested.

C:
result = pow(1 - tangent, 2) * point_a + 2 * (1 - tangent) * tangent * point_b + pow(tangent, 2) * point_c;

DC
 
Last edited:
Wow that's great, I would be telling lies if I said that openbor is only for creating beatem up games. That 3d background looks great !!!! Good work Damon Caskey  ;D
 
Back
Top Bottom