1. Zefyr: A Thief's Melody
  2. News

Zefyr: A Thief's Melody News

Marketing & pet the dog

Hello there !

Here come the latest news ! Last month I essentially spent my time on 3 subjects:


[h2]I – Marketing[/h2]

And yes, you know it now, I force myself to spend more time on marketing… and boy is it difficult. I tried to optimize my reddit ads, but I was disappointed in the results. It seems the longer the ads run, the lower the conversion rates. So I tried to go back to organic posts. One did quite well on r/pcgaming:
https://www.reddit.com/r/pcgaming/comments/1byxmvv/hi_ive_been_working_solo_on_zefyr_a_thiefs_melody/

I also took the time to apply to 4 festivals for this summer. Sadly, I received negative answers from the last ones I applied too. A bit harsh for the moral.

On the Steam side, I built and fixed my full game and the prologue version too to have them validated by Steam, and they were accepted ! I have officially passed the Steam quality test. From now on, I shouldn’t be annoyed with the process anymore. I also reworked the tags for the Steam pages. It seems to perform OK for the prologue but not that much for the full game. People don’t discover it on Steam. But the prologue is free, so I guess this can influence things.

Finally, I kept mailing streamers, but no luck this time.
However, one streamer from my previous contacts tried my game and interviewed me! He was super nice and it was a pleasure to answer his questions. You can check out the interview (in French) if you want to know more about how I work: https://www.youtube.com/watch?v=BFKFDEz1bLs

So in the end, a bit of a depressing month for the marketing except for the reddit post & the interview.


[h2]II – Mini Game[/h2]

Last month, we had holidays here in France, and with the kids at home, it’s always a bit difficult for me to work fully on the game. So I worked on a small project that I called Lantern Island. It’s a small wholesome game where you play as Maya, a young girl trying to save the lantern festival on a nice cosy island. It’s supposed to be somewhere between “A short hike” & “alba”. This is one of these “small games” I occasionally try to create to test myself. I think I’ll release this one when it’ll be more polished. Here are a few screens:


I had to work on many NPCs and animals too. I’ll add these back into Zefyr, so that I kill two birds with one stone.
And I took the time to code the famous “pet the dog” interaction. Speaking of which…


[h2]III – Zefyr[/h2]

Yes, I also worked a bit on the game itself. Here are a few improvements:

  • I reused the “pet the dog” code from Lantern Island. You can now pet the dog in Zefyr too. Even if it’s more of a fennec fox actually.
  • Descriptions for all inventory objects
  • New footstep sound visual FX, hopefully less annoying
  • Shadow under the character when jumping to help for precise landing


And that’s it for this month. As usual, thanks a lot for your support & patience !
Take care!

NPC & Marketing

Hello there,

Here’s the usual update of the last month(es). I mainly worked on NPC & marketing during January & February.


I – NPC (Non Playable Characters)


During the past weeks, I upgraded my old placeholders for the NPC (the characters you’ll have to interact with in the game). For each NPC, I need to work on:

  • Visual design: I usually start with doodles on my sketch book. I try to also get an idea of the basic color scheme.
  • 3D Modelisation: I tend to reuse old model parts if possible (hands for example)
  • Texturing: I paint the textures in Blender and/or Krita and map them on the character
  • Rigging (creating the skeleton): I almost always start from another skeleton that I copy and scale/adapt to the new character morphology. I might encounter difficulties for the clothes especially (be sure they dont collide with the limbs for example). Some designs are more exotic than others regarding this point, and it might be a difficult problem to solve.
  • Animation : I create at least one idle animation, and usually 1 or 2 more (speak, variations of movements, …)
  • Integration in the game: I have to put the NPC in the game, and be sure that evertything loads & links correctly
  • Coding the presence logic: depending on time and actions done by the player, the NPC are not at the same place at the same moment.
  • Coding the dialog logic: depending on your actions, the character won’t say the same things. They can also create new quests or complete some. They can add items to the inventory, change story key points, …
  • Dialog & names localization: for each line, I have to translate it in French and English.
  • Avatar: I have to paint a 2D version of the character that will show in the dialog UI.
  • Now that I have all my workflow and tools set up, it generally takes between a few days and two weeks of work for each character, depending on the complexity and originality. This doesn’t include the debug of course. I sometimes find problems much later.


So in the end, I added/polished 8 NPC. Here are a few screens:


There are still other ones to create of course, but it’s starting to be nice.


II – Marketing


Regarding the marketing:

  • I still work on reddit ads. They bring some regular visits to the Steam page.
  • I started to contact streamers (youtube/twitch) to market the demo. I had to update my presskit with recent screens & logos. I reached out to 50 people, but it only ended up with a few videos. However, they are really nice (like this one, or this one (in French) for example) and the streamers were happy with the game. I need to keep on working on this.
  • Finally, I keep on trying to enter festivals. I recently took part in the Ninja & Pirates festival on Steam, but it wasn’t that successful for me. I also applied to the Cozy Family, WASD Curios & the Mix. We’ll see what comes out of it.



