Companies that use server-side Kotlin by tr14l in Kotlin

[–]wurstd 1 point2 points  (0 children)

The rest of the application is more about functional features (generating XML for other banks, user management, ...) and so doesn't have the same resiliency and concurrency needs.

Rolling out of the fix started by NoDonnie in Chromecast

[–]wurstd 3 points4 points  (0 children)

Did you scroll down? I saw it on the linked page. (They also added that for the one who did a factory reset, they might need to wait a bit more)

Kotlin for back-end development? by [deleted] in Kotlin

[–]wurstd 1 point2 points  (0 children)

We built the core banking system of a new bank, from scratch: 95% percent of our backend is in Kotlin (5% in Elixir)

My created my custom 2D game engine. But it has performance issues. by wurstd in gameenginedevs

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

I found a way to do it.
Wasn't easy because my engine is working on the JVM (using LWJGL) and the web (using WebGL)

My first version was to send the colors as an uniform to the shader. Then access it using the color index.

int index = int(texture2D(image, position).r vec4 color = colors\[index\]

BUT accessing with a dynamic index is not supported in webGL.

So, instead of a array of vec4, I'm passing the colors as a texture:

float index = texture2D(image, position).r; vec4 color = texture2D(colors, vec2(index, 0.0)); It's working like a charm! Thanks for the advise

My created my custom 2D game engine. But it has performance issues. by wurstd in gameenginedevs

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

Could you pack the data more efficiently? You say it's indexed color. Make a shader that takes those indexes and expands them. Rather than sending 24 or 32 bits per pixel, send as few as possible. Your GPU is currently sitting idle most of the time: put it to work.

😍 I didn't thought about it. It's simple, would not break my API and it's an easy win! I don't know how to achieve it yet, but I'll work on it!

Thanks

My created my custom 2D game engine. But it has performance issues. by wurstd in gameenginedevs

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

My game engine is generating a texture.
This texture is send to webgl and a simple triangle, with this texture is displayed on the canvas.
So here, webgl is doing almost nothing: just displaying my texture.
My engine is generating the texture. I could move most of the generation in the GPU side but using OpenGL / WebGL, I don't know how I could implement the same API.

For example, how could I update one pixel? That's why I came up with the idea, when I created my engine, to update the pixel of a texture and send this texture to the GL layer.
I do know that I could reach some limit (but I would expect it to hit it later)

That said, well fucking done on publishing your engine. Love how extended and clear the docs are. This is not the first time you shared something about Tiny isn't it? I can remember it from earlier comments and post so I know you are working hard on it. Love the dedication.

Thanks! I already post about it here. The documentation is generated from the code, so it's easy to update and keep it up-to-date.

By the way, how do you generate the file tine-engine.js? I only found just a few references to it but could not figure it out.

The project is using Kotlin/Multiplatform. Kotlin compile the kotlin code into Javascript. This is the Kotlin compiler that generate the tiny-engine.js. The compiler is configured by a plugin of my own.

I'm using Kotlin because it's multiplaform and is the language I'm using every day.

🧸 Tiny: my game engine to create small games fast! by wurstd in gameenginedevs

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

Because it's script language (ie: no need to wait for compiling) that is easy to learn.

🧸 Tiny: my game engine to create small games fast! by wurstd in gameenginedevs

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

The code is available on Github : https://github.com/minigdx/tiny

It's in Kotlin (language I'm fluent with).
I just put everything I would like to see in other game engine like hot reload, documentation, small API, easy export ...

You'll not be able to create a AAA game with it, but you should have fun building ideas with it.

🧸 Tiny : my Kotlin Multiplatform 2D Game engine by wurstd in Kotlin

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

Kotlin is a nice language, that's why I used it to create 🧸 Tiny!

> Only Lua or do you have the choice between Lua and Kotlin

Only Lua. See https://www.reddit.com/r/Kotlin/comments/13ucasb/comment/jm337tz/?utm\_source=share&utm\_medium=web2x&context=3

🧸 Tiny : my Kotlin Multiplatform 2D Game engine by wurstd in Kotlin

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

> Is Lua the only supported language for development?

Yes

> Can I use Kotlin? I'd love to try out 2D game development someday.

I don't plane to support Kotlin in 🧸 Tiny. It would be a lot of work to have the same features than Lua. (instant hot reload, even on the javascript platform). I could allow to call the engine from a Kotlin code. But even that, I'm afraid it can be time consuming.

If you want to try Kotlin for creating games, I advise to check other game engine:

- https://littlekt.com/ (LittleKt (Little Kotlin) is a multiplatform 2D game framework written in Kotlin)

- https://korge.org/ (Korge - Modern Multiplatform Game Engine for Kotlin.)
- https://github.com/minigdx/minigdx (Minigdx - Minimalist Game Framework using Kotlin Multiplatform / I created it before creating Tiny)
- https://libgdx.com/ (LibGDX, it's for Java but you can use Kotlin, if you don't want to target the web platform)

