one of the methods i use for learning is looking at the code of games i have downloaded via code. you can learn some complex stuff by doing this. i learned how to add bgm, texture packs and player skins to Petit World by looking at its coding.