Froggy - a small frogger clone; the result of someone's first programming project

Show off your games, demos and other (playable) creations.
Post Reply
User avatar
0x25a0
Prole
Posts: 36
Joined: Mon Mar 20, 2017 10:08 pm
Contact:

Froggy - a small frogger clone; the result of someone's first programming project

Post by 0x25a0 »

A friend and I made a little frogger clone for My First Game Jam.
You can get it on itch.io if you want to give it a try. https://25a0.itch.io/froggy

I know it's not much compared to other submissions on this board, but I thought I'd share it anyways, mostly because of the story around it.

My friend was new to coding when we started, but wrote almost all of the code herself (I did, however, explain things and gave hints when she got stuck). I also kind of stepped out of my comfort zone by doing the art for this project.

Looking back at the process, there are a couple of thoughts I want to share:
  • Lua is a good language for beginners.
    • It doesn't force newcomers to use complex things like classes. (Yeah, looking at you, Java!)
    • Lua uses words like 'and' and 'then' instead of symbols like '&&' and braces, which reduces the cognitive load for beginners.
    • There's an interpreter that lets you tinker around with things until you understand them
    • You get a long way with understanding just a few concepts, especially thanks to Lua's flexible tables. This is crucial because it allows you to focus on coding, rather than having to learn the features of a specific language.
    • I wish that Lua had a built-in way to inspect table content, similar to Python, but luckily there are great libraries that solve this problem.
  • When done right, I believe that games can be good projects for starters, even if the person wants to learn about programming in general, and not game development in particular.
    • It's fun
    • It's visually more appealing than a terminal program
    • The final product is something that others might actually try, and you might get feedback, which can be motivating.
    • Bugs are often visible, and having a visual representation of a bug can make it easier to narrow down its cause.
    • You encounter interesting and diverse problems, some of which are rooted in familiar concepts like geometry (e.g. for collision detection).
    • A clear downside is that beginners are also confronted with a bunch of concepts that are special to game development.
  • Love2d worked well for us as an engine.
    • There's no IDE. It's just you and a single file of Lua code. The entire game is solely defined by what's in that file.
    • Love2d's main loop is simple enough that it can be explained to newcomers. I find this important because the less "magic" is happening in the background, the more complete is your understanding of what's going on.
    • The love.graphics api is very intuitive, and that's all we needed for our simple game. Again, this meant that we spent more time coding, and less time figuring out how to do things in a specific game engine.
Thanks for reading :)
I'd be interested to hear if anyone else has used game development as a way to teach someone how to code.
Post Reply

Who is online

Users browsing this forum: Google [Bot] and 46 guests