Jumpy Space Fight - a bump-based demo-y platformer

Show off your games, demos and other (playable) creations.
Post Reply
Sarcose
Prole
Posts: 48
Joined: Wed Jul 08, 2015 12:09 am

Jumpy Space Fight - a bump-based demo-y platformer

Post by Sarcose »

Hi guys. I'm going to go ahead and post my project. Jumpy Space Fight is a platformer concept done entirely with love.graphics primitives (currently). It has one map so far -- it's been a vehicle for exploring implementing mechanics, for me, and learning love2d and bump. Right now, it still needs a boatload of work in refactoring -- I am working on a ECS-based implementation that I will replace this one with, which uses hard-coded entities and behaviors.

(screenshots soon!)


Controls:
AD and Left/Right move
W, Up, and Spacebar jump (can jump in air infinitely)
Ctrl attacks

Features:
Red blocks damage, green blocks heal, purple blocks bounce

Unintended "feature": you can climb up the purple blocks by pressing against them. However, it doesn't matter, because in Jumpy Space Fight, you have infinite jumps!

Other things: there is a very primitively-coded visual effects system that just draws shapes in random places to arbitrary configurations to create the illusion of a real particle effect system, the angry square guys (named "squareo" in the code) have no AI to speak of (they pick a random direction and move in it for a random distance) but have different speeds at which they move. Winning increases the difficulty by: decreasing heal stores in the heal blocks, increasing monsters at map initialization, increasing monster speeds. Loading arbitrary maps will come after the ECS refactor.

It's actually quite fun, and as I continue with this project I'll be expanding the mechanics greatly. I just finished sound design tonight -- sound credits can be found in assets/sfx/credits.txt and bgm credits in assets/bgm/musicList.lua or seen on the bottom right when the game chooses a new track. (every audio asset used in this project will be either creative commons or attribution license if it's not made by me)

Anyway, here's the latest demo. Please let me know if you find glitches other than the ones I listed above, because I would like to figure out how to solve them. Also seriously, be wary of looking into the source code. This is my first foray into real application design and I don't have a good handle on organizing multiple source files and many things are very wonky looking still.

Enjoy!

control recap:
move: AD or left/right
jump: W, Up, or spacebar
attack: ctrl

edit edit: blargh, fixed filenames. Thanks kikito!
Attachments
jumpy space fight - filenames fixed.love
(27.06 MiB) Downloaded 283 times
Last edited by Sarcose on Tue Nov 17, 2015 6:11 pm, edited 3 times in total.
User avatar
kikito
Inner party member
Posts: 3153
Joined: Sat Oct 03, 2009 5:22 pm
Location: Madrid, Spain
Contact:

Re: Jumpy Space Fight - a bump-based demo-y platformer

Post by kikito »

Hi, I get the following error when executing the .love:

Code: Select all

Error: engine/gameplay/play.lua:3: module 'engine.gameplay.entities.pc.player' not found:
	no field package.preload['engine.gameplay.entities.pc.player']
	no file 'engine/gameplay/entities/pc/player.lua' in LOVE game directories.
	no file 'engine/gameplay/entities/pc/player/init.lua' in LOVE game directories.
	no file 'engine/gameplay/entities/pc/player.so' in LOVE paths.
	no file './engine/gameplay/entities/pc/player.lua'
	no file '/usr/local/share/luajit-2.0.3/engine/gameplay/entities/pc/player.lua'
	no file '/usr/local/share/lua/5.1/engine/gameplay/entities/pc/player.lua'
	no file '/usr/local/share/lua/5.1/engine/gameplay/entities/pc/player/init.lua'
	no file './engine/gameplay/entities/pc/player.so'
	no file '/usr/local/lib/lua/5.1/engine/gameplay/entities/pc/player.so'
	no file '/usr/local/lib/lua/5.1/loadall.so'
	no file './engine.so'
	no file '/usr/local/lib/lua/5.1/engine.so'
	no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
	[C]: in function 'require'
	engine/gameplay/play.lua:3: in main chunk
	[C]: in function 'require'
	engine/gameplay/gameplay.lua:3: in main chunk
	[C]: in function 'require'
	engine/states.lua:5: in main chunk
	[C]: in function 'require'
	main.lua:8: in main chunk
	[C]: in function 'require'
	[string "boot.lua"]:374: in function <[string "boot.lua"]:244>
	[C]: in function 'xpcall'
This likely happens because you have not been consistent with the uppercase/lowercase in your file names. Windows does not care if you call a file Player.lua, PLAYER.LUA, or player.LUA. It will still load it when you do a require 'player'. The rest of the systems, however (linux, mac, and zip) are not so tolerant. You must rename your files so they match your source code *exactly* (if you are requiring "engine.gameplay.entities.pc.player", for example, the files and folders must be called *exactly* engine/gameplay/entities/pc/player.lua . A single uppercase there will throw the aforementioned error).
When I write def I mean function.
Sarcose
Prole
Posts: 48
Joined: Wed Jul 08, 2015 12:09 am

Re: Jumpy Space Fight - a bump-based demo-y platformer

Post by Sarcose »

Ahhhh, thanks a bunch there -- you solved a problem I had been having anyway, and that is, when I moved the .love out of the folder it didn't execute properly. I wasn't sure if it was something wrong with my setup (since it works when in the root folder), but I'm guessing the reason it worked is because of .love finding the referenced source files elsewhere.

That was a pretty rookie mistake. All should be working fine, now.

An update to some glitchy stuff: owing to the spaghetti of my state engine I'm sure, the enemies have a glitch where some of them will remain after they die, if the player has died at all. I had fixed it before I refactored it into a state engine, but now it's back -- just so you know I'm aware of it. Like I said above, I'm working on an Entity Component System with which I will rewrite the whole game again, and I'll likely be better able to fix that glitch when I once again re-approach my state engine.

Another request: if anyone has any critique of the sound design let me know; I'm all about aesthetics. Also if any songs in the random list are too loud or quiet let me know -- individual volume settings for songs are found in the above-mentioned musiclist.lua.

(funny thought: I have the game going in the background so I can listen to the randomized mod music -- it doesn't shuffle to the next one when you're in a win/loss screencard but that can be fixed with a quick tap of the spacebar)
User avatar
qubodup
Inner party member
Posts: 775
Joined: Sat Jun 21, 2008 9:21 pm
Location: Berlin, Germany
Contact:

Re: Jumpy Space Fight - a bump-based demo-y platformer

Post by qubodup »

Crazy and fun. :) Cool intro too!

