Nov'23 Gamedev Dailies

A place to house devlogs of member’s projects.
User avatar
deleter
Posts: 56
Joined: Mon Feb 15, 2021 5:40 pm

Nov'23 Gamedev Dailies

Post by deleter »

Been posting these on the discord but going to put here for posterity or something --

Trying out an experiment this month where I spend a little time each day working a gamedev “sketch”. This could be anything from a sprite animation, to a shader, to an npc behavior state machine. The idea is to stretch and build my skills and push my framework forward, but do it in a way that doesn’t involve making a whole game. Even a smaller project takes a fair bit to put together, and if I want to play with ten different screen construction methods I don’t want to have to make 10 games (or even 10 game prototypes). Goal was originally 30-60 minutes. Think its more reasonably 1-2 hours after doing a few of these.

Day 1 - Parallax
Image
Mostly happy with today, there’s a few things I’d do different, but like a sketch, I wanted to work fast and loose all the way through without revising. From a process perspective I really enjoyed this.

Day 2 - Health Hud (a la Diablo)
Image
Implemented a diablo-style health orb. while the effect is relatively simple, under the hood I decided to implement this via a dynamic render pipeline so now my framework has one of those.

Day 3 - SDF Screen Wipe
Image
I thought a lot about text rendering routines before realizing I just didn't have the braincells for it today. So I pivoted to screen wipes using SDFs and my new shader pipeline, leveraging my day 1 sketch as the canvas.
User avatar
deleter
Posts: 56
Joined: Mon Feb 15, 2021 5:40 pm

Re: Nov'23 Gamedev Dailies

Post by deleter »

Day 4 - Dialog box
Image
Leaned on some assets today to construct this scene. I didn't do dynamic text layout yet, realized I needed to take a more incremental approach and not boil the ocean*. I did however add text lines to my asset manager, meaning they are now specified in data files instead of hardcoded.

Spent a lot of energy today making the background of the dialog box animated. I am happy with the direction, though it drives me to want to write a palettizing shader. For kicks I did some post processing with aseprite to a smaller palette and I actually liked the ripple effect on it better. I didn't want to share that one since it's not the true result, but at some point I'll do it in-shader and then I can share it.

Credits - scene background is from ansimuz, the dialog box's water tile is ninjikin. The shark is a rasterized and cleaned up version of some vector art. The ripples use a shader based on OpenSimplex2. Finally the font is c64esque.
User avatar
deleter
Posts: 56
Joined: Mon Feb 15, 2021 5:40 pm

Re: Nov'23 Gamedev Dailies

Post by deleter »

Day 5 - splosions
Image
Not quite happy with where I was able to push it in my time allotment, but it's a sketch after all. It's been too long since I implemented explosions and I didn't have as much time to do studies / reference. But that's the beauty of these dailies, I'll have more of a foundation to build off of next time.
User avatar
deleter
Posts: 56
Joined: Mon Feb 15, 2021 5:40 pm

Re: Nov'23 Gamedev Dailies

Post by deleter »

Day 6 - mazes
Image
Had to bring my tilemap rendering over into my new rendering pipeline for this, and spent a little time reading up on maze generation. Using the ultra-simple sidewinder algorithm for this. But now that I have a template for it I will revisit with some more advanced generators.

Had fun with this one, arranged my tilesheet in a very specific order so that I could represent each cell's N/E/S/W with a bit. In other words, a dead end with only a north facing exit is 0111. (I chose 0 to mean open, both because it looks like an 'o' and because open circuits are off). This means there's no translation needed between the abstract maze data and the tilemap.
User avatar
deleter
Posts: 56
Joined: Mon Feb 15, 2021 5:40 pm

Re: Nov'23 Gamedev Dailies

Post by deleter »

Day 7 - space
Image
It's been forever since I've done a simple star effect. Threw in a bit of parallax on the console for kicks. In order to get this scene to work, I enhanced my framework to allow text to be rendered "in world", whereas prior it was assuming all text was UI and thus ignored camera position.

Day 8 - text layout
Image
Decided it was time to take a stab at text layout. The code is mostly a hot mess, but I knew that was going to be the case. Ran into a couple of decision points that can now simmer in the turtle brain so that when I attack this again in the future I can do a few things better. That being said I did go ahead and implement this using a buffer that only updates when the layout changes. If I were to "bake" any given dialog or text strings when they're displayed, idk if the algorithm has to even be that efficient. Either way glad I made an attempt at this.

