2D sidescroller game using Java and custom 2D-engine.
Thunderslash is a 2D action sidescroller game, that is mainly developed as a programming excersise. The aim is to create a slower paced sidescrolling action game (e.g. Castlevania), which main features are listed below.
Initial: The name of the game comes from an initial idea, in which the
player can call lightning strikes (main attack) from sky in front of him, but leaving a small gap between the hit area and player.
This means that the player can't damage enemies that are next to him. Therefore the player has another action: push.
With this action the player can push enemies next to him further away and then use main attack to damage them.
This game mechanic is inspired by F2P MMORPG Dofus' Iop class spells: Intimidation and Strengthstorm.
11.01.2018: This is probably going to change since the minimum range lightning strike mechanic wasn't fun. Perhaps the main character could throw ranged, horizontal lightning hammers or something similar.
The game uses custom, iteratively developed 2D-engine.
- tile based sprite system
- animation support
- rendering and updating gameobjects
- mouse and keyboard input support
- automatic hitbox generation
- Physics: simple physics (e.g. gravity)
- collision detection with static environment
- camera: smooth follow and optimized rendering
- rendering queues to separate z-levels
- image file reader: encode pixels with data
- tinting and highlighting sprites
The major features are:
- new gameplay enablers: jump pads, water for swimming, lava, sticky walls etc.
- More levels + level changing
- diverse enemies: hopping slimes, walking skeletons, charging tanks, ranged enemies etc.
- tweaking gameplay feeling: screenshake, precise animations, tight controls, persistent objects etc.
- implement a main gameplay mechanic, which for now is unknown??.
- respawning enemies?
sound system- ~~implementing support for fore- and background sprites ~~
actions correspond the animation frame (e.g. jump and attack only on a certain frame of the animation)GUI-elements: images, buttons, stringsmain game mechanics: attacking and pushingenemies: Basic enemy with basic AIphysics support for actors (can be pushed)physics support for other gameobjectsenemy collision with playerenemy spawnpoint support in level editor
minor features:
- Actor collisions with physics objects (other actors, items, etc.)
- tileset support (changeable tilesets between level types)
- graphics (pixel art, 32x32 sprites): multiple tilesets, background, parallax effect
- pickupable items: coins, health, powerups etc.
- controller support
particle effect support: emitters/particlesmouse and keyboard supportrebindable keys supportlevel hazards (traps, spikes etc.)animation supportsprite animations for the player: walk, fall, attack, cast, idleGUI: hp + energy + scoreusable items: crystal
low priority features:
- friendly NPCs
- text dialogs: conversations + help signs
- resizeable window: currently 720p to ease the development
scolling background gui effectsimple mainmenu, pause menu and loading screen
Heikki Heiskanen - design & implementation