Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split korge into korge-render and korge #2209

Open
soywiz opened this issue Mar 28, 2024 · 4 comments
Open

Split korge into korge-render and korge #2209

soywiz opened this issue Mar 28, 2024 · 4 comments

Comments

@soywiz
Copy link
Member

soywiz commented Mar 28, 2024

korge-render won't have views, but will have batcher, events, etc.

@jobe-m
Copy link
Member

jobe-m commented Apr 14, 2024

That move makes much sense in my eyes :)
Does that mean that Korge-render will "just" provide a batcher to chain drawing calls like in renderInternal() in the View class?

I would then base Korge-fleks on top of Korge-render since I am writing my custom render views currently to draw the sprites, parallax background, etc.

@soywiz
Copy link
Member Author

soywiz commented Apr 17, 2024

I'm Back after a long break.

Regarding this I have plans to create -core versions of all the libraries, then make that korge-render will use that. Korge base will still provide the view system as it is for compatibility. Then we can evolve the other part differently.

I would like to have a system that could be used to render both views and anything renderable not using views.
I also want to make a spike for a container supporting querying objects, with game objects in an oct-tree, then raycasting, querying objects in a range, by type, tag, shapes for raycasting, working with tilemaps and both sprite-based animations and skeletal-based animations etc.
I would also like to explore actors like the old DIV game studio, but being able to switch between behaviours, being behaviours kotlin coroutines.
And still be able to use views and scenes as controllers or Composables in some cases where thoseparadigm works better.

Maybe we could make something more official using fleks, and your work too at that layer. Maybe we can make a call when I get up to date with everything to discuss these things and do something that makes sense?

@jobe-m
Copy link
Member

jobe-m commented Apr 20, 2024

The DIV game studio sounds interesting. It looks like to be something more high level to create games with like Pico8? I haven't used anything of that kind yet. I think it would make sense to base such a specialized game engine on an ECS. It would be at least a stand-out-of-the-masses critera for a Korge based high level game engine. :)

I am currently quite happy how the (custom) ParallaxRenderView implementation looks and works in Korge-fleks. It makes things much easier than having to deal with Views for every single texture which needs to be controlled independently as I did it before. The next thing would be to implement a SpriteAnimationSystem as an extension of my already existing SpriteRenderView in Korge-fleks.

@soywiz
Copy link
Member Author

soywiz commented Apr 21, 2024

Cool. I also had an experiment I wanted to do called GameView, that would handle tilemaps, sprites and skeleton animations, while having all the entities there queryable using BVH. So raycasting, getting items inside a rectangle, culled rendering etc. would work. and that could be implemented as ECS and work on top of korge views seamlesly. I still don't know but those are areas I would want to explore at some point.

In any case first I want to do the libraries split into core variants and make korge-render just depend on the core while being able to use full variants if wanted. Let's see how it goes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Pending
Development

No branches or pull requests

2 participants