👽Rokas Kupstys is a user on mastodon.gamedev.place. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

👽Rokas Kupstys @rokups@mastodon.gamedev.place

Pinned toot

What's your tool/method of choice for generating .NET bindings?

Pinned toot

Working with on a new editor incarnation. If you like working on projects - consider joining the dark side (of development). We have 🍪🍪🍪
mastodon.gamedev.place/media/c

Me 4 months ago: C# is pain in the arse, C++ all the way!

Me today: I'm porting my C++ scene editor to C#!

Will C# development in Visual Studio (not Code) be ever supported in ?

Quick poll: how do you answer the salary question during an interview: "how much are you looking to make?"

A) An actual number representing the average salary for the position and location
B) 10% higher than A
C) "I'm looking for competitive pay for the position and the area"
D) Other

Given anchoring and the long term financial impact I'm leaning toward B, but I've seen a surprising amount of recommendations for C. I'm assuming B isn't detrimental when talking to reasonable employers.

Today nailed multiple inheritance support for .net wrapper. That required me somehow doing dynamic_cast<> from C#. Solution looked like this:

// Dragons be here
return reinterpret_cast<uintptr_t>(static_cast<Base*>(reinterpret_cast<Derived*>(1))) - 1;

A very first C# demo: youtu.be/vgV-0BGHolg

Still reasonable amount of work left to do before wrapper starts being useful, but light at the end of the tunnel can now be seen! If you want game engine with upcoming .net support check out my work:
github.com/rokups/Urho3D
github.com/rokups/Urho3DNet

github.com/rokups/zinc does in-place block level delta synchronization. All the heavy lifting is client-side. You can make efficient game update client with it and server can be dumb http server serving static files.

C# for quest update: VariantMap (HashMap<StringHash, Variant>) finally wrapped. Wrapper starts being useful at this point as VariantMap is a critical part of API. Took me forever.. Was trying to do universal generic wrapper for multiple combinations of hashmaps. Unfortunately that proved to be unfeasible. Oh well, we will do it swig-way then. Giving proper names to template containers instead of passing around generic parameters isnt that bad anyway.

Having a blast making C# bindings generator for . Yep, after CppSharp ended up being bug after bug after bug i figured custom solution (even if not as universal) will be faster to get off the ground. Just need to wrap few template classes and constants for wrapper to get useful. 😍

Made possible by terrific library: github.com/foonathan/cppast

Again having more time and having fun with . This is what i have cooked in past few days:

* Scene simulation play/stop: youtube.com/watch?v=bO3nOHg5dw
* Proof of concept reloadable c++ plugins for editor, providing custom components and extending editor itself: youtube.com/watch?v=TgguxzGCW6

Shoutout to @fungos - thank you for amazing library for reloadable modules!

*Me while writing code*
I'm a genius!

*Me reading code from three months ago*
I'm an idiot!

It does not cease to amaze me power of public help request. It works like a magic.

1. Ask question about your issue publicly.
2. Solve the issue on your own soon after.

Do you always get this happen to you?

Anyway apparently issue was somewhere with mismatching signing certificate fingerprints, even though i was 100% positive they were matching. Fiddling with keystore a little made it work. Sigh.. 😅

Anyone ever implemented google play services login? If you had everything working except login failing with SIGN_IN_REQUIRED error i would love to hear how you solved it. I am stuck with something that should be trivial to set up, reading docs for the 10th time. Basically i am ready to have someone publicly point out what a big noob i am to just get over this issue.. Please..? 😓

A curated list of awesome C/C++ performance optimization resources: talks, articles, books, libraries, tools, sites, blogs. github.com/fenbf/AwesomePerfCp

A lot of people asked about New Year's resolutions this year, but I've already been working at a gamedev "resolution" every day for the past 6 months. If New Years helps you keep your promise to yourself that is great, but no matter what start now. Live every day like it matters.

Spent evening working on black magic, which is a half-manual C# wrapper for native Urho3D::Vector<T> container. Wrapper itself is generic and would work with any other wrapped native objects. This involves interfacing with low level CppSharp-generated wrapper directly, manually managing memory and using reflection to overcome limits of C# generics.

You may peek at this horror here: github.com/rokups/Urho3DNET/bl

Once i do the same for hashmap, Urho3DNet wrapper will start becoming useful and useable.

dear imgui: proof of concept of virtual viewports. Single imgui context, multiple os windows. Viewports can be resized mid-frame. Lots of stuff left to solve/polish but it's progressing nicely. mastodon.gamedev.place/media/c

deboost.fcontext is cool. It is insane how much extra code boost carries for *reasons*.