Jump to content

Them Bones

Photo

Demo 1 Teaser -Link, Professional Conversationalist-


  • Please log in to reply
6 replies to this topic

#1 TheManHimself

TheManHimself

    Real Human Bean

  • Members
  • Real Name:Shane
  • Gender:Male

Posted 21 April 2021 - 05:08 AM

Progress on the 2 world maps that will be included in the demo release is going along at a steady clip, but since there won't be any dungeons in the first release, I figured that it would be a good idea to take a break from mapping and flesh out the dialogue system so the demo will have a bit more meat to it. So taking inspiration from Spiderweb Software's classic Exile Series, and Ultima I-V, okay and basically every CRPG made before 1991...

 

I present to you, PureZC, the first of the many labyrinthian tile-warp dialogue trees inflating Them Bones' file size. (link to a hi res map of the dialogue tree, work in progress, link fixed!).


kItm9oe.png
Mr Bones doesn't care much for being spoken to like he is Lord British


The process is simple, but tedious. blow up an NPC tile in Gimp to 4x scale; import the image back to ZQuest; animate the tiles; place the meta-tile on a map layer and sandwich them between a set of premade template layers; write ~30 strings of conversation; apply the strings to the map in a uniform manner; set the transparencies for layers 1&6; press F11 for the tile warp menu and then type out each and every warp value and set the warp style to instant and the warp to the appropriate dmap: do this 15 more times; load the build into ZClassic to figure out how many frames the farewell text string takes to write on the screen, and then set a timed side-warp value to last a bit longer than the duration of the message string; double-check the warps to make sure they point to the right location; proofread the text strings to check for any embarrassing errors or dialogue that falls flat; and finally draw the overhead map screen from a first-person perspective so the dialogue scene isn't taking place in a black void.

 

The previous version of this system was relatively brief, consisting of an establishing shot with a brief timed side warp, an intro string leading to 3 topic strings and a single farewell string. I have scaled it up for the demo so that the 3 topic strings now lead to subtopics with their own set of 3 options, and added a transition string for when you switch between topic branches: this leads to a grand total of 16 screens for a basic single-level of depth conversation tree, which fits neatly onto one horizontal row of a Zelda 1 map. This system can of course be scaled up to however many maps you are willing to make.

IGhYjxe.png

9fxewT4.png

Npc screens. in various states of construction. The Hylian Economist is animated and tosses the rupee into the background, which will be a field of grass when finished; unfortunately he has not been warp-mapped


One of my main goals is to find a way to convey as much information in the UI using as little space as possible. If the UI becomes any bigger than it already is, it begins to cover up the rest of the scene: I want the screens to look visually appealing, and I have a white-hot hatred for ugly, obtrusive UIs. Originally the plan was to use graphical tiles for the topic warps exclusively, but trying to make a representation of the platonic ideal of such concepts as "rumors" "job" and "advice" inside of single 16x16 tile was too daunting. Even if it had worked out, I'm not sure if my pictographs would immediately convey to the player exactly what it was that they were choosing.

The original solution to this problem was to open up a reference image of the Link's Awakening font (it's small; is Zelda; has a cool style; is legible; and since it is italicized, it takes up less horizontal space than other fonts, since you can fudge the character spacing without decreasing legibility), and then transcribe the topics using the L'sA Font into the tile set. From the template tiles, I created a dozen animated tiles of a Link talking-head with a scrolling line of text spelling out the name of the topic: this was successful in saving screen real-estate, but was also totally illegible, overly-complicated, and a complete waste of time. /shift-select all, delete key


wl2qMzx.png
Why did I think this would be a good idea? The thing is that even after reflecting on how bad this was, I just kept on making these

The current version is a hybrid of the original pictograph solution with static, non-animated text boxes. I've selected topics whose characters will fit within the space of a 1x2 tile so they don't sprawl out into the rest of the screen. This system is much more readable than my other attempts, and should be a keeper. For certain subtopics where the player is asking about a specific monster or item, or other object in the game world, I've elected to keep the pictographs, since it is immediately apparent what it is they represent. I might drop the pictographs all-together if the mashup of styles is too eclectic: I'm definitely open to feedback on this topic, please critique away!

ccpMeWX.png
the new, neatly-organized dialogue tiles, with room left open for simple animations

 

-Future NPCs who you will be meeting in the demo-

-The Hylian economist: a man who was stiffed mowing lawns as a child; he has decided to take revenge on the world by wrecking the economy, hiding rupees within every inch of tall grass he sees.

-Literally just Björk. She lives on a mountain. she throws carpets bottles and cutlery off the mountain. this is a dumb idea, but you can't stop me.

-Dedalus, a man who wanders aimlessly on a beach contemplating the ineluctable modality of the visible; his whole whole theory of sensory perception is shattered when he steps on an unseen fork buried in the sand (washed up on the shore from Björk's constant Hyper-Ballad) and*ahem* lit-major authoritative voice: realizes the primacy of the physical form when conceptualizing the nature of an object.

-The Richest Man. Capitalist scum, he made his fortune mowing lawns. His wealth comes from the fact that he is the only man around with a riding lawnmower, thus the only person able to compete in the economic hellscape brought on by the Hylian Economist's scheme; probably almost certainly in league with The Economist's grift.

That's it for now. feel free to tell me if you think any of this doesn't work! In the final form I will be trying to implement Moosh's trading sequence script into this system, creating simple dialogue tree Chess and Shogi problems (a zelda puzzle that DOESN'T include blocks!?!?!?) and designing a boss fight nested within the dialogue system that should take up its own entire map of dialogue screens (Hideo Kojima would be proud). Also, If there is a way to transform the Link sprite on certain dmaps, I would love to get rid of the janky "walking inside of a dialogue box" conceit and replace it with a cursor.


