## Best Ever Arkanoid Game in Love2D

Show off your games, demos and other (playable) creations.
YoungNeer
Party member
Posts: 105
Joined: Wed May 15, 2019 7:49 am

### Best Ever Arkanoid Game in Love2D

Head on to https://github.com/YoungNeer/arkanoid if you are interested

That's Not ALL!!!

The unique upgrades (increase/decrease paddle size, increase ball size/toughness, pop an extra ball, key blocks (blocks that can only be broke unless you have the key to the block and then open the key - but twist is you must break the block within 10 second from the moment you got that key - after 10 second your key will disappear and you will have to hit the block once more to get the key)

Not just upgrades but very unique procedural generation - head on to https://github.com/YoungNeer/arkanoid/t ... creenshots if you don't believe that this sort of procedural generation is one of a kind.

Particle systems are used abundantly in the game like when the level is complete the ball is turned into a particle so that it looks good rather than just destroying it without "destroying" it ( i mean not showing any particle effects of "destroying" the ball which looks very dull)

Finally the best thing a/c to me about this Arkanoid game is not these fancy upgrades, or procedural generation or even these particle effects which seem very convincing but ... Anima. Making technical animations in Love2D can be a headache because really even if love2d call itself a game engine - i like to call it an API with built-in graphics,audio,etc libraries - the reason is that most game engines have some sort of way to deal with technical animations and since most game-engines have some sort of WYSIWYG editor so handling and making animations is not really that hard. But back to LOVE2D where what you see is NOT what you get - how do you make cool animations in less time. The answer is Anima- a keyframe animation library for LOVE2D (more information visit https://github.com/YoungNeer/lovelib/tree/master/Anima)

But this post is not about Anima so that's all folks!!!
https://github.com/YoungNeer/arkanoid
Attachments
Arkanoid.love
Last edited by YoungNeer on Sun Jul 28, 2019 6:20 pm, edited 4 times in total.
My Github- your contribution is highly appreciated

sphyrth
Party member
Posts: 108
Joined: Mon Jul 07, 2014 11:04 am
Contact:

The game has that Commercial Feel when it comes to aesthetics. I hope this and the other works you posted get more attention.

Anyway, I lost on purpose and it gave me this error.
Error

lib/itable.lua:20: Oops! table expected in table.isort, got 'nil'

Traceback

[C]: in function 'assert'
lib/itable.lua:20: in function 'tableassert'
lib/itable.lua:136: in function 'isort'
src/states/GameOverState.lua:18: in function 'enter'
lib/StateMachine.lua:52: in function 'change'
src/states/PlayState.lua:104: in function 'update'
lib/StateMachine.lua:56: in function 'update'
main.lua:8: in function 'update'
[C]: in function 'xpcall'

YoungNeer
Party member
Posts: 105
Joined: Wed May 15, 2019 7:49 am

Oops! I am sorry I know what is causing the error. The highscore thing!! I had a highscores.lst already created in my save directory. And I was operating on that and when later I changed some code that highscores.lst was already there. So maybe it doesn't account for the issue when highscores.lst doesn't already exists.

Thanks for pointing that out. I will fix that immediately on github (https://github.com/YoungNeer/arkanoid/) and repload the .love file here.

As for now what you can do is-
create a highscores.lst in default LOVE2D save directory (go to https://love2d.org/wiki/love.filesystem to check for your OS):

if you are on linux then this step is pretty simple

Code: Select all

touch /home/%USERENAME%/.local/share/highscores.lst

That should solve the problem
Last edited by YoungNeer on Thu Jul 18, 2019 12:48 pm, edited 1 time in total.
My Github- your contribution is highly appreciated

sphyrth
Party member
Posts: 108
Joined: Mon Jul 07, 2014 11:04 am
Contact:

I don't know how to access the Menu while I was in the main game state. So, I tried losing on purpose. Instead of showing me the Game Over State, that error occured.

YoungNeer
Party member
Posts: 105
Joined: Wed May 15, 2019 7:49 am

My Github- your contribution is highly appreciated

YoungNeer
Party member
Posts: 105
Joined: Wed May 15, 2019 7:49 am

I figured out what the error was

Extract the ".love" file and then in states/GameOverState.lua Line 18 change

Code: Select all

self.highscores=table.subset(table.isort(csvfile:readFile('highscores.lst',':'),function (a,b) return tonumber(a[2])>tonumber(b[2]) end),1,10)
to

Code: Select all

if csvfile:readFile('highscores.lst',':') then
else
self.highscores={}
end
That will fix the error permanently and ofcourse I would reupload the .love file because it was my mistake to begin with.
My Github- your contribution is highly appreciated

sphyrth
Party member
Posts: 108
Joined: Mon Jul 07, 2014 11:04 am
Contact:

Now, entering a name for the new high score is also broken.

Don't worry 'bout me, though. I was only checking how you structure your code and learn from it. I play the game for the kicks. Bug-testing wasn't even my intention to begin with.

YoungNeer
Party member
Posts: 105
Joined: Wed May 15, 2019 7:49 am

sphyrth wrote:
Thu Jul 18, 2019 1:08 pm
Now, entering a name for the new high score is also broken.
What??? Could you *please* post the screenshot - cause (you know in the hope of installing multiple love versions my latest version 11.2 is sort of broken (gives me this weird "cannot open shared object file: No such file or directory" error - so i can't possibly debug)
My Github- your contribution is highly appreciated

sphyrth
Party member
Posts: 108
Joined: Mon Jul 07, 2014 11:04 am
Contact:

Oops! Sorry, bout that.

Here:
Error

src/states/HighScoreState.lua:72: bad argument #1 to 'ipairs' (table expected, got nil)

Traceback

[C]: in function 'ipairs'
src/states/HighScoreState.lua:72: in function 'render'
lib/StateMachine.lua:60: in function 'render'
main.lua:14: in function 'draw'
[C]: in function 'xpcall'

sphyrth
Party member
Posts: 108
Joined: Mon Jul 07, 2014 11:04 am
Contact: