Gun Trails - a bullet hell shooter [OUT NOW PLEASE BUY MY GAME]

OUT NOW

New Trailer

--------------previous-----------------

Starting to share bits and pieces of my game, Gun Trails

will write up more tech details later; but a quick summary

  • runs (easily) at 50hz on device, limited by the systems full-redraw limit
  • written in C99, no external libraries, outside of the playdate SDK used
  • within the SDK, most things are not used(sprites, collision etc), in favor of a faster, hand rolled implementation



more stuff

feel free to ask questions

:v:

edit: the game has evolved since this original post, I now plan to release it paid on catalog and/or itch.io

20 Likes

some fun background experiments

here is a slowed down gif as well (I didnt slow it down on purpose, I just dont know how to use ffmpeg right lol)
potato3

7 Likes

Great art! Definitely doesn't look like something that ought to be free!

3 Likes

playing with some menu transitions

(re-upload as ffmpeg smites me for my hubris)

bob

6 Likes

boss sneak peek

5 Likes

a lil sneak peak of the music https://twitter.com/superfunc/status/1622815423719960576?s=20&t=loH2-xFQD9fNa_I_lntvsg

2 Likes

got some love from a publication today: DoDonPachi-Inspired Shmup 'Gun Trails' Coming Exclusively To Playdate This July | Time Extension

pretty neat! as far as the release date goes, I hope its within the next month, but I can't promise,

1 Like

preview of one of three phases for boss #1 https://twitter.com/superfunc/status/1630051680422342656?s=20

:bangbang: keep an eye out for the trailer coming out this week on https://twitter.com/TYMplaydateshow !!!!

1 Like

trailer: https://www.youtube.com/watch?time_continue=1442&v=pYSAF1Ns47Q&embeds_euri=https%3A%2F%2Ftwitter.com%2F&feature=emb_logo

3 Likes

Yeah, things have evolved a bit over the last few months, and after talking with Panic and some other people I plan to release it for a fee on itch and possibly catalog.

1 Like

This is a bit old, but I forgot to share about the port from Lua to C a few months ago. May be of use to others when making evaluations.

Rarely have I had the time for an apples-to-apples port. This was going from well optimized Lua

  • Running at ~49fps
  • Lua specific optimizations (consts, avoiding global lookups etc)
  • Access pattern oriented data layout
  • Custom collision detection (faster than the provided AABB)
  • Zero runtime user allocation (all memory managed internally, notice flat memory line and constant GC %))

That said, I was hitting the ceiling, and I still had a few more features I was hoping to cram in, so I did a direct port to C99 (I wasn’t using any fancy metatable stuff in lua, just records, arrays, and functions, so it really was as 1-1 as it could be).

This is just one codebase, one data point, so evaluate accordingly. That said, this will hopefully serve as a useful data point for the kind of possible gains wrt porting.

cc @matt may be useful for your perf write-ups/book

edit: for those curious about the memory usage difference, this is because, in Lua, fundamental types are all 4 bytes in Lua, whereas in C, appropriately sized types can be used (uint8_t, int16_t for example)

this memory usage has a impact on cpu performance as well, smaller data => more data per cacheline => faster computation

7 Likes

Wonderful, thanks for sharing.

I guess full screen height update limits you to 49/50. I wonder how high you'd be able to go without the screen bottleneck?

1 Like

On the current build, I'm floating at 65-75% CPU at ~49.5fps (slight tick up in recent SDK update), so I figure current frame time is about ~15ms, so it could possibly go ~65fps if the limiting factor was removed. Worth noting the version I'm speaking on here has had its featureset grown significantly since the referenced image, so not 1-1 with those two graphs).

1 Like

cc @willco on this one

data may be useful when providing guidance to devs wrt Lua/C, since (afaik) havent been any documented 1-1 ports

1 Like

Out of interest, what were you able to change in your custom implementations that was so much faster than the default SDK versions?

1 Like

heh, probably not something I could fit in a single post. i'll try to do a longer write up of this some time after launch.

2 Likes

A not-so-flashy update

But I found another optimization that shaved a good ~3% of dcache capacity today :slight_smile:

I put it on twitter, I'm aiming to be wrapped on 4/24 with the game for people curious. When it comes out depends on if I get accepted into the catalog.

3 Likes

Just popped in to say this is my most anticipated game for playdate by far! Really looking forward to getting this when it comes out, awesome work so far!

2 Likes

tyty

looks like itll be in a catalog release around early june

6 Likes

date is locked in

Gun Trails, coming to catalog 7/18/23

Thanks to everyone for your patience!

4 Likes