Space Rocks 3D!

Okay thanks.

Can you make it where we need it press the up arrow then the plane will look up and do one of the down arrow and press than the plane will look down

1 Like

Sure, here you go:

Changes:

  • Added a “Joystick Y: inverted / normal” option. (I think non-inverted feels weird for a spaceship, but I guess opinions differ here, and I’m grumpy myself if FPS games don’t include an “invert Y” option.)
  • Updated the starting wave choice. That now applies immediately for a new game, or to the next game if trying to skip backwards from a game in progress. (You can use “Reset game” to start over at any point.)

This release also includes various performance improvements from renderer changes I’ve been working on recently. It’s only lightly tested as far as gameplay is concerned, so let me know in case of any regressions.

Dithered shading is now roughly as fast as flat shading, so I removed the setting for that. Wave 20 now runs at ~20fps on a PyGamer, up from ~10fps in the previous release. This involved tracking down a bunch of performance-eating floating point calculations, logic errors and other bottlenecks. I left the performance tracing option I used for this in the menu for anyone curious, but it’s unlikely to be useful unless you’re studying the internals. It’s similar in spirit to https://makecode.com/js/profiling, but works on hardware also without needing special debugging tools.

6 Likes

I really like this game can you make a fps game thats not with planes

It doesn’t have to be right now but this is the only fps game right now

Here’s v0.16:

It now includes analog joystick control on compatible hardware such as the PyGamer. This is on by default but can be disabled in the menu in case it’s causing issues, please let me know if it’s misbehaving. It uses Button::pressureLevel() which is new to me, but it seems to be working well on my device.

@Purp13 - I don’t have any current plans for a non-spaceship 3D game, sorry. I’ve started early work for a sequel to Space Rocks 3D which will likely keep me busy for a while.

9 Likes

I found a bug/hack, If you turn around right before collision, the asteroid will go through you and you will not receive damage.

2 Likes

Yeah, it’s currently checking for collisions based on ship/asteroid distance at the time of each update. If the asteroid is moving fast, and especially if the frame rate is low, it’s possible that the asteroid moves far enough from one update to the next to jump across the ship position without triggering a collision. I don’t think it’s specifically related to turning around, you should also be able to get this effect by boosting straight towards a fast oncoming asteroid.

3 Likes

dunno if you intended it, but this reminds me of a 3D version of [asteroids]!(https://www.youtube.com/watch?v=WYSupJ5r2zo)

2 Likes

Yes, Asteroids was an inspiration, and I also use the gameplay mechanic where asteroids leaving the visible area reappear on the opposite side. In this case it’s a sphere centered on the player’s ship instead of the screen edges.

2 Likes

I didn’t even know that this was possible, I looked through the code and all I saw were giant blcks that made no sense to me.
Amazing Job, man! I’m surprised that you even got the rocks to look 3D, let alone the fact that you can fly around and blow them up!

1 Like

Those blocks are typescript blocks

1 Like

i think you should make the controls easier

1 Like

Easier in what way? You can choose from various control methods in the menu, including tilt controls on Arcade hardware such as the Pygamer. For the emulator, you can use a gamepad if that’s supported via the Web Gamepad API.

1 Like

so i just found this post (btw nice work!)

and id suggest making a setting to turn off and on shadows, since i find this annoying when i am in level 20 and the asteroids go away and i cant see them

The asteroids are currently forced to stay in a fairly small sphere surrounding the player ship for gameplay reasons. If they leave that sphere they are teleported to the opposite side. This effectively causes them to appear and disappear from view, and the distance based fade-to-black effect is intended to make that less jarring.

If it bothers you, try increasing the world size which allows asteroids to move further away, and that also reduces the intensity of the fade-to-black effect. It’s not the default since it changes the game - the risk of collisions is lower since the rocks are spread out more, and you’ll have to cover larger distances to hunt down stray rocks. (Boost helps here.)

2 Likes

oh ok i didnt knew, also how do i change the world size?

1 Like

Just scroll down in the main game menu (the one with “Start Game” on top), world size is one of the configurable options. Press left/right to change the highlighted option.

2 Likes

oh ook

2 Likes

Hi! I saw you made a chess version! Could you make a Plane Simulator? So basically you can add and decrease speed with I and K and yaw with J and L! You should be able to land!
Thanks!

2 Likes