Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
LF2 GM Progress Thread
#71
sorry... i dont quite get the difference :p
right now it would look like this:

Code:
0 = \data\template.ini
1 = \data\davis.ini
2 = \data\dennis.ini

edit: ninjad by a-man :p

i think i need to explain how game maker works:

you have a resource tree with all objects, sprites, sounds etc stored:

[Image: cptdfbfk03gdgvkmi.png]

it is possible to add and assign new sprites and sounds, but not objects.

edit: im a bid idiot... i cannot change variables of objects that do not exist yet in the game <.< means ill actually only need one object that will load the id related data that has been importet from the ini.
that may need too much processing power though... ugh.

what i mean is: player spawns object with ball id -> object reads all data from the ball id -> object becomes ball.

maybe i could optimize this a little by only loading the needed variables in the first frame. ill really have to see about that...


eydeyt:
thanks to someone else i (finally) have a clear plan of how to load the data/ini files. but there will be a tag limit per frame, sorry. curses! no 3d arrays in gml
Reply
Thanks given by:
#72
due to the way game maker studio handles imported files, i may have to make loading screens before each fight/stage etc to prevent memory overloads.

also, game maker studio has no available function to get the .exe folder. instead youll have to add content in the local appdata, similar to modding minecraft (at least how it was in the old days).

and i will include the original game content (sounds, images etc) in the exe since that way i can handle the memory usage better.

just as a small heads-up
Reply
Thanks given by:
#73
(07-09-2014, 08:59 PM)Bamboori Wrote:  due to the way game maker studio handles imported files, i may have to make loading screens before each fight/stage etc to prevent memory overloads.
Eeh? You made it sound like a bad thing, but I think that is actually an advantage.
[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:
#74
well the problem is that game maker seems to create a new textuure for each imported sprite. It may not be that much of an advantage, but the loading screen will check which external sources are needed and then load them into the memory, and after a fight those sprites will be cleared from memory.

i guess :P
Reply
Thanks given by:
#75
so this is the first design of the .ini files that will contain the dc:
template.ini
Code:
[header]
type=0
included=true
locked=false
random=false

name = Template
head = template_face
file = template_sprites

walking_speed = 4
walking_speedz = 2
running_speed = 8
running_speedz = 1.25
heavy_walking_speed = 3
heavy_walking_speedz = 1.5
heavy_running_speed = 5
heavy_running_speedz = 0.75
jump_height = -17.3
jump_distance = 8
jump_distancez = 3
dash_height = -12
dash_distance = 15
dash_distancez = 3.75
rowing_height = -3
rowing_distance = 5

defense=1
armour_hp=0
armour_level=1
armour_recharge_rate=1
armour_kind=0
armour_sound=0
hit_sound=snd_001
weight=1

[0]
pic=0
state=0
wait=3
centerx=39
centery=79

wp_x=33
wp_y=45
wp_act=21

bdy_count=1

bdy1_x=21
bdy1_y=18
bdy1_w=43
bdy1_h=62

[1]
pic=1
centerx=38
wp_y=47

[2]
pic=2
wp_x=32
wp_y=45

[3]
pic=3
next=0
wp_y=44

since the next tag is the current frame number+1 by default, and all tags that are not changed are copied from the previous frames, the amount of needed tags decreases drastically in follow-up frames.

i dont recommend you to code any characters yet, though.
i still need to plan out a lot of tags and how they will work.

now for some explanation:
included defines whether the image data gets loaded from the internal memory (only for standard characters) or from an external source.
on that note, im not sure yet whether ill include the standard sounds in the .exe or not. ill have to fiddle a little with that to find out whats the best.
locked defines whether the character is selectable by default. this can be changed through events in the game, probably even throughout moves from characters.
random defines whether or not the character will be put into the pool for random selection.

now for the interesting tags :p

defense is similar to the battle mode defense. the actual damage a character gets from an itr is itr_damage divided by defense.
armour_hp is the maximum hp of the armour.
armour_level is the defense value to be used when the armour is active.
armour_recharge_rate is the rate per frame how much hp the armour regenerates.
armour_kind defines the kind of armour. 0 means no armour, 1 means light armour (no fire/ice protection), 2 means strong armour (protection from fire/ice)
armour_sound is the sound played when the armour is hit.
hit_sound is the sound played when the character is hit. im not sure whether ill leave this tag in since originally there are quite a few sounds that can possibly be played (blood effect, normal hit, strong hit). maybe ill add a tag for each of these sounds, in that case though ill put in some defaults (same goes for armour btw).
weight defines the weight of the character. lf2 has a gravity force of 1.7, so the weight x 1.7 is the force pulling the character down if in air.

btw: im trying my best to document every aspect of the game, for training and for easier understanding of how to make content for the game :)
Reply
Thanks given by: A-Man
#76
(07-23-2014, 01:30 PM)Bamboori Wrote:  weight defines the weight of the character. lf2 has a gravity force of 1.7, so the weight x 1.7 is the force pulling the character down if in air.
But the gravitational acceleration has got nothing to do with an object's mass; all objects, irrespective of their masses/weights, should fall at the same rate/acceleration.
That is better renamed "inertia" or something like that if you don't want stuff to sound too scientific. That can be the character's resistance to the change in velocity; ie: a character with more inertia fly less high when knocked and vice versa.

Edit: Also don't you think it would be better if you make the armor frame specific? Maybe add these tags to the bdy frame component.
[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:
#77
oh woops, forgot to post that here :p

(07-23-2014, 11:57 AM)Bamboori Wrote:  and for each frame you can specify if the armour is present or not (also possible combined with condition, so that means you can make a put-on-armour move for a char)
i think the bdefend being the value decreasing the armour hp makes the most sense. what do you think?

so inertia instead of weight? sure thing! i think though this will suffice for weight related coding, ie a heavy character like mark or monk would have less inertia than rudolf or jan.
Reply
Thanks given by: A-Man
#78
(07-23-2014, 02:01 PM)A-MAN Wrote:  
(07-23-2014, 01:30 PM)Bamboori Wrote:  weight defines the weight of the character. lf2 has a gravity force of 1.7, so the weight x 1.7 is the force pulling the character down if in air.
But the gravitational acceleration has got nothing to do with an object's mass; all objects, irrespective of their masses/weights, should fall at the same rate/acceleration.
WAIT WHAT? ...//doing research///...
OMG THANKS FOR POINTING THAT OUT.
I got confused firstly, but then I realized we're not talking about gravity, but about an action of free falling. Ofcourse you're right... I implemented the weight values in my game too, but looks like for no reason, haha.
I think I still can use the weight for the friction and speed slowing counter. - You could use that up too, bamb. (For example, when body's sliding on ground after being knocked) or you can use weight for heavy characters, so other have less power to knock them up in the air

+ you could use something like gravity and friction multipler in the point of creating stage/background/map/level, this could be kinda uselful - levels with ice, moon-based (low gravity) levels
Reply
Thanks given by: Bamboori




Users browsing this thread: 1 Guest(s)