## lssx -- Fast-paced and twitchy space shmup

Show off your games, demos and other (playable) creations.
milk
Prole
Posts: 36
Joined: Sun Jul 17, 2016 7:20 pm

### lssx -- Fast-paced and twitchy space shmup

lssx
An archaic piece of software ripped from a fusty floppy disk is in-fact a US space-pilot training program from the Cold War.
Do you have what it takes to save the world from computer-generated ruskies?

This is a little side-project I've been working on on-and-off for the last few months for my EPQ, it's been kinda rushed (shows in the code quality ) because of exams coming up. It's mostly done though so I thought I'd release it
As part of my EPQ I gave a presentation on some of the in-and-outs of the game: https://ftp.ttxi.gq/5cTO0kDM0Y.pdf
A 5,000 word document which goes into greater detail will be released by March 27th. https://ftp.ttxi.gq/==QMwAzN3g.pdf

It's written in MoonScript and was inspired by games such as: Reassembly, Captain Forever and BYTEPATH.

https://ttxi.itch.io/lssx
https://github.com/twentytwoo/zephyr
Last edited by milk on Tue Mar 27, 2018 11:56 pm, edited 3 times in total.

raidho36
Party member
Posts: 1674
Joined: Mon Jun 17, 2013 12:00 pm

### Re: lssx -- Fast-paced and twitchy space shmup

Wow this is really cool, you should put it on Steam.

pgimeno
Party member
Posts: 1117
Joined: Sun Oct 18, 2015 2:58 pm

### Re: lssx -- Fast-paced and twitchy space shmup

Cool game. I couldn't find out how to shoot, though. While moving around, this happened:

Code: Select all

Error: modules/Physics/PolygonPhysicsShape.lua:10: Attempt to use destroyed body.
stack traceback:
libs/hump/gamestate.lua:89: in function <libs/hump/gamestate.lua:88>
[C]: in function 'getWorldPoints'
modules/Physics/PolygonPhysicsShape.lua:10: in function 'draw'
components/Asteroid.lua:8: in function 'draw'
modules/EntityManager.lua:15: in function 'draw'
main.lua:76: in function 'func'
libs/moonshine/init.lua:57: in function 'effect'
main.lua:72: in function 'draw'
main.lua:405: in function <main.lua:365>
[C]: in function 'xpcall'


milk
Prole
Posts: 36
Joined: Sun Jul 17, 2016 7:20 pm

### Re: lssx -- Fast-paced and twitchy space shmup