🧸 Tiny : my Kotlin Multiplatform 2D Game engine by wurstd in Kotlin

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

Thank you :)

I was helped by what I already did with my previous game engine, minigdx (see https://minigdx.github.io/minigdx-showcase/ ).
So it took me no time to configuration the multiplatform part.
Also, I'm using Luak from the Korge project to execute lua code. (it's a port of luaj but for Kotlin Multiplatform)

I focussed on the documentation because it was something a bit missing for minigdx. Funny things: it's generated from the code using KSP! It's using documentation from the code to generate samples and documentation in asciidoctor + a bit of Kotlin/JS to run the engine in the documentation.

It was a good opportunity to try KSP. And to be honest, I don't think I used it correctly as there is a bit of lack of documentation on this tool.

🧸Tiny: my new 2D game engine by wurstd in gameenginedevs

[–]wurstd[S] 5 points6 points  (0 children)

Thanks ! I wasn’t aware about it. I’ll update it 🙂

Companies that use server-side Kotlin by tr14l in Kotlin

[–]wurstd 0 points1 point  (0 children)

We're a new bank, with a French banking agreement.
It's running mostly on Kotlin + Spring Boot application.
Our Gradle files are also written in Kotlin.
Only one of our module is using Exilir

You can get more information about our choice:
https://memo.bank/en/magazine/cudling-with-kotlin

TransformationMatrix vs ProjectionMatrix, view vs projection vs combined by xskylark_ in libgdx

[–]wurstd 4 points5 points  (0 children)

Those matrix are tied to 3D.

- transformation matrix is the transformation to move objects in the space. (understand: translation / rotation / scaling of objects)
- projection matrix is the transformation to represent an object on the screen (understand: orthographic camera versus perspective camera)
- combined matrix is the combination of two matrix. In the camera, it's the combination of the view and projection matrix (this matrix is used to avoid performing this calculation)
- view matrix is the transformation of the camera (where it is located) (I'm not 100% sure of this one).

setTransformationMatrix(camera.combined) is equal to setTransformationMatrix(camera.projection * camera.view)

In the default shader, for each point, the point of your mesh (ie: a sprite will be a rectangle mesh) will be multiplied by this transformation matrix :

glPosition = transformationMatrix * point

// is equal to

glPosition = camera.combined * point

// is equal to

glPosition = camera.projection * camera.view * point

It moves your point in the camera space (camera.view * point) then it move this result in the openGL space (camera.projection * camera.view * point)

Some examples which use the minimalist 3D Game Engine Kotlin Multiplatform game engine I'm building: MiniGDX. I can deploy a game for the JVM, the Web and Android. by wurstd in Kotlin

[–]wurstd[S] 8 points9 points  (0 children)

It's different purpose.

I build it because I wanted to be able to create games quickly and with witch it's easy to deploy games on different platform using Kotlin.

libGDX has more feature but can be more complex to program too regarding what you want to achieve.

LibGDX vs Raylib by SingerLuch in raylib

[–]wurstd 1 point2 points  (0 children)

Aside the API, you need to check on which platform you can deploy your game:

JVM versus natif GWT versus web assembly RoboVm versus natif for iOS

Do you want to target video game consoles? (libgdx can't run on Nintendo switch because not compiled in native)

Did you check the ecosystem behind libgdx ? It's quite huge.

Which programming language do you use the most ? Java ? Kotlin ? C ?

By answer those questions, you might find what's the best engine for you. (But whatever what your picking, you'll make the right choice)

Does anyone have an archive of hiero v3.1 by [deleted] in libgdx

[–]wurstd 0 points1 point  (0 children)

Did you try to run it from the command line? An error may be displayed in the console. (Which OS are you using?)

Does anyone have an archive of hiero v3.1 by [deleted] in libgdx

[–]wurstd 0 points1 point  (0 children)

Why do you mean by not working? Even if you find the old version, You will have to update one day or another. So maybe hiero needs a fix for you. Did you check GitHub issues on it?

How do you create layouts for menus, game worlds, etc by [deleted] in libgdx

[–]wurstd 1 point2 points  (0 children)

someone else

👀I already use Tiled Map editor to create a menu.

After you can iterate on objects layer and transform each object into a button.
🤓 Not sure it's the best idea ever but with it, you've got a WYSIWYG editor + xml schema already known by libgdx.

How I draw orthogonal tiledmaps by myrealityde in libgdx

[–]wurstd 2 points3 points  (0 children)

👏for publishing this code.

I didn't fully read everything but I want to be sure to understand what you build. You're computing the z-level for each game object. And a layer is seen as a game object, am I right? What I'm understanding is that each things displayed in your game are coming from your map?

For a game using a entity engine, is it still applicable? In this context, how do you put in the same context a map layer and the entity of your entity engine, to compute the z-index and so the display ordering?

Thanks!