A 2D game engine in pure Kotlin/Native on SDL3

Is inemtsev/klyph beginner-friendly?

We have not seen enough recent pull requests from outside contributors to inemtsev/klyph to say how often they are merged. No beginner-friendly issue is open right now; the list below has the other issues we hold for it.

Stars
2
Forks
0
Open beginner issues
0
Indexed issues
38
Avg merge
4h 43m
Merged PRs (30d)
3
Dominant language
Kotlin
License
Apache-2.0
Last GitHub push
Nov 10, 2026
Latest indexed
Nov 10, 2026
Contributing guide
Contributing guide
Code of conduct
No code of conduct
Beginner labels
good first issue

How to contribute to inemtsev/klyph

  1. Read the contributing guide first: it says how the maintainers want changes proposed, tested and reviewed.
  2. Your contributions will be published under the project's Apache-2.0 license.
  3. Follow the repository to hear when a new beginner-friendly issue opens, or look through the other issues below.

Issues somebody may already be working on are listed last. List everything by date

  • Fixed frame delta for reproducible runs and screenshot comparisons
    Open
    1.3 enhancement

    Difficulty 3/5 Half a day Newbie friendliness 62/100

    inemtsev/klyph#45 ·

  • Custom detekt rule set for the API_STYLE rules detekt cannot express
    Open
    1.3 enhancement

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    inemtsev/klyph#44 ·

  • A kinematic body spawned inside a solid passes through it
    Open
    1.3 bug

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    inemtsev/klyph#43 ·

  • Automatic texture atlas in `Assets`
    Open
    1.3 enhancement

    Difficulty 5/5 Over a week Newbie friendliness 12/100

    inemtsev/klyph#42 · 1 comment ·

  • `Image.drawLine` and `draw` with a source rectangle
    Open
    1.3 enhancement

    Difficulty 3/5 1-2 days Newbie friendliness 72/100

    inemtsev/klyph#41 ·

  • API_STYLE vocabulary rows for `fillX` and `draw` on `Image`
    Open
    1.3 documentation

    Difficulty 1/5 1-3 hours Newbie friendliness 78/100

    inemtsev/klyph#40 ·

  • A test seam for `Assets` so loading defaults are unit-tested
    Open
    1.3 enhancement

    Difficulty 3/5 Half a day Newbie friendliness 62/100

    inemtsev/klyph#39 ·

  • Measure `Entity?` boxing on the `OrNull` helpers
    Open
    1.3 enhancement

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    inemtsev/klyph#38 ·

  • `AppConfig.fromEnvironment` copies every field by hand
    Open
    1.3 bug

    Difficulty 2/5 1-3 hours Newbie friendliness 78/100

    inemtsev/klyph#37 ·

  • Rotate text glyphs in the vertex shader through `QuadBuffer.addAt`
    Open
    1.3 enhancement

    Difficulty 4/5 3-5 days Newbie friendliness 45/100

    inemtsev/klyph#36 ·

  • `Camera.offsetX`/`offsetY` are never reset by the engine
    Open
    1.3 enhancement

    Difficulty 4/5 3-5 days Newbie friendliness 30/100

    inemtsev/klyph#35 ·

  • Measure the `Vec2` allocation of `drawnPositionOf` and decide
    Open
    1.3 enhancement

    Difficulty 3/5 Half a day Newbie friendliness 48/100

    inemtsev/klyph#34 ·

  • `Sprite.tiled` factory and one meaning for a tile size of zero
    Open
    1.3 enhancement

    Difficulty 3/5 1-2 days Newbie friendliness 50/100

    inemtsev/klyph#33 ·

  • `drawnPositionOf` on a child entity returns the last propagation
    Open
    1.3 bug

    Difficulty 3/5 1-2 days Newbie friendliness 70/100

    inemtsev/klyph#32 ·

  • Define `KinematicBody.hasLanded` across a frozen scene
    Open
    1.3 bug

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    inemtsev/klyph#31 ·

  • Scene systems reach their own scene without `currentOrNull`
    Open
    1.3 enhancement

    Difficulty 2/5 1-3 hours Newbie friendliness 72/100

    inemtsev/klyph#30 ·

  • ParallaxLayer anchor: place a layer by where it should appear at the camera's start
    Open
    1.3 enhancement

    Difficulty 3/5 1-2 days Newbie friendliness 62/100

    inemtsev/klyph#29 ·

  • Moving platforms: solids that carry kinematic bodies
    Open
    1.3 post-1.0

    Difficulty 5/5 Over a week Newbie friendliness 35/100

    inemtsev/klyph#27 ·

  • Guide: platformer page and gaps found by the sample
    Open
    documentation post-1.0

    Difficulty 3/5 1-2 days Newbie friendliness 72/100

    inemtsev/klyph#25 ·

  • Scene-local clock that stops under a pushed scene
    Open
    enhancement post-1.0

    Difficulty 4/5 3-5 days Newbie friendliness 48/100

    inemtsev/klyph#21 ·

  • Sprite origin
    Open
    enhancement post-1.0

    Difficulty 3/5 1-2 days Newbie friendliness 67/100

    inemtsev/klyph#20 ·

  • Camera: drawn position, offset for shake, follow an entity, snap interpolation
    Open
    enhancement post-1.0

    Difficulty 4/5 3-5 days Newbie friendliness 55/100

    inemtsev/klyph#17 ·

  • Repeating textures: sampler address mode and tiled sprites
    Open
    enhancement post-1.0

    Difficulty 5/5 Over a week Newbie friendliness 35/100

    inemtsev/klyph#15 ·

  • Backdrop draw space and parallax layers
    Open
    enhancement post-1.0

    Difficulty 5/5 Over a week Newbie friendliness 38/100

    inemtsev/klyph#14 ·

  • Networking
    Open
    enhancement post-1.0

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    inemtsev/klyph#11 ·

  • iOS target
    Open
    enhancement post-1.0

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    inemtsev/klyph#10 ·

  • Android target
    Open
    enhancement post-1.0

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    inemtsev/klyph#9 ·

  • Entity inspector in the debug overlay
    Open
    enhancement post-1.0

    Difficulty 5/5 Over a week Newbie friendliness 40/100

    inemtsev/klyph#8 ·

  • Scene files and serialization through KSP
    Open
    enhancement post-1.0

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    inemtsev/klyph#7 ·

  • 2D lighting
    Open
    enhancement post-1.0

    Difficulty 5/5 Over a week Newbie friendliness 35/100

    inemtsev/klyph#6 ·

  • Vector shapes on the canvas
    Open
    enhancement post-1.0

    Difficulty 4/5 3-5 days Newbie friendliness 55/100

    inemtsev/klyph#5 ·

  • TrueType and OpenType text
    Open
    enhancement post-1.0

    Difficulty 5/5 Over a week Newbie friendliness 49/100

    inemtsev/klyph#4 ·

  • Tilemaps
    Open
    1.3 enhancement post-1.0

    Difficulty 5/5 Over a week Newbie friendliness 35/100

    inemtsev/klyph#3 · 1 comment ·

  • Physics engine (Box2D v3 candidate)
    Open
    enhancement post-1.0

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    inemtsev/klyph#2 · 1 comment ·

  • Virtual resolution and letterbox mode
    Open
    post-1.0

    Difficulty 5/5 Over a week Newbie friendliness 35/100

    inemtsev/klyph#1 ·

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.