1/6/23
** Sprigs Devlog Mini-Update: **
First stages of my Verse UI Dialog System.
I haven’t finished the fancy Sprigs version of this yet, so no fun screenshots/vids to share. But if you wanna see the first iteration of the Sprigs UI Dialog system I’ve posted some videos here and a snippet in the Snippet Repository. I loved programming this.
Gamedev is such a perfect creative medium for me, because I get to exercise both my wacky artistic side and my mathy/logic brain. I’m still a programming beginner, and art comes more naturally to me. But I love coding, so my goal is to script as much of my game myself as possible, and create some basic Verse tutorials so I can inspire other creators to get hyped about Verse.
=========================================================================================================================
12/23/22
Sprigs Devlog Update #6:
Physical Material Experiments - Footsteps, pickaxe hits, whatever this is, lmao:
Turn your volume up for this video ^
(Btw this my ongoing devlog for my plant shop game called Sprigs, which I’ll be releasing alongside UEFN’s Public Beta. )
Ever notice the “Phys Material” setting in the Details panel for your custom Materials, and in the parameters for your Material Instances? This determines the SFX and VFX produced by a player’s footsteps, jumps, and pickaxe hits on a surface. Some Physical Materials even alter player movement, like Ice (slippery!) and Lava (ouch!).
Here are some pickaxe hit VFX differences:
Any custom static mesh will take on the VFX/SFX properties of the Physical Material painted on it. For props, check “Use Physical Surface for Footstep” in the blueprint. UEFN comes with 13 options, presumably all from FN. Sometimes I had to get creative, like using soft Sand Physical Material for my fabric and carpet materials. I love the Wood footsteps I might have to implement Floor is Lava mode .
This is great for Sprigs, since the player explores diverse indoor surfaces like tile, carpet, wood etc. In Chibi Robo for Gamecube, my main inspiration for Sprigs, the tiny player’s footsteps are integrated into the music. Someday I would love to import custom musical footstep sounds into UEFN like you can in UE, but atm we only have access to the 13 FN ones.
Next Steps: Level design changes, scoring/gameplay.
Happy Holidays and Happy New Year, everyone!
=========================================================================================================================================================
12/11/22
Sprigs Devlog Update #5:
Tidying Mechanic with Leaves and Pawprints, VFX.
Time to finally work on Sprigs’ tidying mechanic! To review, in my collaborative cleaning simulator Sprigs, tiny plant shop employees (players) clean up messes using their pickaxes. I converted my own Static Meshes into Building Props that can be destroyed.
(FYI creators, the instructions for converting a Static Mesh into a Building Prop have been removed from UEFN’s Docs. If you want Epic to bring the mesh conversion docs back, please upvote my Forums feedback post about it.)
^ The GIFs above show the most recent version of my tidying mechanic in Sprigs, which I’m happy with. Below is the old version, and my explanation for why I changed it.
----------- What is the reward for tidying? ---------------------------------
Initially, my plan was to reward the player with items when they tidy up the mess. I used a Prop Manipulator to increase the Building Prop’s health, so that prop destruction would require multiple pickaxe hits. (Thanks to @AxelCapek for the tip!) An Item Granter dropped 3 Fibrous Herbs when a prop was destroyed.
Upon playtesting, item rewards for tidying didn’t feel right for Sprigs. The gameplay started to feel less like cleaning and more like harvesting or mining. I want Sprigs players to collaborate to care for shared environment, rather than compete to extract resources and accumulate wealth. And in multiplayer I don’t want players to feel pressured to jostle into each other to grab the dropped items. Also, the Fortnite item meshes don’t match my artstyle.
So, the real reward for tidying in Sprigs is the visual/auditory satisfaction of bonking props with your pickaxe and making them disappear to reveal a clean area. (And scoring points for your team, which I’ll talk about in a future devlog!) This means that we need juicy VFX/SFX, and bold, fun destructible props. And let’s require only one pickaxe hit, so you can clean faster.
------- Mess modeling - Pawprints and Leaf Piles ----------------------
For the look of a pile with leaves sticking out of it, I 3D modeled a solid colored blob shape underneath a larger blob in a masked leafy material. My pawprints (from the shop cats) are a plane featuring a masked texture of a paw that I painted in Procreate. Using a YouTube tutorial for materials by PrismaticaDev, I varied the brightness and UV offset of my leaf material based on the location of the prop’s pivot point. Same for the brightness of my paw material . I also randomized the leaf pile props’ rotation by checking “Random Yaw on Placement” in the prop Blueprint.
In the future I’ll create additional messes, like water spills and candy wrappers.
Here’s a demo of how I created my leaf pile in UEFN using the Unreal modeling tools and my custom materials.
Modeling tips: For more freedom to draw organic shapes with PolyExt, I uncheck Enable Snapping in the PolyExt settings. Also, I forgot to do this in the video, but I recommend setting the PolyExt output to Dynamic Mesh, not Static Mesh. I like Dynamic meshes because when you duplicate them you get a new mesh to edit. Whereas duplicating a Static Mesh creates an instance of the same mesh, and any changes you make to that new mesh instance copy over to the old. Also a Dynamic Meshes doesn’t save to your Content Browser until you convert it to Static Mesh, so you can experiment without generating file clutter.
Edit: Thanks to @Cleverlike_Studios for this additional modeling protip : Try using VSclpt (vertex sculpt) to tweak the vertices in organic-shaped meshes.
More sculpting tips from Cleverlike here.
--------------- Tidying VFX --------------------------------------
For my tidying VFX, I tried making particle systems in Niagara for the first time! Similar to my leaf pile material, I varied the color and UV offset of the albedo on my leaf sprites. This time I accomplished this with a Dynamic Parameter and a hue randomizer in Niagara. I learned this from CGHOW on YouTube. I also recommend PrismaticaDev’s Intro to Niagara Particles YT tutorial series. There I learned to add Vortex Velocity and Vortex Force to my leaves and dust so that they swirl in the wind.
Then, I replaced the “Death Particles” effect in my Building Prop blueprint with the new Niagara Systems I had created.
Something I like about my dust VFX is that the particle is actually a flat plane with a cluster of dots painted on it, rather than individual dot particles. To me this fits the flat, stylized look of the Sprigs artstyle. And I love the pink fresnel on my leaf particle.
-------------- Primary Surface Type setting in BluePrint: ---------------------
Another step I took to make the VFX look more dreamy and less action-oriented was to change the Primary Surface Type setting in my Building Prop’s blueprint from Default to Sand. While the Default surface generates a harsh flash VFX and sparks upon pickaxe impact (in addition to whatever custom destruction FX you add), Sand does not. Sand Surface also has the softest impact SFX (which, again, are layered with your custom SFX). In a future devlog I’ll share more about Sprigs SFX.
------------ That’s it for now! ------------------------------
Next steps - SFX, scoring, level design changes.
See y’all in the next devlog! I lost my voice from COVID but now that I’m better I’ll record a proper UEFN modeling tutorial soon! Any requests? First is a plant of course. <3 BlueClairy
===============================================================================================================
11/17/22
SPRIGS DEVLOG ENTRY #4:
3D modeling and texturing my generic plant template.
3D modeling a plant in UEFN (chill and fun speed build) :
^ All of these plants use the same mesh as a base, with different instances of the same masked master material.
I’ll create a better explained version of this video later for those who aren’t as familiar with the tools. My plant formula starts with PolyExtrude to draw a four pronged pinwheel-ish shaped plane, which I squish and fold into a leafy shape. Then, using UV Project AND XFormUV I add my masked foliage materials that with an X-shaped leaf/stem texture I designed specifically with this mesh shape in mind. Because my plant starts with a freehanded shape, the product turns out a little different each time, which is fun. I intuited this plant process, because the UE modeling tools make a lot of sense to me. It’s like crafting with paper or clay.
Three modeling tool questions (@rmsEG or @endofthehall could you help me out?)
-
Why in some places am I unable to insert edges. The little green line sometimes just won’t connect. I’m talking about edges not edge loops.
-
Why aren’t “Add Extra Corners” and “Regenerate Extra Corners” exposed in UEFN PolyEd like they are in Ryan’s UE5 tutorials? Could you add them as an opt-in thing, at least, if you’re concerned they might cause confusing behavior for UEFN creators? I work with planes a lot, for foliage and fabrics. Sometimes I extrude the plane to make it 3D so that I can access the corners, and later I delete the extra faces. Is there a better workaround?
-
Is there a way for me to make the lines thicker or change the colors, for when I insert edge loops or draw lines to extrude? The green and yellow lines are kind of hard to see, even with my non-disabled eyesight, so I think this could be an accessibility problem.
-----
My foliage materials:
In my foliage master material, you can manipulate the albedo (the color/pattern) and the shape of the opacity mask (the leaf shapes with alpha in the background) independently, which makes it super versatile. And then of course there’s tiling, gradient, fresnel, hue, tint, normal etc.
My goal with my meshes and materials is to make everything as reusable and recombinable as possible. This saves me time, and keeps my aesthetic cohesive. This is also why I didn’t have anything super visually exciting to post here for a while. I’ve been doing a ton of invisible groundwork setting up my workflow and my assets. Now that I’ve done that legwork I get to play around and make things pretty. I look forward to sharing more with you!
Edit: Thanks to @Cleverlike_Studios for reminding me about the Lattice Deform tool in UEFN, for tweaking organic shapes! Perfect for adding irregularities to plants.
More from Cleverlike: How to use the Modeling Tools in UE5: Boolean, and Lattice - YouTube
=========================================================================================================================================================
11/15/22
SPRIGS DEVLOG ENTRY #3
Click this link for a quick video tour of the shop Google Drive - Video Tour #1 of Sprigs
In the Sprigs plant shop, players are tiny employees - only a few inches tall. During the day, employees take care of plants, tidy up, and help customers. At night the plants come to life, and magical secrets are revealed.
I’ve made a lot of progress on this game since I last posted here, so let me catch you up. While my first iteration of the concept (TidyPals) took place in a home inspired by one of my favorite games, Chibi Robo, I’ve moved the setting to a magical plant shop. This fits my interests better (plants! magic!) and the vibe feels a little more sophisticated to me.
I 3D model all of my meshes myself in UEFN using the UE modeling tools, and I hand paint all my tileable textures on my iPad to use with my custom master material graphs. (Except for a couple of NPCs which I will replace soon.) I generate my normal maps with Materialize. Bounding Box Software - Materialize
Cel shader post processing was huge leap forward for the Sprigs artstyle!
I followed this tutorial by PrismaticaDev: Advanced Cel-Shader in UE4 & UE5 [Prismati-Cel Part 1] - YouTube . Cel shaders aka toon shaders render shadows as bands of colors instead of gradients, for a 2D look. I think it complements painterliness of my textures, and keeps my giant human NPCs from feeling creepy. Because my shader darkened the colors, I had to kinda blast the skydome with white light for daytime. Looking at these screenshots, maybe it’s still too dark. I’ll improve my lighting when I work on my nighttime ambiance for the shop.
One of my favorite details in Sprigs plant shop are the decorative metal bars on the greenhouse windows. I created these using masked materials, not geometry. The 3D raised look of the bars comes from a normal map that causes the light to act as if there is a bump. I also decreased roughness, increased metallic, and added a pink fresnel to highlight the bumpiness. A fresnel color is reflected more intensely when viewed from the side than straight on, creating an iridescent effect.
I use fresnel colors on almost all of my materials, like this wallpaper.
I find that it helps draw attention to the normal maps texture. My cel shader intentionally flattens out the shadows in my map, this brings back some lost details.
This is the animated mesh I’m temporary using for my shopkeepers and customers, until I replace it with my own artwork. I nicknamed them “Enpi”, short for NPC. I downloaded it from an artist called by watatita mf on OpenGameArt.org, and textured it myself. The animations are free from Mixamo.com.
The blinking eyes are an animated material, using Unreal’s flipbook material node.
Here’s the YouTube video that taught me how to draw a blinking eye. It’s one of my fave tutorials I’ve followed recently, super clear. How to Animate a Perfect Blink [Scribble Kibble #58] - YouTube And here’s how to make an Unreal material flipbook: Flipbook Animation - UE4 Materials 101 - Episode 5 - YouTube
This is what the eye looks like as a decal, with long lashes. To me, this is very funny and I love it. You can also see the plant leaves slightly swaying.
That’s it for now! Seeya soon!
Next steps:
- Design more plants.
- Publish my first tutorial - 3D modeling a potted plant in UEFN. Thanks to @rmsEG 's super helpful PolyEd modeling tutorial playlist for helping me learn! UE5.1 PolyEd Modeling Part 1 - Selection - YouTube
- Work on the nighttime aesthetic for the shop’s day/night cycle.
- Improve the wind effect for my plant materials. This is the tutorial I plan to follow: Simple-ish Grass Wind (Substitute for SimpleGrassWind UE4/UE5) - YouTube
- Fix the wacky wood grain UVs in the greenhouse - I keep meaning to do this
=========================================================================================================================================================================
10/6/22
**TIDYPALS DEVLOG #2 (later becomes Sprigs) **
Materials library / more modeling / kitchen layout.
My main focus this week has been building up my library of versatile, hand-painted textures and materials. I’ve created more than 30 materials, plus many more if you count Material Instances. I digitally paint seamless textures in Procreate on my iPad, and generate normal maps for them using Materialize. Bounding Box Software - Materialize Then in UEFN I add my new textures to a master material template that I’ve created, with parameters I can easily tweak to create diverse Material Instances.
I love drawing fun colorful patterns, but my wood materials are the most useful. I love the calming, natural vibe they bring to the apartment, and I like that they’re more stylized than realistic. For example, see how much warmer my banister looks with wood posts, instead of white ones? Ignore the weirdly aligned wood plank material on the stair mesh, because that mesh is a placeholder.
My master Material Graph includes parameters for Metallic, Specular, Roughness, Rotation, U and V scales and Hue Shift. In the future I’ll add more parameters like tint, a gradient color, fresnel, emissiveness, opacity, worldspace alignment, and maybe some of the cool animations that Andreas showed in their wonderful tutorial video.
To illustrate how versatile Material Instances can be, the three models below are using the same original material, with just a few tweaks to the parameters. (The chair, basket, and round purple pillow.)
When using Hue Shift for Material Instances, to avoid muddy or dark colors you can overdrive the V value (Brightness). That’s how I shifted the original blue color of the tufted material to a nice warm brown instead of a muddy green. I learned this from friends in Core.
Also, I whiteboxed the layout for the open kitchen.
Next steps:
Implement my Day/Night cycle script. You can check out the snippet for yourself here: Basic Day/Night Loop | Uefn Code Snippet
Start modeling and animating my NPCs for the human-sized roommates, cat, and houseplants.
I still can’t create Building Props for my cleaning mechanic because of a known bug, but in the meantime I have a lot of other tasks to work on. I really appreciate the help I’ve been getting from @jay_villanueva and the Epic engineers. Without them I wouldn’t have known that Building Props were the cause of my errors, and I wouldn’t know to delete the props in order to test my game. I’m also looking into ways to create the cleaning mechanic without needing Building Props.
Shoutout to Ryan Schmidt aka @rmsEG for teaching me to clean up my UV seams by painting polygroups onto my model and unwrapping the UVs by polygroup, and how to use Dynamic Meshes! Greatly improved my workflow.
================================================================
** 9/27/22 **
TIDYPALS DEVLOG #1 (later becomes Sprigs)
Game Synopsis, environment art.
TidyPals (placeholder title?) is a cute, collaborative, calming game where you and your friends help out with chores around your apartment - pick up trash, sweep dust, water the plants, and help your roommates find lost objects. And also… you and your friends (players) are very tiny, about ten centimeters tall, and your three roommates (NPCs) are two full sized humans and a full sized cat. And the houseplants talk. My aim is to release this game at the time of UEFN Beta, as one of the first games created and 3D modeled entirely in UEFN, using UEFN’s modeling tools for all my props.
The main gameplay is that player’s platform around the giant home environment, tidying up by bonking trash like candy wrappers or cat footprints with their Fortnite pickaxe to make the mess disappear. And you can talk to the NPCs and get quests for special chores, or follow the roommates’ interpersonal drama storyline through dialogue and events. You get helpfulness points for cleaning, and you could buy cosmetics like trails, but personally I don’t think the points are very important. It’s not a tycoon. It’s just a nice chill place to hang with your friends, feel satisfied about tidying, and roleplay as tiny people inside of a larger story. It’s partly inspired by my favorite game growing up, the lovely surreal Chibi Robo for GameCube.
There’s a day/night cycle in the apartment, which darkens the lights at night and unlocks areas and activities depending on the time of day. The roommate NPCs go about their own daily schedules, meaning they might be gone for part of the day, or hanging out in different rooms doing different things. There’s also a larger cycle for seasons (Spring, Summer, Fall, Winter).
Unfortunately I’ve been getting Content Beacon errors all day today so I couldn’t capture any gameplay footage yet. But these are some screenshots of my environment. All of the models were created and textured in UEFN, no Blender or Surface Painter etc. All of the textures for the materials were hand painted by me in Procreate. Unique, detailed materials are very important for this game’s artstyle because the player’s view is zoomed in so close.
Next steps:
Model more furniture/props - Kitchen first.
Build up my own materials library
Model, rig, animate NPCs (Some of this will have to happen outside of UEFN)
Implement Day/Night cycle.
Post processing and lighting
SFX and music
Also in honor of Chibi Robo, here’s a screenshot of Chibi having tea with Mrs. Sanderson. (From the Gamecube game. I did not make this.)
Summary
This text will be hidden