No facesets - what now

● ARCHIVED · READ-ONLY
Started by Avery 9 posts View original ↗
  1. I think a problem many people face - and I did in the past as well - was that you kinda want every character to have facesets, but… well, if you cannot draw and/or have a lot of NPCs you have a hard time giving each person a matching faceset.
    v__gLn_A031_PjPMsVcbQHQw4Bg2DvGgc4glwM5CSEJYWr5ikZdDu90g6XJSehUovr4KDwjeeRkM72yHs_zTvKstrbw--6idtMxqLDawjUOVocibxMkfIxwvtrziWFvZnosmFGHxMP6t49Mca1WeUg
    Surrounded by several people, is it really the one you are facing that’s talking? And can you remember all the different names?
    What if someone is shouting from the back?
    _5RUk1YTjM8ZMo9Ho5D8PNbTWWMI20HNirW1hUkX7Rk-y959bzAdppwlo96iuQX8ZAQATnJ_DgPJ8WxLH3Ogq89Rld4uekE2A05QLpPGBUKG1K8ZFB1ISXER2_GmXv2Hp45uBzCEyA0HjoYio4r0Lw
    While usually not knowing who speaks just breaks the immersion a little, here it could even lead to Reid getting slapped in case he talks to the wrong person afterwards.

    While all my examples are made with RTP characters that of course have facesets, just think about all the cool alternate char styles out there, Bis characters or Wayward’s tall sprites as examples.

    If we rebuild the scene with WaywardMartian’s chars, matching faces without a lot of editing are not a choice:
    fef9Y9AnyyYyP3YoPp2Qm2C4eF4y7SJsV2q3iIoMzWeyNHVM8VhjwFTv8Azx6vQ6Fm3GTYRlZnU9BklW4yI1SIwjA3L6v0MoKuqds6t3siB8-m98wabAU2-3kiB0AThdOYLGJTFvKhNv9tbkQ8v2Iw


    This tutorial is not for people who already have all their facesets, if you have matching faces, go with them! It is for those of you, who want to use charsets that don’t come with a matching face and worry it might be weird or un-personal and who don’t want to spend hours or a lot of money on creating faces.

    1. The char as face
    1.1 as is

    0hOGVQmoEomzOXpMmQv7iHlYrW6uz5gjy5UPvWOV2I9CaTk0s5eHvKepShK7jc7C7XvprbQtNc3y5bkwOmrnKLaqtvYmVbE3MfM071E5fuL25y4z2Tz3zj-ahmBxxl3ClWVSNA1DcMuK0Coq112kUw
    We can simply create a 576x288 empty picture and use a 144x144 grid as a guide to place our characters into the frames.
    This does not only solve the issue with who is talking…
    nWnehj8dn8Dz5uInBQNqtu8Sr9S_fFcfnWdmwIAtj2swCPMfzeXmJ_bDEF6EAIe-Wd59FjUdor-MmZo79NHSF4kkoIDk7ZdT3XUdN91mOFYr30GkQDWDxhqI2digb85HbT174xuLzNk5_pQGb7Gkbg
    …but also fills in the blank frame in the menu without us using a plugin to chace the graphic:
    2TyvNpMVQRRKqyUR88mIOQxWChLqK5Fp2gjR66B6-AJHHKY6ecLCv6IQUdzWxQuwWtg4Eix1U98batTWs-0zylZDalbafE090VlrrFnrGBvMT8Abl973yKKJchFqMM6BM61OMouxdHYFMKKQrCTYeA

    1.2 upscaled
    If you upscale the sprites by any natural number times and with no interpolation, you get a nice retrolike pixel faceset (lower row, the size is 3 times the original here)
    oI6y0wYRoK4pOY8_CvCPM1rraDtmSf4gqs_gtM4b5PSHUbb-WJlA-gWp9soO1BIZBZY0_1ESA5MD1uZRhplgnptMQyCLHih9qHLlp6MI9LO4cURWhpbDPvCjPa7XEVJJgp4FGgnzcqgPcFZdEZ-6RQ
    Which number works for you depends on the size and style of the sprite.
    The pro is that since now the face is more prominent, you can make some quick edits before upscaling to get full emotion sets in this style:
    I3BedyFOW9dletYZPUx8EjdI_zW0ZdPC88xTZLdDIg7sHJvhhoXJxNV_Ffziwn3QJcRo6XbPP6r-LYjYru9gPTmmdDYjTUJnetkYM0BpTPJDzxVO03Xn9bl51xOR4toX5PX99VLUcl4tunW7Cd59vQ
    The con is that such retro-y faces might clash with everything else in your game. Of course, if all your faces are consistent, you can get away with a very different style.
    9JzkjjimAifjgr9ubG-ZUp167wtVBsB_nbZpv2ZoTdZRJ6GkDQbrLNLu4YSoVHkZ-gIa9KuH0EaVdaRN0CZeqtnXZCx8EmrYtNUSukHIy1mdVUM9oqLvDf8FUSc6fjCZrz_AUxJ-gJrOvhySpLgucw
    2. Indicating which figure is speaking
    2.1 by stepping

    6FX2lEYkiE8H8QcbmyqubRh053Wl49aS2y1ObE_KijswfuNUNAKFkj-oM0CeBg6TFK2QB2lrfdkE6vuqj6iynvdLgFX93oC1YCbOdSpLZkXreM4MPBxCKCPsbWchXEpKiz9OUo_L0OhBKuBeQOiWGw
    A very simple method which does barely require any effort is to have the talking character “step” in place. You will be clearly able to identify which of the characters on the map is speaking, unless you use a lot of stepping animations to fill the map with life, then it might be confusing. Plus it might look a bit weird when the characters walk when they speak. But you can always use…

    2.2 by stepping - extended
    For each character make a copy of the charset and replace the left and right column with the middle one - in general, you have the stand pose on all 3 frames.
    Xh57ShJ3mKSn9-3S_n0lBqiLfYZEsvnT6J0hRhXoOKoBY0gNrBOmbTqQeGf_uM3xN8iiH_cuXKYH1PQvlTihheQ57xipgVH8wGqsueFGlyBxjmtttMZgUB6komyn94kPMxJh0oUTRu3HSfkxdaEQWQ
    Now you can use the different ways to recolor the sprite to make one of the columns a little darker and the other one a little brighter:
    wDDUCk-cSSQ9yT48PDcPxe5qFIi7S9yL7ww_5q9sszrJZCDAmdBoHjzZ9ruR1LlaMWMRTWqWVqaJZ9l0s_Y8q1vwJ9z_k8OKYWmry0Xwlye6oRKnqgYcXPcMQUkSAjc9wNhFG_IT5aVxcwveRb_m9w_3mR8UHd3rQFWOoiZbZsd8uW6kfl-qQZlBMxZFuvn3KaP7-a5izCMX2fXODgfJyzbykTJr-v-0acgGCQEx3mHg-zUR1Z01FeF9KNR5vriej2qJqvD38t_ORN91Z9IqwZksJym4DMBr8KW3qiNoPQ1Q
    This is implemented the same way as the normal stepping animation and you just swap the image before starting the stepping animation - and switch it back afterwards:
    cQdb5imh7rGGggUxYmYzwi5qopgiYxWclB-APKNuYWCVgwF_tKJEFAzthVBP7tm6PzWPxZ982Q-QEmmxHb7ajiFjzfRXIMZsHuM9F_QqrdOIeb14Cqr8irKuvYsSKbm8okfcQ0JmqTGQaJw48vLjHA
    The details of this “talking” animation are up to you. You can also go without a stepping animation and simply switch for example to a brighter version of the sprite or one with a slight glow… the possibilities are endless.

    2.3 by balloon
    You can also have a ballon start playing before the message starts:
    CipliAtXZbkx5WlPNRAe6SVZ27YCwpiMnSDkYOV54rDZvbPF6h1AgZ2kG2MfH3uR06gwDlGrkgsmeJ0qAx-FrRlC5bNdCtW-_u5dl5GD7RYiYH5eMYvG2FaCSwL5zmY8hoPEoPmKd_Ut8NZ8i4dhYQ

    2.4 by “pointing” charset
    You can also create a separate charset which “points” at the character talking. Whether that is animated or not is up to you, I made a very simple non- animated one for this example:
    cBT-K3tZaUj7dwrhTmfVnKiQg_d1fkVAwTx5wp2ZFDXiKrd5O0X1tUqbu0TxxKDblVCfNIM3hNgxUV-kFQRF1pSg6-DZbzYxVNJGVJgdMqUQlvozRwx_P3P2SsEjxnsyVJiwW_MmkoqxeVsm2YqiEA
    On each map with talking characters you need an event with two pages:
    One is all empty…
    6L7geYXV9B57mcSqoJ4kwoO7IoC3Cf46M0au9wNTeCImAMlftxLi_6KgDEwQ0oIOBtVGLq75xbKBvMZnxqv8ksXz-1eZ5u3LxP6e4SU7TTcjB7vd2LKGtVNCRHtIpSwr3U5ng-fT4KTOXH-JM68PHQ
    … and the other one sports your message marker image and is only active when a certain switch - I called mine speaking - is on.
    78Y-TUkW3niMYLBJ8x8YFIlYPbnxBZHwQQI3cFYwMUzJBFPit7FmLOA1-4jjxZiMYE1h4OBYWL1IXU95b1nbwn3YHiCYZwXbc-sQxMwQJTMEx_HRngme_uP-2ELMDFbmJnGfo38Zy4H9R3JFVXY7LA


    Now you need two variables, the ones where to place your marker, you need to save the x position of the event (or talking actor) and the y position as well, here is a shot of the setup for x:
    qoxo3XXEX4KiJ5Ay0ekqZYO2gL9h4F4-10wjDWDDjbLcXu6-kJNNDjdpO0WLBM74mpXKY_Yb4JHFhmOEFhJpEzrEYoO528ZGGIyNwOSJ8cDGRFBQckOBDUE__xy9i4Crioi4hh_OZM9MFH1msbN4tQ
    Then you teleport it to the position of the speaker and turn the “speaking switch” on.

    Let us have a look how this could work:
    1R9mQHydoRY3yhzxWN7vwiFz8ZMr5vY_etMTwSj69Sc6sb2YpkOq2B3U0-0widWg8OhrP0nkzdX714nLg4gZXnD2j_kpLQX67zcwtG1mEbsC4PFxNEdxdkV4iO04zRBr-u5a7Vv0_Rfq6jdV00xTqQ
    First we get the values for the marker position and teleport it to that. Then after it is in place, it becomes visible due to the switch being turned on.
    After that, it needs to go to the other character, so we need to get the new values first, before we move it again.
    After the speaking is done, the switch is turned off which makes our event go back to “invisible default”.
    9mMUUA5Brsye41Dg_QaavAcoEF6szWA_GjwNHCk6HRFWiDk2Q54B2ajHREcXgCKHLfySuNn6OGFe5pMXhRMctr4SwusOI4mMjPpF1X0zP5APstZWCEFCD7MROXrgl9MrUf7EQRlNKP3ThDinOtjVdA
    _cBiNxuotMfqFYmFGFO5wiaPAHpno5j1alJ-ddKKhUWsoI88ct-8OQnpkpLVlp3Ic7Avqo5T59Dgp2kuAr2VfvCGsKaLLaR7XCqW_yejBe0yKWTBoYica_Ug0za2rhPxJFe73OnLbjIOClw5CS8zvQ
    The same as with the stepping animation, you can design your marker as you wish. You could make it a small speech bubble or extract a looping stepping marker out of the balloons, which you could use to add emotions without having an emotion set by either switching the marker image or having multiple pages in that event with one emotion each.

    As you can see, setting up those faceset alternatives can take some time, but they require barely to zero art skill and can save you a lot of time (or money) on custom faces and emotions.
    What are your workarounds when you don't have matching facesets at hand?
  2. Avery said:
    What are your workarounds when you don't have matching facesets at hand?
    I draw.
    I make a script to make a looping animation for the map character. Then use the flashing function from the animation, and play the animation in the loop.

    Great tutorial as always.
  3. this is great, thank you!!
  4. I like the options, especially using the same basic concepts to create a different implementation.
  5. Love these ideas.

    I have a plugin that modifies the Show Message function. I can put an event number and a bubble type, and it put the correct type of bubble over the correct event.
  6. TheoAllen said:
    I draw.
    Oh, that is just what I do, I could have saved so much time if I just wrote that into this tutorial ;D

    Yeah, with scripting you can get even more fancier options and it is really interesting to hear you guys' solutions! The flashing option and the bubble type plugin are very good ideas to handle that issue :3
  7. Oooh very good tutorial! It's giving me lots of ideas how to spice up conversations without a ton of new art.
  8. what a great work arounds, while I am indeed too far this will do nicely for future projects. so thank you as always for showing me something I overthought XD
  9. These are all wonderful ideas! Thanks so much @Avery and to all the others for their contributions as well. I'm looking forward to making my townspeople become more lively and social. :)