Page 1 of 1

Gem game (unfinished tile matching game)

Posted: Wed Jun 19, 2024 9:09 pm
by Povke
Hello :)

This is my first post on the forums and first game made in Love2d. It's not much, probably less than a demo, but I want to show it to others since it's the "first" game I made (I did go to a game making class for one year, but I forgot everything from back then).

It's a tile matching game, but the twist is that the grid is more like a net cut into a spiky square shape. The controls are WASD to move and K or L to swap the colored squares diagonally, I call the squares gems. The only way to gain any points is to have 7 gems match diagonally. I want to have the points be scored by matching the gems horizontally or vertically, but I, as of now, don't know how to do that. I also want the gems to swap in the whole row or column, but that too is far beyond me today. For some context, I took inspiration from Columns, Puzzle League and Yoshi's Cookie (the latter being an example of how I want the swapping to work).

I want to hear people's thoughts on my game, especially since I want to compare what people would say in this post with my what my art teachers will say during my assessment. Yes, I'm a Fine Arts student, and I want to make video games.

I hope to hear from anyone seeing this post and maybe get a little advice.

Re: Gem game (unfinished tile matching game)

Posted: Thu Jun 20, 2024 12:29 pm
by togFox
I had weird screen problems on loading so I commented out this line:
love.window.setFullscreen(true, "exclusive")
and now it works.

Peeps need to know to press ENTER to start the timer and the game. You could add that plus the other keys directly onto the screen.

I assume navigating to every second gem (can't go diagonal) is a part of the game? I liked it. Unique. Add a sound for clicks and add a sound for a win. Won't be hard, is a good exercise and will make it more engaging. Another exercise might be to have random levels for endless play. You'd have to "roll" a random 'level' and then come up with some logic to determine if it's impossible to solve and if so, roll again.

Some coding tips:
- the code is very clean and tidy. V good for a first-timer.
- these two lines should not be in love.update. Move them to love.load() as you only need to call them once.
love.graphics.setBackgroundColor(0.1,0.1,0.1)
love.mouse.setVisible(false)
- functions reset and newhigh are defined inside love.load which is a bit odd. Clearly works and perhaps that was unintended. Move those two functions and define them as you have the others.

Nicely done. :)