III – Bug fixes


Not a lot to signal here. Mainly:

  • arrow collision fix (this was a tough one, I couldn’t replicate it on my PC, so a big thanks to “Les Indés Primés” channel for helping me)
  • now saves in turtle mode
  • a few textures fixes here and there


This allowed me update the demo on Steam.

And that’s it ! The game is improving little by little. As usual, thanks a lot for your support and patience.

Take care

Happy New Year & Bug Fixes

Hello there, and a Happy New Year to all of you! I wish you health, joy, happy moments with family and friends, and fulfillment in your projects.

On my side, the last month has been quite productive with lots of little enhancements. It’s quite pleasing to see all these small upgrades slowly propagate through the entire game.


Level Upgrade


First, I worked on the visual upgrade of an old level that was far behind the others. I can’t show too much without spoiling, but you can check this out:


Still some work to do, but it’s already much more understandable than the previous “blocking state” look. I added crates, fabrics, desks, armchairs, sofas, pinboards, billboards, plants, arches, and architectural elements.


Doors & Enemies


I also took some time to start working on two things that were on my to-do list for a long time: signaling locked doors to players and adding contextual idle animations to enemies to tell a story without explicit dialogs.


Here you can see a mining robot. Yeah, I guess it’s better with animation and sound.


I used some kind of “hologram” to display the locked state of the door. I also use the hologram look on various other screens/displays/technological stuff throughout the world, so I thought that was the most logical thing to do. Plus, it’s pretty immediate to understand.


Unexpected Complexity



At some point, I added a super small improvement: displaying the maximum number of items that the player can collect. Surprisingly, this led to tricky questions about what I should do with unpickable items: destroy them? But when? What if the player can eat a few apples to regenerate her life and THEN free up some space to grab the apple on the ground? If the apple is destroyed the first time she tries to pick it, this feels unfair. Then should items be left on the ground? For how long? Should it be saved? What happens if the player moves to another island and gets back? And what will be the feedback for players to understand that they can’t take the item? It’s much more complex than one can expect, actually…


Many Bug Fixes & Improvements


In the end, I worked on ~ 250 fixes and updates, among which:

  • fix old collision bugs
  • fix bugs regarding missions, stories and dialogs
  • fix animation of robots & pirates
  • fix dialog translation
  • fix confusing stuff
  • fix graphical stuff (textures, reflection probes, particles, outline, cutscenes, shaders, bubble font size for 4K) on chapter 2
  • clean database (old prefabs)
  • fix old bugs arising from mode conflicts (what happens when cutscene+dialog+power up at the same time for exemple ?)
  • add NPC Reno in zoological center + power up animal detector
  • add accesibility option for camera moves
  • improve full item capacity handling & feedback
  • add fx & sfx for steps on terrain, rain, snow & breath in cold
  • clean/organization on disk for il2cpp compilation (optimized build & console compatible)
  • improve saves: bugs fix, clean & compatible steam save
  • upload test build to steam


And that’s it ! As always, thank you immensely for your ongoing support! I truly hope to be able to show the final game this year. If you want to support me financially (if you don’t already) you can check out my Patreon. Thanks a loooooot !

Peace !

Level Editor

Hello there!

Another month has passed, and for once, I’ve focused my work mainly on one thing. Remember my last attempt to create dynamic and slightly authored topologies from the last post? Well, I’ve taken it a step further. It’s now evolving into a level editor for Zefyr, and hopefully, other games. While I’ve already designed lots of levels for Zefyr directly within Blender, I’ve noticed some struggles in my workflow. Hopefully, this custom tool could help me iterate faster. I think I’ll use it to create bonus levels.

Anyways, here’s how it looks now:
[previewyoutube][/previewyoutube]


I – So what can it do ?


Here are the main functionalities:

[h2]TOOLS[/h2]
  • Base topology generated from a flow map and user-authored streamlines
  • Tile brushes created from basic quad and tri tiles
  • Auto creation of missing tile configurations when possible
  • Auto-smooth for normals
  • “Smart” gizmo snapping to the best neighbor to paint
  • Horizontal and vertical radii for brush size
  • Random variations from the tile set when available
  • Erase modifier
  • Selections
  • Entity brushes to create specific objects on the terrain with various parameters (snapping, random rotation, scale variations, propagate normals, …)
  • Scatter/spread mode for entities to quickly create vegetation for example
  • Warping/deform of the level through the underlying grid (FFD). Dynamic repositioning of entities
  • Undo

[h2]UI[/h2]
  • Basic UI and keyboard shorcuts
  • Previews for tile & entity brushes

[h2]SAVES[/h2]
  • Export to binary & ascii fbx
  • Save & load to json format


