Getting started with Kivy?

113 views
Skip to first unread message

Eamonn Rea

unread,
Jun 28, 2013, 1:33:37 PM6/28/13
to kivy-...@googlegroups.com
I've went through all the tutorials on the site, the docs, I feel, are just for reference and there are no other tutorials that I can find. How can I get started with Kivy? I really just need to know animation for smooth player movement, how to render images, how to render sprites, how to render fonts and how to render buttons, frames, etc! I want to make games in Kivy, and deploy it on Linux, Mac, Windows and Android all at once. I believe Kivy has callbacks that are work on all platforms without porting e.g. on PC on_touch_down accounts for a click, but also for a touch on Android and iOS.

Here's the kind of things I want in my game, so you have an idea of what kind of guide/project I can look into:

Splash Screen
Buttons - I Know those!
Text
Frames
Custom fonts
SpriteSheets
Smooth Movement
Reading/Writing to files and storing the information in an array/dictionary

Also, this isn't really to do with Kivy but it's free to submit an app to Google Play, correct? You don't need a Google Wallet or credit card or anything to submit a free app, right?

Once I learn how to use Kivy I'm determined to write tutorials and make video tutorials on it to help newbies like me!

Thanks! Any help is appreciated!

P.S. I don't really like reading though 20 paragraph blog posts, I like video tutorials. But I also like Text ones, providing they're not stupidly long. :D

Kovak

unread,
Jun 28, 2013, 3:37:32 PM6/28/13
to kivy-...@googlegroups.com
If you had done the pong tutorial you would know how to render text, using the Label Widget. You could then take a look inside the documents for label to learn how to set a custom font_size.

Yesterday you were arleady referenced to the docs on how to use spritesheets (Atlas), how to do smooth movement (animation), animation frames are really up to you and can be done however. Reading and Writing is a python thing not a Kivy thing. I would look into python's support for json or pickle. The default kivy splashscreen can be changed when building your application for release.

On Google Play it costs 25 dollars to be able to publish.

For game stuff you will probably also end up using many of Kivy's canvas features. Canvas is a method of interacting with opengl es 2.0.
http://kivy.org/docs/api-kivy.graphics.instructions.html
http://kivy.org/docs/api-kivy.graphics.context_instructions.html
http://kivy.org/docs/api-kivy.graphics.html
http://kivy.org/docs/api-kivy.graphics.vertex_instructions.html

The reason everyone links you to the docs is that it is the easiest way to learn the capabilities of kivy without having to read "20 paragraph blog posts", the docs cover exactly what kivy is capable of and nothing more. It's up to you to learn how to use all the tools that come in kivy's toolbox and then apply them to create the type of games you want.

There are many different ways to achieve most of your goals, especially things like animated sprites, and it's up to you to decide which architecture best suits your game and you as a coder. Also, remember Kivy is not a game framework like Cocos2d, you may end up doing a little bit more by hand than with a framework designed specifically for just games. Many game-architecture decisions that will be made for you in a framework focused on games are left up to the user in kivy. This gives you the freedom to build exactly as you would like, however, with that freedom comes more dependence on your own code and design.

Read the docs, get your hands dirty and experiment with them, I assure you how to do everything is covered in the documentation and tutorials, it may just not be obvious to someone who is learning and not experienced with the framework. Then if you still get stuck places, come to the forums with specific questions and code, it is always much easier to help when there is code with a specific issue rather than wish-lists.

You could consider trying to follow along with the assignments from this Cornell CS 1100 class focused on using Kivy and Python: http://www.cs.cornell.edu/courses/cs1110/2012fa/assignments/index.php
Reply all
Reply to author
Forward
0 new messages