Skip to content

A port of my game from Python to the web (Version #2)

Notifications You must be signed in to change notification settings

david-fong/SnaKey-JS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⌨🐍 SnaKey

click here to try the game!

A port of the first version of this original game, which was first written in Python.

As a preface, I'd like to say that while I'm really happy with this idea, I'm really not happy with the code. This was my first project using html/css/javascript, and I didn't have much to go off of (ie. spent more than half the time reading from w3cschools and mozilla docs). While I learned a lot, I also learned that of what there is to learn, I learned very little. If I were to do this all over again (and I do hope to), I would learn typescript to make it cleaner and more robust, and learn nodejs to make the game multiplayer.

EDIT: The dream lives! Take a look at the next version.

How it started:

This is a game I came up with over the reading break of 2018. I first wrote it in Python, but in an effort to make my idea easy to access and to learn something new, I decided to port it over to Javascript.

My hopes for this game:

I hope my game can help people to practice typing in english, and to recognize characters in other languages while having fun at the same time (Although I'm aware that not everyone is into typing games).

The Music:

The music in this game is also my own work. I wrote it in 13/8 time with chord changes every two measures to play on the typing theme, since that makes 26 beats per chord (one for each letter of the alphabet). You can find more of my musical work on my youtube channel.

What's Next:

Adding more languages I wrote the code to be able to add languages. Some are much easier to implement than others. I'm looking to add Korean next. Let me know if you have any suggestions!
Implementing multiplayer I have everything to learn in this area. My concern is that this will probably mean spinning off from this codebase like I did with its earlier version written in python, which might mean losing the ability to play the game without wifi. I don't know enough about how implementing this can be done to be sure, though.
A mini documentary I want to make a nice, clean video explaining how this game works and the stages it has gone through in its making. It would highlight all the little logical considerations I took- like how enemies move in paths with angles not aligned to n * 45deg, and how characters from languages are spawned to prevent ambiguities even when some languages have characters that are typed on a keyboard similarly.