Final Level Loop

The Grind Never Stops

This is a game about your character going through endless levels, slaying enemies, making money, and getting more powerful.

Automatically saves and procedurally generates harder levels, making neverending fun!

Level Gameplay



Coding done by Samuel Price.

Enjoy everyone : )

Awards


En garde!
Presented by Cosmologicon

Awesome game
Presented by JustAnotherCode

Give this entry an award

Scores

Ratings (show detail)

Overall: 4.1
Fun: 4.4
Production: 4
Innovation: 3.8

9% respondents marked the game as not working.
Respondents: 10

Files

File Uploader Date
Screenshot17.png
Final Level Loop
Cragon2409 2021/09/25 22:22
TheGrindNeverStops.zipfinal
Final Game Submission
Cragon2409 2021/09/25 22:19
Screenshot16_HciyKt5.png
Final Main Menu
Cragon2409 2021/09/25 22:18
Screenshot12.png
Updated Enemies
Cragon2409 2021/09/23 06:09
Screenshot15.png
Skills Shop
Cragon2409 2021/09/23 06:08
5npaxi.gif
BackgroundLoop
Cragon2409 2021/09/21 05:41
Screenshot8.png
DevLog2
Cragon2409 2021/09/21 05:35
Screenshot_120.png
StartingMap
Cragon2409 2021/09/20 23:12

Diary Entries

Deciding Game Concept

The theme is officially decided as 'Neverending'!


I have been wanting to make some kind of fighting game for a while, so I figured I could do a third person fighter with procedural levels that increase in difficulty over time, in a neverending cycle.

To add some distinction to my project, I will use my 3D isometric math I made.I developed some math a while ago that allows a 3D isometric view in pygame, explained here.

(To reference the rules, as I understand it I can still re-use maths as long as I redevelop the code for it, which I will do)


Time to begin!

Add a comment

Starting out

I implemented a small tile area for the player to exist in, as well as a 'sword' on top of the player that can be rotated to hit enemies.

I also implemented some basic movement controls for the player, and a shadow that shows when they jump.

Add a comment

Beginner Polish

I had a very productive session today.


I implemented a background first, in fitting with the theme, which can be viewed on my home page.

This background uses a turtle type approach (i didnt actually use turtle tho, because it's annoying with screen sizes and saving, so i remade a basic turtle in pygame myself). It starts from the centre, then goes forward a certain amount, and turn 91 degrees. The amount it goes forward increases each time, and the resulting shape is a spiral. By playing these images in a row with 2 degree differences in starting angle, it creates an effect that makes it look as if the background is constantly (or neverending-ly) spiralling into the centre screen.

Next I implemented some basic enemies. I made them as red cubes that constantly move toward the player, do damage when close enough, have invincibility frames of a 1/2 second, and an attack cooldown of a 1/2 second. The next thing i did was implement damage for these enemies, that when the player's sword comes into contact they take damage and get knocked into the air and in the direction away from the player, adding a nice bonus that if they fall off the map they die. They also die if they get hit enough times, and the border of their cube changes colour based on the invincibility frames.

The next thing i did was view ordering. I havent bothered to make the enemies not collide yet, but i can at least make them show in the correct order. In this isometric view you can sort drawing by y-x, lowest to highest, for the order, with an extra condition in this situation that falling enemies/player that is behind the map must be drawn before the map, and the rest drawn afterwards. I made a function to seperate all entities into two lists for these categorisations and in drawing order.

Then i made a main menu, with the buttons 'Play' (which i may change to continue to fit the theme more), 'Skills' and 'Blacksmith', adding a money counter, a level counter, an enemy kills/ enemy amount that shows when in round, and i plan to add an exp counter of some kind that will be used in the skills tab. I intend to give the player the ability to upgrade passive and active skills. Passive skills may be things like max health, movement speed, sword length, damage and so forth. Active may be things like a knockback 'burst' where all enemies around are knocked back , which i then implemented. An isometrically drawn circle shows the burst visually, and i plan to have some sort of icon indicating a cooldown when the ability is unlocked in the skills tab. Other active abilities could include a temporary shield, a temporary damage/health boost (beast mode lol), and maybe a full heal if its not OP.

Add a comment

Playability Upgrades

Today I focused on making the game more playable and more enjoyable.


I added functional screens for the blacksmith (does sword upgrades like rotation speed, damage, and length)

and for skill upgrades (active and passive skills)


I also decided that i wanted more delineation for the enemies so I made them different sided polygonal prisms. The more difficult the enemy, the more sides the polygon has, as well as a different colour. This allows for the player to have a visual understanding of how difficult a certain enemy is. I also implemented a system to determine when a point is inside of a polygon that i designed a while ago.(i can explain it if anyone is curious but its a bit of a mouthful, and sounds more complicated than it actually is).

I also implemented a feature where you can throw your sword and control it still (like Yondu lol), with the duration of this decided by an upgrade from the blacksmith.


Next i will have to make pixel art for all of these icons

Add a comment

Pixel Art

I made pixel art for every upgrade and ability, in either 16x16 or 32x32.


I'm quite happy with this pixel art, I feel like i have definitely improved.


Didn't get much else cos it was my birthday, but more updates to come tmr

Add a comment

Items and Saving

Today i implemented items and saving.


Items come as either coins, hearts, or treasure chests.

I thought about doing texture mapping or something fancy,  but instead opted for just colouring, for time's sake.

The result isn't too bad, in my eyes, and i think is at least something that can be understood without explicit explanation.

The other thing i did was implement automatic saving and loading seamlessly so that the player will just earn coins and buy upgrades and not worry about saving.

 The game is saved every time a level is beat or an upgrade is purchased, stored in a text file with line and space seperated numbers.

Not much left to do now, just sound effects, a credits menu, a tutorial, and ideally some distinction between enemies? might be a bit much for 12 hours tho

Add a comment