Ever since I discovered Kivy in 2013, it has had a special place in my heart, and because I know my way around it, I've used it for many smaller projects, and one non-trivial game project WIP: https://www.youtube.com/watch?v=m06AH7MN0i4
Graphically, my game is mostly straight-forward, but being a strategy game, the complexity is behind the curtains in the AI, pathfinding and other game mechanics. I am very thankful to continue using my mastery of Python in this endeavor, and even though it doesn't provide game development conveniences out of the box (so it took time to get started, compared to say, Godot), it allowed me to utilize - and build on - my experience in the language. Doing this allows me to control the learning curve, especially when it comes to learning about OpenGL, and how graphics work underneath in general.
Don't get me wrong, depending on what you're looking to do, Kivy can have a stronger learning curve in itself, especially if you're doing this sort of thing for the first time (app development, specifically, but of course game development too). It took me until around 2016 - after playing with Kivy on and off - to become completely comfortable with all of its concepts. Aside from learning to profile and troubleshoot some graphics performance issues (largely my own fault, in my implementation), Kivy has been reliable and, like a well-designed door, I rarely consciously note that I am using it!
Outside of games, as I mentioned, I have also used Kivy for internal tools professionally. One was for (visually, analog curves) creating simulated plastic injection molding sensor signals, in order to create and provide data sets for QA Automation. The other was for a specialized AV company's (internal) usage as a job/bid/information management app. Another project required the ability to flip, pan and zoom images for a 3d mirror viewer hardware set. And, here in 2020 I used it to train non-automation non-coding QA personnel into making their own mobile apps, learn about event handling, and to get a glimpse into what a developer might be considering or thinking as they build software.
I've always been bewildered at why Kivy doesn't (seem to) garner more public attention. For what it aims to provide, it hits the mark quite well. I enjoy using Python the most, so I prefer to use it for most of my work, personal and professional. In that way, Kivy has allowed me to progress towards mastery of Python, without having to spend that effort on other tech stacks. (Having said that, I have experience outside of Python, just to be clear, it's not out of necessity.) As others I'm sure, I have a life outside of my job and side game project, so I have intentionally chosen what to invest my time in learning.
This turned into a bit of a ramble. Anyway. For me, it's a great fit, and I'm thankful that it exists, and people continue to build and refine it. I get to keep writing Python, and use it in more ways and places because Kivy exists.
Graphically, my game is mostly straight-forward, but being a strategy game, the complexity is behind the curtains in the AI, pathfinding and other game mechanics. I am very thankful to continue using my mastery of Python in this endeavor, and even though it doesn't provide game development conveniences out of the box (so it took time to get started, compared to say, Godot), it allowed me to utilize - and build on - my experience in the language. Doing this allows me to control the learning curve, especially when it comes to learning about OpenGL, and how graphics work underneath in general.
Don't get me wrong, depending on what you're looking to do, Kivy can have a stronger learning curve in itself, especially if you're doing this sort of thing for the first time (app development, specifically, but of course game development too). It took me until around 2016 - after playing with Kivy on and off - to become completely comfortable with all of its concepts. Aside from learning to profile and troubleshoot some graphics performance issues (largely my own fault, in my implementation), Kivy has been reliable and, like a well-designed door, I rarely consciously note that I am using it!
Outside of games, as I mentioned, I have also used Kivy for internal tools professionally. One was for (visually, analog curves) creating simulated plastic injection molding sensor signals, in order to create and provide data sets for QA Automation. The other was for a specialized AV company's (internal) usage as a job/bid/information management app. Another project required the ability to flip, pan and zoom images for a 3d mirror viewer hardware set. And, here in 2020 I used it to train non-automation non-coding QA personnel into making their own mobile apps, learn about event handling, and to get a glimpse into what a developer might be considering or thinking as they build software.
I've always been bewildered at why Kivy doesn't (seem to) garner more public attention. For what it aims to provide, it hits the mark quite well. I enjoy using Python the most, so I prefer to use it for most of my work, personal and professional. In that way, Kivy has allowed me to progress towards mastery of Python, without having to spend that effort on other tech stacks. (Having said that, I have experience outside of Python, just to be clear, it's not out of necessity.) As others I'm sure, I have a life outside of my job and side game project, so I have intentionally chosen what to invest my time in learning.
This turned into a bit of a ramble. Anyway. For me, it's a great fit, and I'm thankful that it exists, and people continue to build and refine it. I get to keep writing Python, and use it in more ways and places because Kivy exists.