I wonder if the speed is intended or you just made it CPU-speed-dependent.


https://youtu.be/D0-gJZcm504
lg.newImage("cat.png") -- made possible by lg = love.graphics
-- Don't force fullscreen (it frustrates those who want to try your game real quick) -- Develop for 1280x720 (so people can make HD videos)
Sarcose
Prole
Posts: 48
Joined: Wed Jul 08, 2015 12:09 am

Re: Jumpy Space Fight - a bump-based demo-y platformer

Post by Sarcose »

Thanks for the compliment, and the video! You play it basically how I've been playing it, haha :)

I'm pretty sure it should be cpu-independent, but it's been a while since I've reworked core engine stuff (most of the past month has been spent reworking it into a state engine so it runs smoother). But regardless, the video you posted is the speed I intended it to play at!

(I am acting like it's hard for me to tell because it kind of is; entities have hard-coded mechanics and their organization is kind of all over the place, so pouring through it all to figure out where I'm properly applying dt is difficult. However, I have already once refactored the whole thing with a mind to applying dt correctly, so it should be working as intended. As I continue working on this ECS-based refactor I will be revisiting every itty bitty bit of it to make sure it's all coded right)
User avatar
DeltaF1
Citizen
Posts: 64
Joined: Mon Apr 27, 2015 4:12 pm
Location: The Bottom of the Stack
Contact:

Re: Jumpy Space Fight - a bump-based demo-y platformer

Post by DeltaF1 »

Pretty fun :D I like the song name displaying in the bottom right corner.
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests