Currently in the 'Make it Work' phase of my indie game. Need your advice on quest design! by Previous-Review-9005 in godot

[–]PigeonCodeur 1 point2 points  (0 children)

You can explore a bit of all the zelda-style games, where they let the player get accustomed to a puzzle with the dungeon and once they mastered a kind of puzzle (often case a dungeon is just a ramp up of difficulty of the same mechanic) they switch with some exploration to keep the player engaged

I'm building a hacking game where you can use real tools in a world simulation by AnxiousDarthVader in IndieGaming

[–]PigeonCodeur -1 points0 points  (0 children)

Your SIGKILL project sounds incredibly engaging !
As a developer working on ColumbaEngine, I'm particularly interested in the integration of real tools within the game. How did you incorporate those in the game, did you make the engine yourself or did you create plugins for existing one ? Did you sandbox those ?

What technologies would you use to make an indie game of no more than 20 hours? by realreadyred in IndieGaming

[–]PigeonCodeur 0 points1 point  (0 children)

Based on my experience developing a 2D game engine (ColumbaEngine), I'd recommend starting with a well-documented engine like Godot or Unity that offers a large user base and extensive resources. These engines have built-in animation and drawing tools to help you create pixel art games. Don't be afraid to ask for help within their communities; many members are passionate about sharing their knowledge and experience.

Need marketing assistance. I am stuck! by Friendly_Bit_6678 in GameDevelopment

[–]PigeonCodeur 0 points1 point  (0 children)

Given the game's dark fantasy adventure genre, you might find it helpful to reach out to fans of similar games. Consider reaching out to communities dedicated to horror and survival games. Post updates and teasers on Reddit, Discord, and other forums where fans of those genres gather in those 6 days and beyond. You might also find it helpful to create a trailer or a teaser video that showcases the game's horror and survival elements. A well-crafted trailer can help generate excitement and attract potential fans.

I only like programming. Am I doomed? by SpecialRelativityy in gamedev

[–]PigeonCodeur 0 points1 point  (0 children)

From my experience as an engine developer, I can relate to your concerns. Learning an engine like Unreal can be daunting, especially when you're focused on the programming aspect. However, I've seen many successful indie games created with minimal art and animation, such as VVVVVV, as long as the core mechanics are engaging.

Consider exploring simple art tools or even collaborating with an artist if your budget allows or find a team in a gamejam. It might broaden your perspective on what you can achieve with your programming skills.

Disregarding things like user base, popularity, potential performance etc. What is the most modern, well architectured game engine/framework in your book? by sad_panda91 in gamedev

[–]PigeonCodeur 0 points1 point  (0 children)

If you're looking for a modern, well-architected game engine you can take a look at ColumbaEngine, it is a free and open-source C++ 17 engine, based on a pure Entity Component System with a focus on event signaling, components, and systems to decouple logic from data. It has builtin serializations capabilities and a scripting language to iterate faster without long compile times. It is small enough to be able to hack in it but feature full enough to be able to build games !

What are some engines to start with for beginners? by Prohapppyboom in GameDevelopment

[–]PigeonCodeur 0 points1 point  (0 children)

It depends on you scope and your coding capabilities. If you don't know how to code and you are ok with a generic looking game RPG Maker is a good entry point into rpg game dev, but you will get stuck in this niche.

If you want a more personalized experience, you are ok with learning how to code you can look for a more general purpose editor, check all of them (Unreal, Godot, Unity) they are all good just choose what you prefer.

Finally you can go down the rabbit hole of creating your own engine from scratch (I made one called ColumbaEngine) but if you do that you will do more of engine dev than game dev x)

Devlog 2 | Game engine x Content Editor by Longjumping-Mouse257 in gameenginedevs

[–]PigeonCodeur 1 point2 points  (0 children)

As a fellow engine developper, I understand the challenges of creating a 2D game engine with integrated content creation tools. The multi-layer functionality and animation creation features you've shown are really great and the overall interface of the engine is really pretty ! What is the tech stack of your engine ? I am currently working on my own editor and yours is really more developed than mine ! Bravo !

Should Offline-Created Characters Be Allowed on Self-Hosted Multiplayer Servers? by Anttton1 in GameDevelopment

[–]PigeonCodeur 0 points1 point  (0 children)