Edited by TheManHimself, 21 April 2021 - 09:08 AM.

  • Twilight Knight and Matthew like this

#2 Moosh

Moosh

    Tiny Little Questmaker

  • Members
  • Gender:Male

Posted 21 April 2021 - 06:28 AM

Also, If there is a way to transform the Link sprite on certain dmaps, I would love to get rid of the janky "walking inside of a dialogue box" conceit and replace it with a cursor.

As a matter of fact there is. Items in Link's inventory have a field called Link Tile Modification that's used for modifying his sprite. These values from the highest level item possessed in each item class are then added together and treated as an offset to all of Link's tiles (or all but the up facing direction if the Expanded Link Tile Modififers quest rule is off). The most common application for this is shields which already come with these values set to update Link's shield tiles based on which one he has. They can be used cumulatively with multiple classes, but this tends to eat up an exponential amount of tile space with all the different variations so I wouldn't attempt more than two itemclasses modifying Link's graphics at once. Since this is a menu, the easiest way to go about changing Link's graphic is to just make a new shield item that's a higher level than the rest.

 

As for making it only apply to certain DMaps, this is where the Disable tab in the DMap editor comes in handy, allowing you do disable certain items on certain DMaps. 


  • Twilight Knight and TheManHimself like this

#3 TheManHimself

TheManHimself

    Real Human Bean

  • Members
  • Real Name:Shane
  • Gender:Male

Posted 21 April 2021 - 07:33 AM

These are the bizarre work-arounds that I crave. Appreciate it!

*edit* okay possibilities are coming in fast here with the tile modification and disable items tab technique. I'm thinking that I could rig together a secret-triggered side-warp, set off by a custom sword weapon that is just a blank sprite to simulate a mouse click.


Edited by TheManHimself, 21 April 2021 - 09:52 AM.


#4 Deft War

Deft War

    Vagabond...

  • Members
  • Gender:Male

Posted 24 April 2021 - 03:35 AM

Did you actually animate each tile individually?? because remember you can use A.SkipX and A.SkipY along with with an FFC(Without Scripts) to handle a simple bulk animation. @_@



#5 TheManHimself

TheManHimself

    Real Human Bean

  • Members
  • Real Name:Shane
  • Gender:Male

Posted 24 April 2021 - 04:05 AM

Did you actually animate each tile individually?? because remember you can use A.SkipX and A.SkipY along with with an FFC(Without Scripts) to handle a simple bulk animation. @_@

 

I did for the first NPC, but It was literally the second screen that I put together after a 16-year Zquest hiatus. Tore out my hair trying to visualize it.

 

xK38Cm4.png

 

This is the Hylian Economist. I make a reference group of tiles, and animate individual parts linearly so I can visually sync up the animation timing. It saves tile space as well because I don't have to copy non-animated tiles. the animated combos are flipped and set to a slightly different timing so the tossing arm alternates, while saving tile space and maintaining smooth animation with the high frame count. I'm messing with an FFC for the rupee toss, but I'm new to FFCs so getting the synchronization down is a project.
FghHrv9.png

I really only use skipx for this one, for the fishing pole

NL500sZ.png


Edited by TheManHimself, 24 April 2021 - 05:07 AM.


#6 Jamian

Jamian

    ZC enthusiast

  • Members
  • Gender:Male

Posted 24 April 2021 - 01:34 PM

. Also, If there is a way to transform the Link sprite on certain dmaps, I would love to get rid of the janky "walking inside of a dialogue box" conceit and replace it with a cursor.

 

IMO, the best way would be to make Link invisible and block his actions, and let a script take over to move the cursor around. If the player pushes the right button, you display string X, if he pushes the up button, you display string Y, etc. I know this requires writing a script, but ultimately the time spent doing that would make it much easier and faster to create such dialogue screens.


  • TheManHimself likes this

#7 TheManHimself

TheManHimself

    Real Human Bean

  • Members
  • Real Name:Shane
  • Gender:Male

Posted 24 April 2021 - 06:49 PM

I agree with you completely. At this point I'm just running with in-engine solutions--- because that is something I know how to do--- but I plan on fusing script into it when I get more comfortable with coding. I'm using the Link cursor for now because I am caught up in the zen of map making and design and, while janky, it seems to work:  I don't have any coding experience, so writing scripts would throw me off of my flow.

I do have some bizarre ideas involving bombs, and breaking through mental barriers that will require the janky walking dialogue boxes though...

Really the biggest time sink is navigating through the drop-down dialogue boxes in the tile warp menu to set 4 warps on 16 different screens, and manually setting screen data on each screen.

IMO, the best way would be to make Link invisible and block his actions, and let a script take over to move the cursor around. If the player pushes the right button, you display string X, if he pushes the up button, you display string Y, etc. I know this requires writing a script, but ultimately the time spent doing that would make it much easier and faster to create such dialogue screens.


Edited by TheManHimself, 24 April 2021 - 06:56 PM.



0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users