Spent about two hours on this. To support to the immediate effect, I updated my framework to allow me to print out subsets of a string asset which makes it a lot more useful. Didn't want just entirely plain text so I implemented the shadow you can see here with a shader.
User avatar
deleter
Posts: 56
Joined: Mon Feb 15, 2021 5:40 pm

Re: Nov'23 Gamedev Dailies

Post by deleter »

Day 9 - playing card foundations
Image
Had some other ideas of things to implement but they required more gui code than I've written or could sanely fit into one night. Was browsing assets and saw some playing cards and realized I've never thrown together a card game despite thinking about it a lot. Put a little too much time into this, but really happy with how it turned out. I built the actual bones for a full game even though I didn't program interaction / game rules. This took about 5 hours, including sourcing and adding a 9 and 10 to the card assets + restyle.

credits for this one include the cards, the background pattern, and the abyss 9 palette
User avatar
deleter
Posts: 56
Joined: Mon Feb 15, 2021 5:40 pm

Re: Nov'23 Gamedev Dailies

Post by deleter »

Day 10 - Skill / Tech Upgrade Tree
Image

I knew this was going to be a tougher one, but the idea got lodged in my brain to write a skill / tech tree and wouldn't come out. Had a lot of fun with it, even though it took about 6 hours (maybe a little under half that on the art, even using some assets).

It exposed a bit of a weakness with my current setup, which is the authoring and specification of arbitrary data. While my ECS happily contains all the info needed for this, I haven't written generic persistence logic for it yet. I ended up hacking a solution that printed out code to the console that I copied back into my source.

On the data authoring side, while I do already have dear imgui integrated, I don't have anything pre-built that would give me high leverage in a situation like this. There are probably a few widgets and auto-generated forms based on common needs that could probably help me out.

credits: started with some vector art for the root system, used some nice icons for the upgrade options, and the lovely cybergum6 palette.

(made some small edits the next day to improve coloring / highlighting behavior, image updated)
Last edited by deleter on Wed Nov 15, 2023 9:26 am, edited 1 time in total.
User avatar
deleter
Posts: 56
Joined: Mon Feb 15, 2021 5:40 pm

Re: Nov'23 Gamedev Dailies

Post by deleter »

Day 11 - sdf detours
Image

The original plan for today involved some math that I wanted some visual debugging tools for. Since I didn't have any primitive drawing capability in my framework yet I decided to do this with SDFs. This required enhancing my shader pipeline to accept uniform arrays so it was doubly productive.

Since SDFs are the most powerful when they are all computed together, I implemented this with a command + data buffer passed in over uniforms. First time I've done something like this in a shader. I'm not sure how far this will scale (or work on older computers / webgl), but as I'm only using it for debug info that should be fine. Was able to push this to 192 lines on my computer before I ran out of uniform space.

I never quite got back to my original plan, but now I've got some really solid pieces I can use to visualize it once I do.
User avatar
deleter
Posts: 56
Joined: Mon Feb 15, 2021 5:40 pm

Re: Nov'23 Gamedev Dailies

Post by deleter »

Day 12 - Derez Effect
Image
Didn't have much energy this day so I knocked a derez shader off a backlog of shaders I want to write
bug image source

Day 13 - Simple control & state
Image
Still was a bit low so I did some state management and input handling
cat sprite source

Day 14 - Drunken Missiles
Image
Been wanting to try my hand at the drunken missile effect since Sirocco shared a blog post about it near the beginning of the year. My implementation is a lot more crude b/c 2d is more forgiving and I don't have time to trudge through all the math. Really happy with how this turned out. Re-used my explosion from a few days ago and happy with how it pulls into this effect.

Got some good new work with splines in, and then re-used a few things like line drawing and some shader basics from the last few days. Still feels different enough but also good that some of the techniques and ideas are stacking / able to be used to express different ideas.
User avatar
deleter
Posts: 56
Joined: Mon Feb 15, 2021 5:40 pm

Re: Nov'23 Gamedev Dailies

Post by deleter »

Day 15 - Abstract Hex Game
Image
This sketch is a seed of a concept that's a mix of Hive and Go. didn't design a full game, just placement rules. pulled over and cleaned up my hex code from moon cult conspiracy so its more generic. not quite framework-worthy yet but on its way

Day 16 - Segmented Animation
Image
Made a scene inspired by one of my favorite movies to play with segmented animation.
Post Reply