@colinbellino@mastodon.gamedev.place avatar

colinbellino

@colinbellino@mastodon.gamedev.place

Freelance programmer & maker of weird things. I post mainly about programming and game development, and repost cool art. (they/them)

This profile is from a federated server and may be incomplete. Browse more on the original instance.

floooh, to random
@floooh@mastodon.gamedev.place avatar

Working on integrating sokol_imgui.h into the sokol-zig bindings (a bit tricky because I don't want to add a cimgui + Dear ImGui dependency to the sokol-zig bindings package, but the Zig build system is quite flexible and I found a quite clean way).

Not quite ready yet but I hope to wrap everything up tomorrow (including detailed readme updates)

Sample project is here (should already work, it currently pulls the sokol dependency from a branch that's not merged yet).

https://github.com/floooh/sokol-zig-imgui-sample

video/mp4

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

@floooh Ooh very nice !
I was looking into doing just this for Jai just yesterday, will definitely have a look this 👀

mcc, to random
@mcc@mastodon.social avatar

Asking for a friend*: Are there any books about ECS, code patterns that work well with ECS, common pitfalls of ECS? She's thinking about the Gang of 4 book or Nystrom's "Game Programming Patterns" and wanting that but for ECS.

  • You know… my "gal pal".
colinbellino,
@colinbellino@mastodon.gamedev.place avatar

@mcc closest thing that comes to mind is Data-Oriented Design by Richard Fabian.
While not specifically about ECS, it does mention the approach and is a great read for programmers in general.

Also available online (in a slighly less sexy format): https://www.dataorienteddesign.com/dodbook/

Edit: re-read your message, this might be a little too off-topic, sorry about that.

grumpygamer, to random
@grumpygamer@mastodon.gamedev.place avatar

Spun up a new SVN server. Git/LFS just doesn't cut it with large art files multiple devs can be working on. SVN has so much historical cruft.

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

@grumpygamer i think SVN is still the way to go for most game projects for sure. Git/LFS is such a pain, especially working with less technical people on the team..even with a GUI 😭

Recently, i have been giving https://ark-vcs.com, and so far i've gotta say, it's super interesting !
Very refreshing to see a VCS built for performance and games. Although it still has some issues, it's definitely something i'm looking forward to.

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

@grumpygamer mainly that some features are missing (but planned): macos/linux client and encryption are the big ones for me.

But those are on the roadmap for 1.0 or later (https://ark-vcs.com/roadmap.html) so if those aren't deal breakers for you at the moment, totally worth a shot in my opinion!

noelfb, to random
@noelfb@mastodon.social avatar

are there any lightweight bug/issue trackers that can just work locally within a repository?

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

@Liquidream @noelfb @obsidian was also recommend this workflow, i think it works well for small boards and i just love having the data accessible as a markdown file :)

colinbellino, to gamedev
@colinbellino@mastodon.gamedev.place avatar

Hello there fellow 👋

I recently started to participate in a gamedev challenge () to try to keep me motivated and forcing me to post updates somewhat regularly.

Until now, i posted only on discord, but i think it might be better to do it in here instead. I don't really like that stuff like that gets lost on hard to search, not indexable discord servers...

So i'll try to duplicate the first days here in a thread (maybe?) and keep adding new ones as i go :)

Cheers

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 010-011: Plug the animation system with my entity system so i can animate units. Animation works for color, scale, position and sprite/texture, still haven't done rotation because i'm not sure i actually need that.

Still chipping at the project 1 hour at the time, I can't wait to be able to spend more time on this haha.

#100daysofgamedev #gamedev

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 012-013: Making the animation system work on units and plug that into the battle system to have some (very) crude unit movement. The pathfinding isn't plugged in and the animations are obviously placeholders, but hey, it's progress 😉

#100daysofgamedev #gamedev

Video showing a very barebone units movement system, they just lerp position from A to B, no animation, not following grid pathfinding, etc

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 014-015: Fixed some rendering issues, memory leaks, and upgraded DearImGUI to the "docked" branch.

Day 016: Updated the engine to allow nesting transforms components into their parents so i can scale/move only the parent (unit) and have the children (hands) scale and move accordingly.
Also got back to unit walk animation which i'll be able to showcase here soon.

#100daysofgamedev #gamedev

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 017: Lost half the day trying to open a 2 years old Unity project because everything that could go wrong, did just that (multiple crashes, asset references lost, bugs, missing packages, etc). Finally got it running after 3 hours of madness.. I do not miss working with Unity haha.

Rest of the day i spent working on my server, slowly starting to move my git projects to it because i don't want to depend on Microsoft for that anymore...

#100daysofgamedev #gamedev

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 018 (1/2): Investigated a memory leak in one of the libraries i am using, i think it's probably me doing something really dumb in my DearIMGUI or Tracy calls haha.
So i'm putting tools in place to track allocations that are done in C/C++ libs (everything is already tracked and budgeted in my Odin code) and hopefully i'll report back on this tomorrow 🙂

#100daysofgamedev #gamedev #odinlang

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 018 (2/2): I wanted to spend more time on the actual game and less on the tools but i'm thinking long term so i have to resist and make sure i make the tools i need along the way. I'll get there ^^

#100daysofgamedev #gamedev

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 019-022 (1/2): was sick for the last week or so but managed to get some work done here and there.

Managed to integrate Tracy (frame profiler) with my tools so i can track cpu usage and memory usage of my arenas. Right now i have just two memory arenas (one for the engine and one for the game data), but that will change soon as i add more game systems. And a small one for scratch data, that i clear at the end of the frame.

...

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 019-022 (2/2): While doing that i found some issues on my architecture and managed to fix a lot of them, but at that point i have to resist very hard not to spend too much time rewriting it again.

Should be back on game systems tomorrow if i'm well enough to work, i have more work to do for the units movement animations 🙂

Here is what it looks like in tracy (https://github.com/wolfpld/tracy), highly recommend this frame profiler.

#100daysofgamedev #gamedev #odinlang

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 023: Spent some time moving the animation system to the engine code and make a simpler API.
It's not much but that allowed me to prepare some stuff for the next step which is: to chain unit animations (walk, climb, jump, change direction, etc) and loop/repeat them when needed.

#100daysofgamedev #gamedev #odinlang #programming

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 024: More animation work. I updated the system to be able to easily queue animations and wait for them to complete (ie: during battles and cutscenes).
It's not looking great because the path finding isn't plugged in yet and i'm still using placeholder animations, but the code is there at least.

Also, I had to spent half the day fixing my work environment (OS and editor :/) because it's one of those days where everything decided to fail... sigh

#100daysofgamedev #gamedev #programming

video/mp4

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 025: I've been experimenting a little with DearImGUI docking branch and having the game run inside a window, so i can move, resize and dock it like any other.

Not sure i'm gonna keep it like that, but it was interesting to investivate and see how that would work.

#100daysofgamedev #gamedev

video/mp4

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 026: Add unit facing direction and flip animation during movement. Some minor work on dev tools for animations and rendering.

Edit: Eww, mastodon is converting videos to gif and the quality is awful :/

#100daysofgamedev #gamedev #animation

Pixel art animated character moving around and flipping direction.

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 027 and 028 are linked below, because i fucked up and didn't attach them to the thread 😭

027: https://mastodon.gamedev.place/@colinbellino/111258097842896167

028: https://mastodon.gamedev.place/@colinbellino/111263222471535720

#100daysofgamedev #gamedev

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 029: Started implementing audio playback in the engine today.

I wanted to try out both sokol_audio and sdl/sdl_mixer so i coded a small prototype in both and i think i'm gonna stick with SDL2 for now. The SDL3 branch also looks super interesting with that new audio system 👀 (but not diving into that now haha). So far i got a simple wav file loading and playing with some basic mixing, next i'll integrate that into my existing asset pipeline and see how this goes.

#100daysofgamedev #gamedev

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

DAY 030: Updated my build script to handle audio files and plugged the audio system into the asset pipeline. So now i can load/unload sounds like all my other assets, hot reload too (though i haven't used this in a while tbf). I need to work on having different load options for audio files next, since i'll probably need to handle small sound clips differently than big music files.

Here is a short clip of how it works right now in my ugly assets UI 🔊:

#100daysofgamedev #gamedev #audio

A debug UI for a game, showing a list of assets. The player then load some audio assets and play then in the editor (sound might be loud). Trivia: Those are a placeholder sounds from the original LEMMINGS games and one from Final Fantasy Tactics ;)

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 031: More audio work, i think it's good enough for now. I've added battle music and the first sound effects into the game (and engine). Everything is now handled like other assets by the engine and can be called from game code easily when i need to.

#100daysofgamedev #gamedev #audio

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 032: Still under the weather today but managed to work a couple of hours, so i added events into the animation system so i can play sounds at any point during an animation.

#100daysofgamedev #gamedev

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 033: Added CPU controlled entities and time_scale so they can battle without me \o/

This is just a first pass, so the CPU is just choosing random targets at the moment and not really planning its turn. And now i can increase the time_scale and the battle goes brrrr!

Also, did some clean up of the animation system and queues, and fixed an audio issue on Windows.

#100daysofgamedev #gamedev #odinlang

A video showing a turn based game playing by itself while a time_scale value is tweaked in debug menu. Animations and turn speed is increased. (Sorry for the crappy description, i"m pretty tired atm.)

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 034: Migrated more code from the game to the engine and rework the entity/component code to make it easier to use in game code.
I don't need a full blown ECS, just components and entities, so i'm going for something simple (inspired by https://github.com/NoahR02/odin-ecs)

#100daysofgamedev #gamedev #programming #odinlang

colinbellino,
@colinbellino@mastodon.gamedev.place avatar

Day 035-036: Had to rework a some code after the entity/component changes because i didn't want to lose quality of life features like code hot reloading just for this system.

Day 037: Back to game code so i added ability damage, death animation, win/lose condition detection and color palette swap to differentiate teams during battle.

#100daysofgamedev #gamedev #indiedev

video/mp4

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines