- 2 Posts
- 153 Comments
soulsource@discuss.tchncs.deto
Game Development@programming.dev•What′s C++ like in gamedev?
2·8 days agoThe actual writing of course isn’t pure. Loading isn’t either, but we only support loading on level transition, so we can supply the data already when constructing the game state. Saving is done by gathering all the data that should be saved in a struct, what is pure and happens at a well defined point in the frame, where the game state is known to be consistent (-> I think it’s after all systems have been updated), and then this struct is written out to a file.
soulsource@discuss.tchncs.deto
Game Development@programming.dev•What′s C++ like in gamedev?
1·8 days agoAs said, we try to. Not that we managed to reach this ideal in any existing project yet. We did manage to get Auto-Save implemented without affecting the “purity” of computations, but as you said, achievements and analytics are a PITA. I think those are possible with pure computations too, but we did not yet manage to build the game architecture in a way that makes that work. Yet.
I’m currently on a research project to investigate how much of a game we can move into pure Embedded Domain Specific Languages. So, basically a set of gameplay scripting languages that enforce the “everything that happens during the frame is pure” constraint. Buuut, again, this project is still at its early stages, and under very strict budget constraints, so I cannot say yet if the outcome will be a feasible architecture or not…
soulsource@discuss.tchncs.deto
Game Development@programming.dev•What′s C++ like in gamedev?
2·9 days agoEvery function has side effects and variables will need to be modified in multiple places in the same frame
We try to avoid exactly that, because it is what caused us man-years of bug-hunting and bug-fixing over our past projects. Our end-goal (that is still very far away…) would be to have the state from the previous frame and the user inputs, do only pure computations based on this data, and write out a new state before rendering the current frame.
We do use C++ though (because Unreal, and console platforms), what makes this extra hard, because C++ is a language for writing bugs, not for writing software.
I don’t know if there are direct USB-C to PS/2 adapters, but assuming not: USB-C to USB-A adapter followed by USB-A to PS/2.
soulsource@discuss.tchncs.deto
Steam Hardware@sopuli.xyz•what exactly is the steam frame?English
15·19 days agosmall performance hit
How big the performance hit is depends on the game. If the game logic itself is CPU-heavy, the performance hit will be big. If the game spends most of the CPU time in system-supplied libraries or isn’t CPU-heavy to begin with, it’s gonna be small.
The good news is that many VR titles aren’t CPU-heavy.
soulsource@discuss.tchncs.deto
Rust@programming.dev•Where to start if I wanted to try making my own drawing program?
3·22 days agoFor 2) I’d also suggest to check out SDL. There are excellent SDL bindings for Rust, and it’s way less involved than dragging in a fully-featured game engine.
soulsource@discuss.tchncs.deto
Steam Hardware@sopuli.xyz•I was recently gifted a Steam Deck for Christmas! If you only had a budget of, let's say 50 bucks, what would you get?
14·26 days agoFor $50 I’d get (afaict current prices):
- Hades ($7.49)
- Pathfinder: Kingmaker ($2.99) (make sure to force-enable the Windows build on the Steam Deck, the Linux build has issues with gamepad input on the kingdom management screen)
- One Deck Dungeon ($1.99)
- Slay the Spire ($2.49)
- Wildermyth ($16.24)
- Against the Storm ($8.99)
- Terraformers ($7.99)
This totals now $48.18. If you have an additional dollar to spare, I’d also recommend to get something to scratch that retro-gaming itch:
- The Settlers 2 ($2.73 on GoG - needs DOSBox, for which I’ve written an install guide)
That’s now $50.91 in total.
soulsource@discuss.tchncs.deto
Rust@programming.dev•Memory Safety Philosophies: Rust vs C++
2·28 days agoOh, sorry. I stand corrected then.
soulsource@discuss.tchncs.deto
Rust@programming.dev•Memory Safety Philosophies: Rust vs C++
6·28 days agoI’m willing to bet that it’s AI. It soft-contradicts itself quite often, emphasising that C++ is “Performance First”, but then also claiming stuff like “Rust achieves memory safety with zero runtime overhead”.
Edit: What I am trying to say is that I have seen text like this in LLM output quite often, if the LLM is mixing text from different sources in its training data.
Also, there is just wrong stuff in the text itself, not only in the conclusion. For instance the claim that Rust’s type system makes data races impossible. They are easier to avoid, but there is nothing stopping you from writing data races… Here, for instance, have a data race in safe Rust…
soulsource@discuss.tchncs.deto
3DPrinting@lemmy.world•Where do you guys buy your 3D print and such at?English
2·29 days agoI’m new to both, FreeCAD and Blender, but what I’ve been doing up to now:
- Draw the to-measure parts in FreeCAD
- Export them as STL
- Import STL in Blender
- Add decorative elements there in Sculpt Mode.
- Profit
soulsource@discuss.tchncs.deto
Steam Hardware@sopuli.xyz•Latest Steam Deck update will warn you if an Xbox controller needs upgrading
1·1 month agoOh, and a small follow-up:
I just asked my partner which gamepad feels “better”. She chose the Xbox Series X controller, so maybe my opinion isn’t the most objective one.
soulsource@discuss.tchncs.deto
Steam Hardware@sopuli.xyz•Latest Steam Deck update will warn you if an Xbox controller needs upgrading
1·1 month agoThere are several small differences between the Xbox 360 and the Xbox Series X gamepad. No single point by itself would be a very big difference, but overall it sums up. I have both gamepads in front of me, and will try to make a comparison:
- The material of the Xbox 360 gamepad feels “better”. I can’t exactly say why, but I think it’s because of its smooth material on the bottom.
- The Xbox 360 gamepad has bigger analogue sticks, with stronger springs.
- Similarly, the triggers of the Xbox Series X gamepad are “weaker” than of the Xbox 360 gamepad.
- I would have sworn that the Xbox Series X controller is a lot lighter too, but turns out, after weighing them both, that the Xbox 360 controller is slightly lighter. It does not feel this way though, with the Xbox 360 gamepad feeling way sturdier and heavier (but, as said, it’s actually lighter?!?).
- The buttons on the Xbox 360 gamepad feel a lot smoother. They don’t make a “cheap, broken device” noise when being pressed.
- This also applies to the D-Pad.
I think the last point - the feeling when using the buttons and especially the D-Pad - is the most important one for me. On the Xbox 360 gamepad the buttons feel like actual buttons. On the Xbox Series X gamepad they sound and feel like a fidget toy. Using the D-Pad on the Xbox Series X gamepad is really annoying, because of the noise it makes.
soulsource@discuss.tchncs.deto
Game Development@programming.dev•What are the most simple free engines and tools for a beginner?English
2·1 month agoJust to toss this in: If all you need is to draw stuff to the screen, play audio, and handle input, you might have a good experience with using SDL or raylib. Those are “just” libraries and not fully featured engines, so they don’t come with advanced features like asset management or a ready-to-use level-editor.
I am not saying that those are a better option than a fully featured engine, just that, depending on what you are trying to achieve, they might be.
soulsource@discuss.tchncs.deto
Steam Hardware@sopuli.xyz•Latest Steam Deck update will warn you if an Xbox controller needs upgrading
3·1 month agoWhat annoys me is that previous generations of Xbox controllers had quite good build quality. The Xbox 360 controller was amazing in that regard, and the Xbox One controller was pretty decent too. The Xbox Series X controllers (and I am explicitly not excluding the “Elite” model) feel like cheap trash in comparison.
soulsource@discuss.tchncs.deto
Steam Hardware@sopuli.xyz•Latest Steam Deck update will warn you if an Xbox controller needs upgradingEnglish
8·1 month agoThe worst part is that it is incredibly difficult (impossible?) to update the controller firmware on anything other than an Xbox or a Windows PC…
I’d go with different system acounts. That way their savegames are guaranteed to stay separate.
That’s because on PC most games just care about the system user when determining the savegame folder, and don’t care about steam accounts.
So, what I’d do is to:
- Give each their own system account
- Set up Gamescope as a session: https://wiki.archlinux.org/title/Steam#Big_Picture_Mode_from_a_display_manager
- Configure the Display Manager to use that session for their users (In GDM, for instance, it’s enough to manually select it once on login - GDM remembers the last-used session per user)
- Profit
soulsource@discuss.tchncs.deto
Steam Hardware@sopuli.xyz•Steam Deck lead reveals Valve is funding ARM compatibility of Windows games “to expand PC gaming” and release “ultraportables” in the futureEnglish
5·2 months agoGamedev here: For non-indie projects it’s not up to the devs to decide which platforms get a native build. That decision is made by the publisher, and usually depends strongly on the estimated amount of extra work needed to make a native version. I agree with your statement, that if devs use ARM development PCs, they get a strong argument to convince publishers to pay for a native version, because porting costs will drop to near-zero.
However (there always is a “however”): Many devs cannot switch away from Windows. If one develops for PC only, it’s possible. If one targets other platforms too (think: game consoles), one is stuck with whatever development environment the manufacturers of those platforms support - what is typically Windows and Visual Studio. It is kind of a chicken-and-egg problem. Platform SDKs will be made available for other operating systems or processor architectures once enough gamedevs are using those. Gamedevs cannot yet use those because platform SDKs aren’t available for them…
It’s, to be honest, a frustrating experience… I personally would switch away from MSVC and Windows the moment I get an opportunity to. However, there never was an opportunity up to now… Our previous tech-director was pushing for Linux on dev machines - or rather: “let the devs use whatever they want, as long as it works” - but there never was an opportunity to switch, due to our games’ target platforms allowing only Windows for development…
soulsource@discuss.tchncs.deto
Steam Hardware@sopuli.xyz•How do you download your GOG games?English
6·2 months agoI’ve never used Heroic, so I can’t say what to expect, but I’ve never had any issues downloading games via the GoG website.
Have you tried that? Maybe it’s faster?
Though, honestly, I think i might just be some outage on GoGs side. If the downloads via the website are slow too, it might be worth talking to their support.
soulsource@discuss.tchncs.deto
Gaming@beehaw.org•Where Winds Meet players are tricking AI-powered NPCs into giving them rewards by using the 'Solid Snake method'
23·2 months agoThat “Solid Snake Method” sounds a lot like the emacs doctor…
In case you don’t know what the emacs doctor is: It’s an easter-egg of the text-editor emacs (it is, however, mentioned in the manual). The doctor is a chatbot based on ELIZA, and meant to portrait a psychotherapist. Since it is a rather simple script, it is very limited in what it can do, and mostly just reformulates user input as questions.


Thanks, gonna do that first before I start my next print. This sounds like a really plausible cause!