Replies

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

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

a new Nintendo console will be announced during this fiscal year.

jakub_neruda,

@djlink Oh no, not dual screen. Twenty years from now it will be a pain to emulate 😅

Right now I am playing Trackmania Turbo DS on my phone and I had to remember how to navigate menus so I don't have to constantly switch screens 😉

jakub_neruda, to cpp Czech

My networking code is doomed to never get itself into production. What the hell is this error about?

jakub_neruda,

@gracicot Sadly, the compiler output is exactly the same as the error output.

Btw, since MSVC 17.8.5, they included a button that shows you the structured output from the compiler output that is related to the error.

Plus I fear that even if I had clang, I am using such cutting edge features that the code wouldn't compile.

I am 99% sure this is caused by my intermixing of modules with headers, but I am not sure why. Standalone server binary compiles just fine, problems arise when I spawn the server inside the game code...

jakub_neruda, to rust Czech

Tip 40 of - Rust's error propagation is amazing

As much as I love C++, its optional and expected objects can just envy one killer feature of their Rust counterparts. If you're working with a Result<T, E> in a function that returns a Result<U, E2>, you can use operator ? to simply unwrap the Ok value into a variable. If the result contains an error, Rust will not panic; rather, it returns that error from the current function similar to how exception would bubble up the code. The only limitation is that the function must return Result with the error type to which the propagated error can be implicitly converted.

Option also supports the operator ?, which either propagates None up the call stack or safely unwraps the stored Some.

I'd kill to have this in C++, where you would have to employ non-standard compiler extensions to create a macro that would be at least close.

jakub_neruda,

@smoku I am not sure I like this. One of the reasons why people dislike exceptions is that you never know the full set of exceptions that can be thrown from the function.

If Zig does this in compile-time then do you have visibility into the full set of exceptions?

jakub_neruda,

@lhp @smoku Not sure what you mean by this. Can you please explain more?

hbons, to random
@hbons@mastodon.social avatar

typedef uint8_t u8;
typedef int8_t i8;
typedef uint16_t u16;
typedef int16_t i16;

should have done this ages ago...

jakub_neruda,

@hbons @MostlyBlindGamer One could possibly confuse it with unicode encodings or complex numbers...

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

PROBLEM:
Social Media can be linked to depression

SUGGESTION:
Try to improve Social Media life, by balancing successful/beautiful posts (e.g. ), by also posting brutally honest imperfect/failed attempts (?) 😉

HASHTAG =

jakub_neruda,

@Liquidream Do quirky, funny bugs also apply or just downright failure / burnout stories?

jakub_neruda,

@Liquidream I like the idea, so hopefully I will mess something up so I can post it next sunday 🙃

Speaking of the dark side of the gamedev, I can't recommend enough Jason Schreier's book Blood, Sweat and Pixels. You could post each page with shoddy sunday hashtag 😃

amxmln, (edited ) to gamedev
@amxmln@mastodon.design avatar

Fellow people, I'm having trouble learning about good architectures for complex digital card games, where every card has individual effects, similar to Magic, Hearthstone, etc.

Have you ever built something similar? Do you know of any resources in that regard? 🤔

jakub_neruda,

@amxmln I tried multiple times and I always ended up making a total derivative of the games before.

My advice would be to start with a strong theme instead of generic fantasy, victory condition and a mana system. You can win by draining opponents lives to 0 like in HS or MtG or you can destroy 2/3 of their bases (Warhammer, Radlands). You can have 1 mana per turn (Epic), any card can be mana (WoW), broken mana system of MtG or lives can be also mana (Vampire the Masquerade).

Then define main factions within your theme and several subfactions. Each plays differently - token spawners, creature boosting, spell damage, growing creatures, stealing, traps, etc. Define a combo within each subfaction and make all cards contribute to that combo or to counter combos from other (but not all) subfactions.

Ofcs this is not the only way, but it can carry you pretty far. Try to not create effects that draw cards, it is always too powerful. Play tons of games to see how they do it.

jakub_neruda,

@amxmln Oh! You're talking about a computer card game! I was thinking tabletop and how to design it 😃

You can perhaps use a Visitot pattern - your whole game is a data structure that can be traversed and each card (or rather effect) is a Visitor that can browse the scene and do transformation to it.

So each effect is its own class that can be slotted into cards. If you're using and entity component system, each card can also have traits that would allow your visitors to only traverse cards with those traits, making the boilerplate code that much simpler.

jakub_neruda,

@amxmln I consider Refactoring Guru a good source on OOP design patterns: https://refactoring.guru/design-patterns/visitor

ben, to random
@ben@mastodon.bentasker.co.uk avatar

deleted_by_author

  • Loading...
  • jakub_neruda,

    @ben Just to be sure - if I restrict my moq version to anything lower than 4.20, then there is no risk of putting this to my system, at least until I migrate to other mocking lib, right?

    jakub_neruda,

    @ben I just noticed that NuGetizer also uses SponsorLink (no wonder, it is from kzu as well).

    Let's hope Roslyn Analyzers quickly fix this hole that allows SponsorLink to exist.

    steamdeckhq, to Steamdeck
    @steamdeckhq@mastodon.world avatar

    is a fantastic game that expands on the prequel’s foundations wonderfully. Sadly, playing on the is nowhere near as great as the game and doesn’t deserve the Verified badge.

    A copy was provided by the publisher for review.

    https://steamdeckhq.com/game-reviews/remnant-2/

    jakub_neruda,

    @steamdeckhq That is so sad to hear. I had the game on my radar, but considering Deck is my only PC capable of running games, I will have to pass or hope for performance patches 🫤

    jakub_neruda, to cpp Czech

    C++20 modules are now foolproofly usable in latest release of MSVC (v17.6.4).

    Standard library is precompiled automatically.

    CMake code is simpler, target_include_directories are no longer needed.

    It only took 3 years. Yaaay!

    jakub_neruda,

    @gracicot @DanielaKEngert Yes, you're right, vcpkg can be sandboxed and has the best ergonomics so far. But is so excruciatingly slow (because it builds transitive dependencies). So far I never had a case where I would have two deps with shared transitive dep so I am shying away from it.

    And yes I know you only go through the installation process once, but for Github Action, you have to do it every time.

    jakub_neruda,

    @gracicot @DanielaKEngert Yes, if you have a docker or self-hosted agent, then vcpkg is probably the best choice. If you're open-source github dev then your best bet is to use prebuilt binary releases and essentially implement all of dependency management by hand (like SFML) because no package manager ever thought of build times being an issue.

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