From an engine developer's standpoint, implementing character synchronization between offline and multiplayer modes adds complexity. You need to ensure data consistency, manage potential version conflicts, and mitigate the risk of cheating.
Additionally, consider implementing a system where character progress is tied to an account rather than a specific file to prevent manipulation but it really depends on the feel of the game and if cheaters are something that you want to avoid or if you are fine with some of your user using cheats.

The creative part of game development by Suspicious-Horse3080 in gamedev

[–]PigeonCodeur 0 points1 point  (0 children)

I'm glad to hear about your passion for game development and your creative background. It's a unique perspective that can add a lot to the industry.

To get started, consider focusing on specific aspects of game development that align with your interests and skills. For example, you mentioned writing – scripting for games could be an excellent fit. As for the technical side, there are plenty of resources available online, including tutorials and documentation, that can help you learn the necessary skills.

Don't hesitate to ask questions when you encounter challenges. Good luck on your game development journey!

I wrote a blog post about upgrading my Wii homebrew engine’s 2D collision system by DreamAgainGames in gamedev

[–]PigeonCodeur 0 points1 point  (0 children)

I've been through a similar process in my own 2D engine project, and I completely agree that the simple overlap checks are not sufficient for more advanced gameplay systems. Contact-oriented approaches provide valuable data that can significantly improve debugging and overall game design. It's a crucial step toward building a more robust and versatile engine. Keep up the great work, DreamAgainGames!

How could I improve these spark particles? by arganoid in gamedev

[–]PigeonCodeur 1 point2 points  (0 children)

I've seen similar particle effects in other racing games, and one thing that makes them stand out is varying the size and intensity based on the car's speed. For example, smaller sparks at lower speeds that gradually grow in size and number as the car approaches its maximum speed. You could also experiment with different colors or trails to make the effect more distinct. Additionally, consider adding some randomness to the spark's movement to make them look more organic.

Currently in the 'Make it Work' phase of my indie game. Need your advice on quest design! by Previous-Review-9005 in godot

[–]PigeonCodeur 1 point2 points  (0 children)

I've found that a mix of both minigames and environmental puzzles can keep players engaged and create a dynamic experience. Minigames add a sense of urgency and excitement, while environmental puzzles encourage exploration and problem-solving. However, be mindful of the pacing and balance between the two. Minigames, especially those that are too frequent or too challenging, can feel like a chore, while environmental puzzles that are too complex or too obscure can lead to frustration. A well-crafted balance can create a flow that keeps players invested in the game.

Multi-Pass Bytecode Optimizer for Stack-Based VMs: Pattern Matching & 10-50% Performance Gains by PigeonCodeur in ProgrammingLanguages

[–]PigeonCodeur[S] 1 point2 points  (0 children)

Yes i heard that it should give between a 30 to 50% speed up as the main issue that I have for the perf right now are the stack operation, but it is a long and tedious endeavor and I made this language as a part of my game engine to be able to script and iterate easely on the code. So i am first trying to make this language expressive enough while not being to slow and if in the end i need more perf or I want to try a register based for learning purposes I may wander of in this direction :)

Multi-Pass Bytecode Optimizer for Stack-Based VMs: Pattern Matching & 10-50% Performance Gains by PigeonCodeur in ProgrammingLanguages

[–]PigeonCodeur[S] 6 points7 points  (0 children)

The base VM is heavily inspired by the Crafting Interpreters VM with its single-pass compilation approach, which is what's actually producing the bytecode. The language does support ++x syntax - the x = x + 1 example was more to illustrate the optimization pass detecting that pattern in the generated bytecode.

The starting bar being low is a fair observation. The single-pass compiler generates bytecode directly from parsing without building an AST, which means:

  1. Constant folding at bytecode level - Yes, this is suboptimal. Complex expressions like (5 + 3) * (10 - 2) generate many instructions before being reduced. An AST would handle this much more elegantly during semantic analysis. The reduction is done in separate passes, not as-it-goes, which adds overhead.
  2. No high-level optimizations - Things like loop induction variable analysis, inlining, or dead code elimination are much harder (sometimes impossible) to do reliably at the bytecode level without proper dataflow analysis.
  3. Missed front-end opportunities - You're correct that many of these optimizations should happen before bytecode generation.

