Page 1 of 2
Nov'23 Gamedev Dailies
Posted: Sun Nov 05, 2023 5:48 am
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
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)
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
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.
Re: Nov'23 Gamedev Dailies
Posted: Sun Nov 05, 2023 5:52 am
by deleter
Day 4 - Dialog box
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.
Re: Nov'23 Gamedev Dailies
Posted: Mon Nov 06, 2023 6:05 am
by deleter
Day 5 - splosions
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.
Re: Nov'23 Gamedev Dailies
Posted: Tue Nov 07, 2023 6:09 am
by deleter
Day 6 - mazes
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.
Re: Nov'23 Gamedev Dailies
Posted: Thu Nov 09, 2023 7:46 am
by deleter
Day 7 - space
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
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.
Re: Nov'23 Gamedev Dailies
Posted: Fri Nov 10, 2023 8:29 am
by deleter
Day 9 - playing card foundations
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
Re: Nov'23 Gamedev Dailies
Posted: Sat Nov 11, 2023 9:43 am
by deleter
Day 10 - Skill / Tech Upgrade Tree
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)
Re: Nov'23 Gamedev Dailies
Posted: Sun Nov 12, 2023 8:26 am
by deleter
Day 11 - sdf detours
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.
Re: Nov'23 Gamedev Dailies
Posted: Wed Nov 15, 2023 9:20 am
by deleter
Day 12 - Derez Effect
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
Still was a bit low so I did some state management and input handling
cat sprite source
Day 14 - Drunken Missiles
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.
Re: Nov'23 Gamedev Dailies
Posted: Fri Nov 17, 2023 6:18 am
by deleter
Day 15 - Abstract Hex Game
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
Made a scene inspired by one of my favorite movies to play with segmented animation.