raidho36 wrote:
Wed Mar 14, 2018 1:42 am
Wow this is really cool, you should put it on Steam.
Aah, thanks a lot - Unfortunately I don't think it's of a high enough calibre to be on steam, there's too many problems with it / generally un-scalable to get to the point where I'd feel comfortable putting it on there.
pgimeno wrote:
Wed Mar 14, 2018 2:57 am
Cool game. I couldn't find out how to shoot, though. While moving around, this happened:
Thanks, you press "F" to shoot (there's instructions above the player when you startup for 8 seconds).

I looked into the bug and it's just the following going on in the physics buffer:

Code: Select all

Physics.buffer = {
[1]: --Edit physics body(A) parameters
[2]: --Delete physics body(A)
}

-- iterate top to bottom (simplified)
for i = #Physics.buffer, 1, -1  do
Physics.buffer[i]()


Obviously trying to edit deleted bodies values throws an error, I'll add a separate removal buffer to get around this sometime.

pgimeno
Party member
Posts: 1117
Joined: Sun Oct 18, 2015 2:58 pm

### Re: lssx -- Fast-paced and twitchy space shmup

Thanks, it's much funnier now

Maybe add the controls to the itch.io page?

I got two other crashes. One seems like another instance of the same problem, but in a different place. The other looks somewhat different, and seems to be related to the random creation of polygons. Here are both:

Code: Select all

Error: components/Shield.lua:22: Attempt to use destroyed body.
stack traceback:
libs/hump/gamestate.lua:89: in function <libs/hump/gamestate.lua:88>
[C]: in function 'setActive'
components/Shield.lua:22: in function '_oncomplete'
libs/flux/flux.lua:170: in function 'update'
main.lua:343: in function <main.lua:340>
libs/hump/gamestate.lua:89: in function 'update'
main.lua:397: in function <main.lua:365>
[C]: in function 'xpcall'


Code: Select all

Error: modules/Physics/PolygonPhysicsShape.lua:18: Box2D assertion failed: area > b2_epsilon
stack traceback:
libs/hump/gamestate.lua:89: in function <libs/hump/gamestate.lua:88>
[C]: in function 'newPolygonShape'
modules/Physics/PolygonPhysicsShape.lua:18: in function '__init'
components/Asteroid.lua:66: in function '__init'
components/Asteroid.lua:90: in function 'Asteroid'
modules/Director.lua:31: in function 'gameStart'
main.lua:57: in function 'switch'
main.lua:94: in function <main.lua:92>
main.lua:387: in function <main.lua:365>
[C]: in function 'xpcall'


ShriekBob
Prole
Posts: 2
Joined: Tue Feb 20, 2018 6:39 pm
Location: Santa Clara, CA
Contact:

### Re: lssx -- Fast-paced and twitchy space shmup

Okay, this is seriously cool.
"There's no place like ::"

milk
Prole
Posts: 36
Joined: Sun Jul 17, 2016 7:20 pm

### Re: lssx -- Fast-paced and twitchy space shmup

pgimeno wrote:
Wed Mar 14, 2018 7:06 pm
Thanks, it's much funnier now
Maybe add the controls to the itch.io page?
Controls: added! I added a pause screen while I was at it too.
pgimeno wrote:
Wed Mar 14, 2018 7:06 pm
I got two other crashes. One seems like another instance of the same problem, but in a different place. The other looks somewhat different, and seems to be related to the random creation of polygons. Here are both:
The first error, I _think_ is fixed now, or at least its occurrence has been reduced (this game will probably never be bug-free ) - as for the second one, I've literally never come across "area > b2_epsilon" before, I've played around with the asteroid code a fair bit so maybe that might've fixed it.

Anyway, thanks for the reports
Last edited by milk on Sun Mar 18, 2018 3:50 am, edited 1 time in total.

bartbes
Sex machine
Posts: 4927
Joined: Fri Aug 29, 2008 10:35 am
Location: The Netherlands
Contact:

### Re: lssx -- Fast-paced and twitchy space shmup

The box2d messages are a bit hard to read, but it means you created a shape with a very small surface area. I don't know the exact value of b2_epsilon, but it's meant to be "nearly zero". Most often this means you need to set minimum sizes when generating (or cutting) shapes.

EDIT: Oh, I realise I misread and you meant you've never had that problem. Oh well, maybe it still helps.

milk
Prole
Posts: 36
Joined: Sun Jul 17, 2016 7:20 pm

### Re: lssx -- Fast-paced and twitchy space shmup

bartbes wrote:
Fri Mar 16, 2018 6:47 pm
The box2d messages are a bit hard to read, but it means you created a shape with a very small surface area. I don't know the exact value of b2_epsilon, but it's meant to be "nearly zero". Most often this means you need to set minimum sizes when generating (or cutting) shapes.
Ah right, thanks for the explanation! Almost definitely related to the asteroids breaking apart into ever smaller sizes it would seem

mmx256
Prole
Posts: 3
Joined: Wed Aug 16, 2017 6:48 pm

### Re: lssx -- Fast-paced and twitchy space shmup

milk
Hi! This is really cool game! Really like the aesthetics, mechanics of controlling the ship, attention to detail. (And that's besides the fact I'm a big fan of old retro video games like Space Invaders, Asteroids, PacMan, Breakout etc.) And that cursor trail effect is just so smart, so simple but making huge impact on aesthetics!

Really appreciate You have included a presentation about Your experience, ideas, thoughts, inspirations, technical solutions, it is really helpful!

I have a couple of questions to You:
1. If You already have rich experience in programming, then in what languages/technologies? Just wondering why You chose Love2D, Lua and Moonscript despite having experience in, say, Java, C#, Python, C++ or whatever else. Not saying Love2D is bad, but all of my co-workers (Java) think of it as of some exotic thing. And just in terms of learning not only new stuff like graphics and physics, but also new engine and language.
2. Did You write all the shaders like color split and CRT curvature or they are included in some library?
3. Do You plan to add new features to this game?
4. Multiplayer?..

Maybe I will produce some more thoughts and questions, but at the moment that's all — had a meeting-heavy day almost without coding — I call it "got run over by meeting". So... Happy coding!

### Who is online

Users browsing this forum: pgimeno and 5 guests