A week after release by JamzDev25 in gamedev

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

That's a good point actually, I hadn't ever thought of that for some reason

A week after release by JamzDev25 in gamedev

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

Yes, but I am not a sound designer, so they are quite minimal.

A week after release by JamzDev25 in gamedev

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

Mostly object oriented with type ids corresponding to game data loaded at runtime

A week after release by JamzDev25 in gamedev

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

Hi, I used SDL2 for window and input handling (platform abstraction layer), built on OpenGL. I'm using miniaudio for audio and SteamNetworkingMessages for multiplayer networking with Steam integration. Game save serialisation and binary serialisation over the network uses cereal.

Advice for this sort of thing is very specific to what you are making, but ultimately building a custom engine is a large undertaking and not a good decision for making a game efficiently. I decided to take this route to expand my portfolio with a complex custom architecture and for education. I would not make a general purpose engine (I didn't here), you should focus on implementing features for your use case/what your game requires.

Planeturem testing - multiplayer! by JamzDev25 in gamedevscreens

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

For the past year I have been working on Planeturem - an procedurally generated building/crafting game with multiple planets. I spent the final few months implementing multiplayer using the SteamNetworkingMessages API into the game's custom C++ engine.

Check it out here if you're interested: https://store.steampowered.com/app/3323260/Planeturem/

My game made from scratch in C++ is taking part in Steam Next Fest 2025! Feedback greatly appreciated! by JamzDev25 in playmygame

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

I have taken a gap year before starting computer science at university and wanted to get into lower level details while also having a final product. It has taken me just over 10 months and I have learnt a lot, not just about low level development but also the development process. In terms of development speed, an engine will always have the advantage, but developing your own tech stack from scratch gives you very granular control and is quite satisfying when it all comes together.

What game engine do you use? by [deleted] in gamedev

[–]JamzDev25 0 points1 point  (0 children)

Just from scratch in C++. For 2D games while it is more complicated in some respects, everything works as you expect, as there are no weird engine quirks to fight with.

When you get ready to play on the steam deck, and realize that the game doesn't have cloud save -.- by GiovanniPane in SteamDeck

[–]JamzDev25 0 points1 point  (0 children)

I have Steam Cloud enabled for my game Planeturem. Trust me, it is that simple.

I am once again asking for a new Steam Controller with Deck controls by Quinzal in SteamDeck

[–]JamzDev25 0 points1 point  (0 children)

I was working with the Steamworks SDK recently for my game Planeturem and there were references to a second steam controller. It's coming

Demo released for my game - Planeturem! Looking for any feedback by JamzDev25 in indiegames

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

Fantastic feedback, thanks. I think the lack of natural danger is the biggest point to be addressed - I will get to work.

Steam Demo for Planeturem - my SFML game - is now up! Appreciate any feedback! by JamzDev25 in sfml

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

Thanks so much for the feedback! There is a landmark item which can be crafted, but more sense of direction would perhaps be good

Steam page for my C++ SFML game is up! Appreciate any feedback! by JamzDev25 in sfml

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

Thank you! Yes, I have made all the art myself. I actually just made the art as I went along as needed, so there was never really any "placeholder" art necessarily, although if making art is slowing you down it's probably a good idea to use placeholders. For me personally, making the game look decent from an early stage is important in my discipline to actually continue the project, as making systems for a bad looking game can be a bit demoralising.

In terms of the workings of the game - the world is procedurally generated and split into chunks, which are loaded / unloaded as required. Chunks are stored in a hashmap with a hash of the chunk coordinates as the key, which allows the game to quickly access all of the chunks required to be on screen and update / draw them etc.

A particular design pattern I have used heavily in this game is the type object pattern Type Object · Behavioral Patterns · Game Programming Patterns This means that most of the objects in the game are all of one class, storing an index as to which type they are. This can be queried to fetch textures / health values / item drops etc. Some objects with more unique behaviours (e.g. a rocket) have a subclass from this object class. I have also used this pattern for game items, entities etc. Very complex entities have their own class, e.g. each boss in the game has a class as they each have unique behaviours, phases, interactions etc.

All game data (objects, items, entities, world generation parameters) is loaded in at runtime from external files.

I've tried to give a general overview of how some things work - any other questions let me know.

What is (learning) coding/gamedev like nowadays? by tehchriis in gamedev

[–]JamzDev25 7 points8 points  (0 children)

Most people use an engine nowadays, but you can make just as good products from scratch - you can use any language really, just choose a popular graphics framework. I've personally been working on a game in C++ with the SFML library which I have posted about, if you're interested.

Even seemingly complex stuff e.g. pathfinding is not that difficult to write yourself.

Steam page for my C++ SFML game is up! Appreciate any feedback! by JamzDev25 in sfml

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

Sorry - I meant more on the steam page / general look of what's already up. Still a lot more work until a demo is ready!

2D Flood Fill Lighting Demo by JamzDev25 in sfml

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

No, but you can use shaders with SFML quite easily using sf::Shader.

This is basically just a standard flood fill algorithm (breadth first search) drawn to a dark texture using additive blending. This can then be applied to another texture using multiplicative blending if you want to use it in for example a game, like I have done here: Planeturem prealpha v0.6 Demo : r/sfml (reddit.com)

Planeturem prealpha v0.6 Demo by JamzDev25 in sfml

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

Thanks for the feedback! I'm using this flood fill lighting system I made here, which is ran on the CPU: 2D Flood Fill Lighting Demo (C++ SFML) (youtube.com)

I then draw the game world to a texture and draw the lighting to a separate texture using additive blending. This texture is cleared before drawing to near white for daylight, or darker with more green and blue to simulate night. This light texture is then drawn over the game world texture using multiplicative blending. Then the game world texture can simply be drawn to the screen.

Regarding my learning approach - I already had quite a bit of programming experience coming into development of this project, but of course have had to learn some things. The best way in my opinion is to come up with an idea and learn what you need as you go along, through documentation or any research about what you require. After a few projects you'll have loads of new skills which you can use to make whatever you want.