Thread Rating:
  • 2 Vote(s) - 3 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[remake] Little Fighter Reloaded
#1
Introduction
This is not a mod.
This is not a serious project.
And will probably not be finished.

I am just doing this to train up my programming skills.
Why lf2 reboot? Cause I have to train on something. Lf has tons of usable stuff and is pretty simple.
Also you all love to peek at this kind of things.

What about my other stuff? Lf2 is abandonned by me. I am programming my game in the background (the engine is pretty much done, there is just much much raw data to implement, so no big fun to code).


What is this thing?
Basiaclly it's a simple lf2 reboot.
I was having tons of ideas in which way should it go.
Rpg, mmorpg, mmo fighting arena? mobalike?
I can handle that netcode, but I'm not sure if there could be a working server going on. But anyway first of all I need to code everything up properly, to make it playable.




Preview
For now, you need to look at the single screenshot (haha)[Image: 10ii3wp.png]
Click for full size



What does it do?
For now:
• It loads external data, same as lf2 (it's moddable!), but in .txt format.
• Can use png/bmp (although i'm having a little bitmap loading engine problem, so using png is recommended)
• Basic character control (movement, using abilites),
• Showing hitboxes (bdy/itr)Why even post in that state?
Cause I know you like any of these.

Also I need your help.
As I want the remake to work entirely with the previous data (even user-created) I need to code up everything properly.
I am not a great DC mastah, so I don't know much thing and how do they work.


What's new?
I am planning to add some things. Not sure which are really needed, but here we go:
• press_a, press_d, press_j, press_Fa.... so, if the player is holding a button at the end of frame it will redirect to the specific frame instead of "next" declared. (usable for charging spells)
• using opoint, mp tags in the every called frame (doesnt have to be called by 'next')
• heal: tag - heal object directly after loading a frame
• at_landing: tag - similiar to state 100, but will just go to the at_landing frame at landing
• Time control (Slowmo!!)
• gravity/friction control
• Random cords (so character can spawn things randomly)
• Declaring walkcycles, runcycles (so you can do more than 3 frames per animation!)
• Loading png files with dynamic alpha
• Better shadows ;D
• Simplified transformations
• New types of weapons?
• Debug mode (showing hitboxes)
• More control over chasing balls
• More than 30 fps...



YOUR HELP
In the first step I need to know how to work with damage detection.
It's not that simple as it looks.

I know it has various configurations.
1. How does bdefend, fall, vrest and effect work exactly. What does effect 4 do?
2. Itr kinds? Which for what and how?
3. How does the lf2 know if the object was already hit in the sequence? I know that if you put an itr in few frames in a row it will sometimes only hit enemy once, even if he is in range of every itr (the first one in range only). How it's detected and how does it reset to make a combo? I have some suspicions, but that's not enough.
4. What else would you like to implement into lf2?[/b][/b]
Reply
Thanks given by:
#2
(05-19-2015, 05:02 PM)Gad Wrote:  Introduction
This is not a mod.
This is not a serious project.
And will probably not be finished
That's a big letdown.

(05-19-2015, 05:02 PM)Gad Wrote:  [size=medium]YOUR HELP
In the first step I need to know how to work with damage detection.
It's not that simple as it looks.

I know it has various configurations.
1. How does bdefend, fall, vrest and effect work exactly. What does effect 4 do?
2. Itr kinds? Which for what and how?
3. How does the lf2 know if the object was already hit in the sequence? I know that if you put an itr in few frames in a row it will sometimes only hit enemy once, even if he is in range of every itr (the first one in range only). How it's detected and how does it reset to make a combo? I have some suspicions, but that's not enough.
4. What else would you like to implement into lf2?[/b][/b]
1-Generally:
-bdefend are points that accumulate when you're hit defending and regenerates with time. It decides if your defend has been broken or penetrated.
-fall same as above, but has to do with going to the dance of pain or to the falling frames.
-vrest: some "cool-down" timer to control the "frequency" or how often an itr will hit.
-effect: certain flags that switches on and off certain properties. Here is a list of all: http://lf-empire.de/en/lf2-empire/data-c...81-effects

2-http://lf-empire.de/lf2-empire/data-changing/frame-elements/174-itr-interaction?showall=&limitstart=
3-Relates to Vrest and a counter variable. And LF2 object stores the on-screen id of the object that last hit it, and a cool-down timer variable that stores the vrest/arest of the itr that last hit it. When another itr tries to hit that object, it won't hit if the attacker is stored in its last_hit_by variable and if the vrest timer is still not zero. Otherwise, it will hit, and the timer will reset and all.
[Image: signature.png]
A-Engine: A new beat em up game engine inspired by LF2. Coming soon

A-Engine Dev Blog - Update #8: Timeout

Reply
Thanks given by: Gad , Hate
#3
Thank you very very much.

And arest works the same as vrest, but it has to be same victim as previous?
Reply
Thanks given by:
#4
"arest" means attacker rest. You can only hit 1 person because you need to rest.
"vrest" means victim rest. You can hit more than 1 person, but you don't hit the same person twice because the person needs to rest.
[Image: uMSShyX.png]
~Spy_The_Man1993~
Steiner v3.00 (outdated), Challenge Stage v1.51
Luigi's Easier Data-Editor, A-Man's Sprite Mirrorer
Working on the LF2 Rebalance mod.
Avatar styled by: prince_freeza
Reply
Thanks given by: Gad
#5
Right. But here is how it works:
arest has a cool-down timer too, but instead of saying "if last_hit_by != attacker_id || v_cooldown_timer == 0" within the the victim's code, you say, in the attacker's object code "if last_hit != victim_id || a_cooldown_timer == 0". So the difference mainly is in whether you want the attack to cool down from the attacker's scope or the victim's.

Edit: One very important thing you need to be concerned with to mimic LF2's gameplay is the hit-lag. I do not know the values used in LF2, but Dragon5 would be your man with that. Also, if you're planning to work with something other than 30 FPS, then lots would change if you're not careful. The conversion of certain values and constants aren't all linear. For instance, gravity (or any value that has to do with acceleration) changes with a factor of (x^2)/2 instead.
[Image: signature.png]
A-Engine: A new beat em up game engine inspired by LF2. Coming soon

A-Engine Dev Blog - Update #8: Timeout

Reply
Thanks given by: Gad
#6
I am willing to do more than 30 fps. All the freaking acceleration/movement values are in need of specific customization.
It looks waaay more fluent this way (it is more fluent lol). The game looks more dynamic. But I will have to adjust every freaking detail there ;D.
Reply
Thanks given by:
#7
If you're training your programming skills why not change up some things and design it yourself.
You don't have to mimic LF2 exactly. You can make some changes here and there and that way it also helps with your design skills for video games :)

Unless you're secondary goal after working on your programming skills is to make a near perfect clone of lf2. Then that is a different story.
Reply
Thanks given by: A-Man
#8
I just use all lf2 data and I don't want to reproduce it. Would take too much time. That's why I need to set most things the same, to make it compatibile with all custom addons for lf2. I'm not sure how to set vrest configuration properly, to make it look good enough.
Reply
Thanks given by:
#9
Impressive ✔
New Member Just Joined "2017"
Reply
Thanks given by:
#10
vrest and arest are simply timer-operated functions. On a successful hit, the specified rest value is referenced. After so many frames (or TUs in LF2), another hit is possible. Vrest applies the timer to the victim while Arest applies the timer to the attacker. If a rest value is extremely short, the attack can hit multiple times (Locking someone is even possible). If it's too long the player will not be able to hit anybody.
Rest values do apply to hitlag. When contact is made, three frames of pause is created: one when contact is made, and two more that "freeze" the action. This is common in many kinds of games including Streets of Rage 2 and Street Fighter II. When blocking, the defender faces five frames of lag (four frames of pause after contact.)

Edit: Anybody knows the default property for a rest if it's unassigned? I know LF2 applies one.
To live a life of power, you must have faith that what you believe is right, even if others tell you you're wrong.
The first thing you must do to live a life of power is to find courage. You must reach beyond the boundaries of time itself.
And to do that, all you need is the will to take that first step...
Ask not what others can do for you, but what you can do for others.
Reply
Thanks given by: A-Man




Users browsing this thread: 1 Guest(s)