Edit:
Screenshots!


It seems as though as much as I enjoy adding things to my game, the more spiteful I get to the individual pieces of code because I'm constantly leaving them unfinished to start on something else.So far, I have the following:A basic cutscene handler (The test cutscene initiates a battle)Text engine with colors and effects (<3 Juju)Moving around game worldEnemy database frameworkVery, very, very basic enemy AI (Follows you and tries to attack)Pause menu, displays detailed information for leader and basic information for friendsSkill trees are in place, you can't yet learn from them thoughEnemies can die, and they give you EXP and everything (Their dying animation even has them flying back and stuff on a Z axis!)Sprite sheets for three charactersAttack scripts for twoInteraction handling for when you press the attack button on the overworld (but no indication of what you can interact with, I should add that to match Dueplin :V )The HUD works, number effects workYou can block enemy attacks (But if you're facing the wrong way it won't work!)I'm going to be working on the following soon:InventoryEquipmentLearning skillsUsing skillsCustomizable command decks (See below)More advanced and flexible enemy AIQuestion functionality in textboxesGun weaponry actually functioning like guns and not like swordsBeing able to die and being prompted to switch characters when it happensThe battle pause menu (opposed to the world pause menu)The command decks are basically where you're going to keep the character's skills any appointed items for use in battle.I would probably add, like, potions, status effect items, and Almighty Fire Blast Of Motherfuckin' Death to it, and use the C button to navigate it and to use whatever in it is selected.I'm doing this opposed to scrolling the list of magic spells available to your character, to emphasize "strategy" and to legitimize the use of items in battle.Debating with self about what size this should be. You only learn ten spells each, and there's a whole mess of useful items that you can use.Perhaps six slots.And I think that's about it!If I come up with more, then I'll save it for another blog.
Updated actually with screenshots this time :V
This sort of thing might work well with a skeletal animation system.
I'm not going to the hassle of animating the character's limbs like I did in that animation engine :V
Information about object: object0 Sprite: <no sprite> Solid: false Visible: true Depth: 0 Persistent: false Parent: <no parent> Mask: <same as sprite> Create Event: execute code: accel = 0.2 go1 = 0 go2 = 0 //Individual parts: // Head, arms, legs, hands, feet // Head rotation, head angle, head scaling //// Head subparts: Eyebrows, eyes, mouth ////// Eyebrow height, eyebrow scaling ////// Eye position, blinking (yes/no), eye scaling ////// Mouth position, mouth type // Arm rotation, scaling, angle // Forearm rotation, scaling, angle // Hand type, rotation, scaling, angle // Leg rotation, scaling, angle // Foreleg rotation, scaling, angle inc = 0 global.body_angle = 1 // 0 = Profile // 1 = 3/4 // 2 = Head on // 3 = 3/4 (backside) // 4 = Away global.all_body_scaling = 1 //All scale values multiplied by this //All distance values multiplied by this as well as individual scales global.all_body_rotation = 0 global.head_pos_x = 0 global.head_pos_y = 0 global.head_scaling = 1 global.head_rotation = 0 global.eye_type = 1 global.eye_pos_x = 0 global.eye_pos_y = 0 global.eye_scaling = 1 global.eyebrow_type = 1 global.eyebrow_pos_x = 0 global.eyebrow_pos_y = 0 global.eyebrow_scaling = 1 global.arm_length = 61 global.left_arm_pos_x = 0 global.left_arm_pos_y = 0 global.left_arm_rotation = 0 global.left_arm_scaling = 1 global.right_arm_pos_x = 0 global.right_arm_pos_y = 0 global.right_arm_rotation = 0 global.right_arm_scaling = 1 global.left_forearm_pos_x = 0 global.left_forearm_pos_y = 0 global.left_forearm_rotation = 0 global.left_forearm_scaling = 1 global.right_forearm_pos_x = 0 global.right_forearm_pos_y = 0 global.right_forearm_rotation = 0 global.right_forearm_scaling = 1 global.left_hand_type = 1 global.left_hand_pos_x = 0 global.left_hand_pos_y = 0 global.left_hand_rotation = 0 global.left_hand_scaling = 1 global.right_hand_type = 1 global.right_hand_pos_x = 0 global.right_hand_pos_y = 0 global.right_hand_rotation = 0 global.right_hand_scaling = 1 global.leg_length = 61 global.left_leg_pos_x = 0 global.left_leg_pos_y = 0 global.left_leg_rotation = 0 global.left_leg_scaling = 1 global.right_leg_pos_x = 0 global.right_leg_pos_y = 0 global.right_leg_rotation = 0 global.right_leg_scaling = 1 global.left_foreleg_pos_x = 0 global.left_foreleg_pos_y = 0 global.left_foreleg_rotation = 20 global.left_foreleg_scaling = 1 global.right_foreleg_pos_x = 0 global.right_foreleg_pos_y = 0 global.right_foreleg_rotation = 20 global.right_foreleg_scaling = 1 global.left_foot_pos_x = 0 global.left_foot_pos_y = 0 global.left_foot_rotation = 0 global.left_foot_scaling = 1 global.right_foot_pos_x = 0 global.right_foot_pos_y = 0 global.right_foot_rotation = 0 global.right_foot_scaling = 1 Step Event: execute code: inc += accel if x < -100 x = 800 if go1 = true { global.all_body_scaling = 1+0.8*sin(inc) global.left_leg_rotation = 30+30*sin(inc) global.right_leg_rotation = -30-30*sin(inc) global.left_arm_rotation = 30+30*sin(inc) global.right_arm_rotation = -30-30*sin(inc) } if go2 = true { global.all_body_rotation += 3 global.left_arm_scaling = 1+sin(inc) global.right_arm_scaling = 1+sin(inc) global.head_pos_x = 40*sin(inc) global.head_pos_y = 40*cos(inc) } Draw Event: execute code: //////////////////////Right arm incx = x + global.right_arm_pos_x + ((global.all_body_scaling * 30.4) * cos(degtorad(global.all_body_rotation-(pi/2))+2.22)) incy = y + global.right_arm_pos_y - ((global.all_body_scaling * 30.4) * sin(degtorad(global.all_body_rotation-(pi/2))+2.22)) draw_sprite_ext(arm,-1,incx,incy,global.all_body_scaling*global.right_arm_scaling,global.all_body_scaling*global.right_arm_scaling,global.all_body_rotation+global.right_arm_rotation,c_white,1) draw_text(incx,incy,"RA") offx = ((global.all_body_scaling * global.right_arm_scaling * global.arm_length) * cos(degtorad(global.all_body_rotation+global.right_arm_rotation)-(pi/2))) offy = ((global.all_body_scaling * global.right_arm_scaling * global.arm_length) * sin(degtorad(global.all_body_rotation+global.right_arm_rotation)-(pi/2))) incx = incx + global.right_forearm_pos_x + offx incy = incy + global.right_forearm_pos_y - offy draw_sprite_ext(forearm_or_leg,-1,incx,incy,global.all_body_scaling*global.right_forearm_scaling,global.all_body_scaling*global.right_forearm_scaling,global.all_body_rotation+global.right_arm_rotation+global.right_forearm_rotation,c_white,1) draw_text(incx,incy,"RFA") //Right hand ////////////////////Right leg incx = x + global.right_leg_pos_x + ((global.all_body_scaling * 37.4) * cos(degtorad(global.all_body_rotation-(pi/2))+4.46)) incy = y + global.right_leg_pos_y - ((global.all_body_scaling * 37.4) * sin(degtorad(global.all_body_rotation-(pi/2))+4.46)) draw_sprite_ext(forearm_or_leg,-1,incx,incy,global.all_body_scaling*global.right_leg_scaling,global.all_body_scaling*global.right_leg_scaling,global.all_body_rotation+global.right_leg_rotation,c_white,1) draw_text(incx,incy,"RL") offx = ((global.all_body_scaling * global.right_leg_scaling * global.leg_length) * cos(degtorad(global.all_body_rotation+global.right_leg_rotation)-(pi/2))) offy = ((global.all_body_scaling * global.right_leg_scaling * global.leg_length) * sin(degtorad(global.all_body_rotation+global.right_leg_rotation)-(pi/2))) incx = incx + global.right_foreleg_pos_x + offx incy = incy + global.right_foreleg_pos_y - offy draw_sprite_ext(forearm_or_leg,-1,incx,incy,global.all_body_scaling*global.right_foreleg_scaling,global.all_body_scaling*global.right_foreleg_scaling,global.all_body_rotation+global.right_leg_rotation+global.right_foreleg_rotation,c_white,1) draw_text(incx,incy,"RFL") ///////////////////Right foot offx = ((global.all_body_scaling * global.right_foreleg_scaling * global.leg_length) * cos(degtorad(global.all_body_rotation+global.right_leg_rotation+global.right_foreleg_rotation)-(pi/2))) offy = ((global.all_body_scaling * global.right_foreleg_scaling * global.leg_length) * sin(degtorad(global.all_body_rotation+global.right_leg_rotation+global.right_foreleg_rotation)-(pi/2))) incx = incx + global.right_foot_pos_x + offx incy = incy + global.right_foot_pos_y - offy draw_sprite_ext(foot,-1,incx,incy,global.all_body_scaling*global.right_foot_scaling,global.all_body_scaling*global.right_foot_scaling,global.all_body_rotation+global.right_leg_rotation+global.right_foreleg_rotation+global.right_foot_rotation,c_white,1) draw_text(incx,incy,"RF") ////////////////////Body draw_sprite_ext(body,-1,x,y,global.all_body_scaling,global.all_body_scaling,global.all_body_rotation,c_white,1); draw_text(x,y,"Body") ////////////////////Head incx = x + global.head_pos_x + ((global.all_body_scaling * 32) * cos(degtorad(global.all_body_rotation-(pi/2))+1.57)) incy = y + global.head_pos_y - ((global.all_body_scaling * 32) * sin(degtorad(global.all_body_rotation-(pi/2))+1.57)) draw_sprite_ext(head,-1,incx,incy,global.all_body_scaling*global.head_scaling,global.all_body_scaling*global.head_scaling,global.all_body_rotation+global.head_rotation,c_white,1); ////////////////////Left Leg incx = x + global.left_leg_pos_x + ((global.all_body_scaling * 37.4) * cos(degtorad(global.all_body_rotation-(pi/2))+4.94)) incy = y + global.left_leg_pos_y - ((global.all_body_scaling * 37.4) * sin(degtorad(global.all_body_rotation-(pi/2))+4.94)) draw_sprite_ext(forearm_or_leg,-1,incx,incy,global.all_body_scaling*global.left_leg_scaling,global.all_body_scaling*global.left_leg_scaling,global.all_body_rotation+global.left_leg_rotation,c_white,1) draw_text(incx,incy,"LL") offx = ((global.all_body_scaling * global.left_leg_scaling * global.leg_length) * cos(degtorad(global.all_body_rotation+global.left_leg_rotation)-(pi/2))) offy = ((global.all_body_scaling * global.left_leg_scaling * global.leg_length) * sin(degtorad(global.all_body_rotation+global.left_leg_rotation)-(pi/2))) incx = incx + global.left_foreleg_pos_x + offx incy = incy + global.left_foreleg_pos_y - offy draw_sprite_ext(forearm_or_leg,-1,incx,incy,global.all_body_scaling*global.left_foreleg_scaling,global.all_body_scaling*global.left_foreleg_scaling,global.all_body_rotation+global.left_leg_rotation+global.left_foreleg_rotation,c_white,1) draw_text(incx,incy,"LFL") ////////////////////Left foot offx = ((global.all_body_scaling * global.left_foreleg_scaling * global.leg_length) * cos(degtorad(global.all_body_rotation+global.left_leg_rotation+global.left_foreleg_rotation)-(pi/2))) offy = ((global.all_body_scaling * global.left_foreleg_scaling * global.leg_length) * sin(degtorad(global.all_body_rotation+global.left_leg_rotation+global.left_foreleg_rotation)-(pi/2))) incx = incx + global.left_foot_pos_x + offx incy = incy + global.left_foot_pos_y - offy draw_sprite_ext(foot,-1,incx,incy,global.all_body_scaling*global.left_foot_scaling,global.all_body_scaling*global.left_foot_scaling,global.all_body_rotation+global.left_leg_rotation+global.left_foreleg_rotation+global.left_foot_rotation,c_white,1) draw_text(incx,incy,"LF") /////////////////////Left arm incx = x + global.left_arm_pos_x + ((global.all_body_scaling * 30.4) * cos(degtorad(global.all_body_rotation-(pi/2))+0.91)) incy = y + global.left_arm_pos_y - ((global.all_body_scaling * 30.4) * sin(degtorad(global.all_body_rotation-(pi/2))+0.91)) draw_sprite_ext(arm,-1,incx,incy,global.all_body_scaling*global.left_arm_scaling,global.all_body_scaling*global.left_arm_scaling,global.all_body_rotation+global.left_arm_rotation,c_white,1) draw_text(incx,incy,"LA") offx = ((global.all_body_scaling * global.left_arm_scaling * global.arm_length) * cos(degtorad(global.all_body_rotation+global.left_arm_rotation)-(pi/2))) offy = ((global.all_body_scaling * global.left_arm_scaling * global.arm_length) * sin(degtorad(global.all_body_rotation+global.left_arm_rotation)-(pi/2))) incx = incx + global.left_forearm_pos_x + offx incy = incy + global.left_forearm_pos_y - offy draw_sprite_ext(forearm_or_leg,-1,incx,incy,global.all_body_scaling*global.left_forearm_scaling,global.all_body_scaling*global.left_forearm_scaling,global.all_body_rotation+global.left_arm_rotation+global.left_forearm_rotation,c_white,1) draw_text(incx,incy,"LFA") Key Press Event for <Space> Key: execute code: str = get_string("Input code",""); execute_string(str);Christ, that is large.
you should post your code in pastebin or something.Game looks good so far, I'm getting pessimistic about my entry.My thoughts are with you and your family as you even try to animate that.
Your characters look amazing though :DI don't even think I'll be animating mine (in the battle room anyhow), and they're only 18x24. I don't want to guess what size you're working at.Good luck with your code though.Wow, that's a lot of hard coding. Hope you don't ever want to change anything…
Harrk, I'm making the graphics, and they're 192x192-ish.
Oh, lol. Guessing you're working as a team on this? Either way, good luck on it.