Jump to content

Let's play pin the tail on Wark the Chocobo!


Recommended Posts

1419900426.spotteh_wark.png

 

Ok, So this is my third time typing this up because of browser crashes. I hope I can remember everything I wanted to say!

 

So I am using Dleowolf's Sample Character mod for DST to create a chocobo playable character. Right now I am trying to get it graphically implemented before I work on traiting her out. I have completed 90% of the art assets, with only a few lesser important things to design. I plan on giving her a graphical update before DST updates, but that isn't important right now.

 

1419911659.spotteh_untitled.png

 

The above image isn't really indicative of any edits to the build.bin or anim.bin files, as they are just the art layers tessalated into place in Spriter. What this does do is provide a close representation of what I want the current sprite to look like in game. I really do not know how to get it to look like this though, but I am guessing it means I need to edit the anim.bin and build.bin files?

 

At this point, I should point out that I really started this mod on Friday, and so I really have only been working on it for a few day. In this span all I have really done is followed Dleo's tutorial and worked on art.

 

The thing that is holding my back is the tail; Dleo's tail is like a cat's, it is long and thin and the tail is segmented. Wark's tail consists of 3 (profile) or 5 (frontal or back) feathers arranged in a fan. In the above image, I just swapped out the tail textures and arranged them thusly, so again, it isn't actual progress.

  1. I'd like to know how to move the textures around and how to bind them to the other textures.
  2. How to move them forwards and backwards along the z axis.
  3. How to make sure they have a decent looking walking animation.

 

After that I would like to do the traits. Largely I like Don't Starve being hard, and as such I really want the character to be balanced or maybe even stacked against the character. So I put a lot of thought into the traits and how they would work. They can be summed up as:

 

Herbivorous.

Walks Fast.

Moults in summer.

 

Despite the amount of time I have spent staring at tutorials the whole "component" system is escaping my grasp. How do I implement them? What code do I use to make a character eat vegetables? I have seen posters suggest using the code from "Winnie" but their answers were usually less then ten words, but I do intend to ask around some more on how.

 

The speed boost is supposed to be simple, yes? I am not sure how to do it at all.

 

Finally the moulting thing is probably the hardest? I just want the character to spawn in 3-5 random feathers at the start of summer in DST, and while there could be more embellishments; that is probably the simplest way I can describe it.

 

If any of you can help me out here and give me some guidance, that would be super awesome, thank you!

Link to comment
Share on other sites

Herbivorous. Walks Fast. Moults in summer.
local MakePlayerCharacter = require "prefabs/player_common"local assets = {    Asset("ANIM", "anim/wark.zip"),	Asset("SOUND", "sound/wark.fsb"), -- remove this if you're using willow sounds		Asset("ANIM", "anim/ghost_wark_build.zip"),}local prefabs = {	-- probably don't need anything here, maybe feathers?}local start_inv = {	-- might not need any}local function common_postinit(inst)	inst.soundsname = "willow" -- or remove this if you're adding wark sounds    inst:AddTag("ghostwithhat") -- remove if your ghost has no hatendlocal function SetSpeed(inst)	inst.locomotor.walkspeed = TUNING.WILSON_WALK_SPEED + 0 -- 4, increase the 0 how much you want	inst.locomotor.runspeed = TUNING.WILSON_RUN_SPEED + 0 -- 6, increase the 0 how much you wantendlocal function DropFeather(inst)	-- use feather_robin for red feather, feather_crow for black feather	local feather = SpawnPrefab("feather_robin_winter")	local pos = inst:GetPosition()	feather.Transform:SetPosition(pos.x + math.random()*2 - 1, 1, pos.z + math.random()*2 - 1)endlocal function Moult(inst)	local delay = 0	for i=1,3 do 		delay = delay + math.random()*3		inst:DoTaskInTime(delay, DropFeather)	endendlocal function master_postinit(inst)	inst:ListenForEvent("ms_respawnedfromghost", SetSpeed)	SetSpeed(inst)		inst:WatchWorldState("startsummer", Moult)	inst.components.eater:SetVegetarian() --note that this will prevent ANY non-veggies from being eaten	-- if you want to just prohibit meat, instead, do this:	inst.components.eater.foodprefs = { FOODTYPE.VEGGIE, FOODTYPE.INSECT, FOODTYPE.SEEDS, FOODTYPE.GENERIC }	inst.components.health:SetMaxHealth(150)	inst.components.hunger:SetMax(150)	inst.components.sanity:SetMax(200)endreturn MakePlayerCharacter("wark", prefabs, assets, common_postinit, master_postinit, start_inv) 

There's probably a better way to handle the moulting (e.g. keeping track of how much time has been spent in winter since the last moult)-- this method might result in exploitable moulting.

Link to comment
Share on other sites

Would anyone know how to change where the layers pin to they body of the sprite? The attempts to give the character a tail has been really tricky. Currently they are in hairtpigtails folder and they look really nice, as long as the character isn't animated.

taKBmHG.png

 

Here is what it looks like in spriter. This time everything is complete and lovely.

 

But then you get this if you move:

 

5yBnkXE.png

 

Does anyone have any Ideas on how to fix this? The tail is probably the most important thing about it and is what really makes it look like a  chocobo, and it is the thing I feel most strongly about, y'know?

 

Other than that, with Rezecib's help with the traits, I think it is almost ready to publish.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...