Star Productions

It’s a dungeon crawler where you explore a procedurally generated dungeon and advance to deeper and deeper floors. I haven’t finished the combat system yet, but when I do, I’ll post a demo.

But I don’t really need people to work on the game itself, but feedback and little outside things would help a lot. One thing I need to know: Is there a create tilemap with (0)width and (0)height? I would really need this for my generator because it can generate many differently sized maps but right now it has to pick from pre-sized tilemaps and fill the rest with walls.

What would help my game a lot, and would be also very useful for the whole community would be a particle extension that I had planned, but I’ll need some help with it.

Particle extension idea

I started making it with block-objects but realised it would be much better to make it an extension

https://arcade.makecode.com/S77812-62168-59560-80490

now I decided to make it into an extension, but I have never made an extension or actually anything 100% in JS.


Here is what is planned to be in the extension:

Particles

all particles have these properties:

  • x position
  • y position
  • x velocity
  • y velocity
  • acceleration(multiplicative: 1=velocity is constant, 2=velocity doubled every second, 0.5=velocity halved every second)
  • lifetime
  • static/dynamic
  • +skipframe properties(I explain those lower)

Simple particles

Has just one color

Texture particles

Has an image

Animated particle

Has an animation(image list) and a frame duration + values for correctly changing frames during lagspikes or skipframes

Fire particle

Goes through a gradient(for example white, yellow, orange, red) and accelerates upwards

Also has a spark boolean that adds four additional pixels around it that have the next color of the gradient

Spawners

spawns particles

has properties:

  • x

  • y

  • square/circle

  • size(sidelength/radius)

  • spawn delay (because of how its coded it can spawn multiple particles per frame)

  • attached(sprite/tile)

  • lifetime min and max

  • velocity min and max for x and y

  • acceleration

  • +values for specific particle types(color, texture…)

Functions

not sure what to call them but they are used to influence already existing particles

accelerate

direction, strength

move

x, y, relative(boolean)

kill

disintegrate

turns each pixel of a texture or animated particle into its own simple particle

Global functions

functions but on all existing particles at the same time

global accelerate

radial accelerate

can be used for explosions

Function areas

areas that do stuff to particles that are in them

they have properties:

  • x
  • y
  • square/circle
  • size(sidelength/radius)
  • enabled

accelerate

dir, strength

+some way to make it stronger at the center than at the edges

wrap

particles that come from one side are teleported to the other

kill

just a kill area

displace

makes particles that are in it appear offseted, but its only visual, they actual coordinates arent influenced

other things

skipframes

you can give particles, spawners and function areas skipframes. If a particle has 2 skipframes, it will update once, then skip two frames, then update once, then skip one frame.

they will remember the accumulated deltatime so the physics stay the same

you can actually see them work in the block-object demo on the top

another thing

spawners out of screen wont spawn and all particles out of screen will get deleted. there will be a few pixels margin where they dont get deleted.

3 Likes