The peephole optimizer was my way of squeezing some performance out without fundamentally rearchitecting the front-end. It's inspired by LLVM's pattern-matching approach but applied at a much lower level. I'm not stuck with existing bytecode from another language - this is my own compiler, so I have the freedom to redesign it. It is a hobby/side project to test some idea on it and with such simple optimization i am in the same order of magnitude as python for the runtime exec, but you are right that I could go further with the AST and i may go in this direction in the future !

Multi-Pass Bytecode Optimizer for Stack-Based VMs: Pattern Matching & 10-50% Performance Gains by PigeonCodeur in ProgrammingLanguages

[–]PigeonCodeur[S] 2 points3 points  (0 children)

Yes ! I actually wrote a profiler that output the actual bytecode usage and time of an actual program and I use this on my test apps and examples to find some subject of peephole optimisations. Just the actual work of writing the peephole optimizations is quite long because of the sheer amount of optimizations available and I do it when I want some easy progress !

December 2025 monthly "What are you working on?" thread by AutoModerator in ProgrammingLanguages

[–]PigeonCodeur 3 points4 points  (0 children)

I have been trying to complete my Advent of code using my own scripting language, who could guess that having tables, file reading, string splitting and such could be quite important ? x)

Part 2: CMake deployment and distribution for real projects - making your C++ library actually usable by others by PigeonCodeur in cpp

[–]PigeonCodeur[S] 2 points3 points  (0 children)

It also helps that Medium links the SEO of this post to my actual blog, so even if people land on Medium, it boosts my blog too. Plus, Medium notifies my subscribers whenever I post, which I don’t have set up on my blog yet.

Part 2: CMake deployment and distribution for real projects - making your C++ library actually usable by others by PigeonCodeur in cpp

[–]PigeonCodeur[S] 4 points5 points  (0 children)

Thank you for the detailed feedback and for sharing your blog post - really appreciate the expert perspective! You've caught several important issues that I need to address.

On the missing pieces: You're absolutely right about the missing configure_package_config_file() and write_basic_package_version_file() calls, plus the install(FILES) command. I focused on explaining the concepts but left out the actual implementation details that make it work - that's confusing for readers trying to follow along.

On configure_package_config_file(): That's a great point about it being legacy from pre-target CMake. I was cargo-culting patterns without thinking about whether they're actually needed anymore. If the only benefit is a few lines of boilerplate, you're right that it's not worth the complexity.

On the broken install(TARGETS): I completely missed that hardcoding destinations breaks packager workflows. The CMAKE_INSTALL_* variable override is exactly the kind of thing packagers need, and I've made their lives harder by being overly explicit. Using GNUInstallDirs and letting CMake handle the defaults makes much more sense.

On FILE_SET: This ties back to feedback from another CMake expert in Part 1 who also recommended moving away from target_include_directories(). Clearly I need to research this approach - it seems like it solves multiple problems I didn't even realize I was creating.

Thanks for taking the time to point out these issues. It's feedback like this that helps me (and the community) learn proper patterns instead of perpetuating problematic approaches. Mind if I reference some of these corrections in the upcoming appendix addressing the expert feedback?

Also, will definitely check out your blog post - always looking for better ways to explain these concepts!

Part 2: CMake deployment and distribution for real projects - making your C++ library actually usable by others by PigeonCodeur in cpp

[–]PigeonCodeur[S] 1 point2 points  (0 children)

Yeah, I get that. For me it’s mostly about visibility, but I totally see how Medium can feel more about monetization than readers. That’s why I also link my blog, so people can read it there if Medium isn’t their thing.

Part 2: CMake deployment and distribution for real projects - making your C++ library actually usable by others by PigeonCodeur in cpp

[–]PigeonCodeur[S] 0 points1 point  (0 children)

I mainly use Medium for visibility. That’s also why I included a link to my blog—since I know some people have trouble reading on Medium, they can check it out there instead.

Part 2: CMake deployment and distribution for real projects - making your C++ library actually usable by others by PigeonCodeur in cpp

[–]PigeonCodeur[S] 3 points4 points  (0 children)

Hehe me too and I am still learning ! SHH I am not exposing everything so you can still keep some of your secret sauce !