And I used it “for real” to create a 1st level that I imported into Zefyr! Yay. Finally, I have a fully functional pipeline. Check it out:


OK it’s a bit empty for now, but it’s only a matter of adding other brushes (rocks, vegetation, enemies, rewards, etc…).


II – What will it do ?


Of course, there are bugs, it’s not super stable, and it’s still missing many features, but in the end, it should have the following:

  • GLTF export (not for me at the moment, but if I plan to release this tool one day, it should be here, plus I love their open standard philosophy)
  • Ability to manually draw topology with a single stroke with automatic smart connection to already existing topology
  • Copy-paste (which will be something, given that the underlying topology is never the same)
  • Combining both previous tools: remodel an existing level by hand drawing contours/underlying topology. This one could be a killer feature. I’m still not sure if it’s even possible, but I like the idea
  • Layers
  • Custom properties on entities
  • Placement correction for each entity (move/scale/rotate)
  • Brush/entity/color sampling
  • Vertex color painting (mainly for terrain texture variations)
  • 1D & 2D tile brushes (for electric wires, fences, walls)
  • Add Wave Function Collapse to create general rules for automatic tile placement/validation. Imagine painting a road inside an existing town, and the surroundings would automatically adapt, creating tunnels, bridges, and connections where there should be.
  • This can also lead to smart brushes generating content semi-procedurally to directly paint districts/biomes
  • Also giving smart brushes the ability to spawn entities dynamically on tiles. This should allow painting buildings with windows, air conditioners, antennas, plants, or whatever could be on top of them with a single stroke.
  • Fill tool to repaint/change the look/style of whole areas at once


So this was a big month regarding tools. Oh, and now I’m on bluesky too: https://bsky.app/profile/oneiricworlds.bsky.social. Actually I’ve got way too many social networks.

As always, thank you immensely for your ongoing support! If you want to support me financially (if you don’t already) you can check out my Patreon. Thanks a loooooot !

And that’s it!

Take care.

Surprise Game & Level Design

Hi there!

September has passed, and it’s time for a little summary. What’s new this month?


I – Marketing


I’m still focusing on marketing with ads on Reddit and festival applications. The ads are yielding some results, and I’ve reached 3000 wishlists for the game. It’s not bad, but if I want the game to have a chance to succeed, I must aim for at least 10,000 wishlists. So, there’s still a lot of work to do!

I’ve also spent some time tracking similar games that streamers have played in the last few months to reach out to them. Hopefully, this should happen in the next few weeks.

Luckily, since the demo came out, some streamers spontaneously played the game (here, here, here or here), and were quite positive. However, it didn’t reach a super large audience. Nonetheless, it’s always comforting to see people play and enjoy my game!


II – New Little Game




And now, a little surprise! This summer, I took a detour from Zefyr and worked on some small projects (as I usually do during holidays). This time, I worked on “Splash Kids”, a co-op game about my family recoloring a gray city and fighting the Zombie-pocalypse. It’s a mix of Splatoon and Zombies Kids. I created this game as a gift for my (numerous) nephews. It was a lot of fun to work on and allowed me to experiment with new techniques and systems:

  • A customizable avatar generation system
  • General-purpose GPU computing (GP-GPU) for map coloring
  • Custom GPU instancing with tweening shader animation for vegetation

This was super interesting from a technical perspective, and I believe the final game was well-received. It’s completely free, and you can check it out here: https://oneiricworlds.itch.io/family


III – Classes & Level Editor


Over the past few weeks, I’ve been conducting classes on Game Design and Level Design. Consequently, progress on Zefyr has slowed down a bit. However, during this time, I dedicated some effort to develop a tool to enhance and streamline level design. I’m not entirely certain about its potential, as the mathematical aspects are more complex than expected. Nevertheless, I sense some promising possibilities.

Here’s the idea: envision something like Townscraper, but with the ability to control the base grid. Artists can provide simple, independent 3D tiles for the level designer to swiftly paint a semi-procedural 3D city (or any kind of level actually). This could be useful for rapid prototyping (which I’ve noticed consumes a lot of my time). While I think similar tools exist for regular quad grids, there’s a gap for completely customizable topologies. If this tool proves successful, I’ll use it for many of my projects, and hopefully, others can benefit from it as well.

Currently, it’s in a very early stage, quite rudimentary, buggy, and not very intuitive. Nonetheless, here’s a glimpse of what it looks like:


Roads (main topology lines) are built from a flowmap (or tensor field for math people) that the user can manually draw


Automatic quadrangulation/triangulation for concav inner parts. Far from perfect, but we’ll get there.

And that concludes this month’s update. As always, thank you immensely for your ongoing support! If you want to support me financially (if you don’t already) you can check out my Patreon. Thanks a loooooot !

Catch you soon and take care! Peace!