[WIP] Anarch -- Doom clone FPS

One thing I would really like to see in a raycast game , especially on the Pokitto, is rotated sprites. Sure it would mean a lot more art, but having the sprites rotatable to match the viewing angle would be out of this world!
Even if the effect was only used for collectable objects or background sprites, enemies would usually be facing you anyway :slight_smile:

1 Like

If you mean rotating around y-axis that would mean having a lot of sprite bitmaps from different angles. Unless there is something like sprite stacks,
vCE69yt
but that would need a lot of bitmaps too (and a lot of cpu cycles).
Edit: Actually, sprite stacks would fit better to isometric games

6 Likes

I was thinking more of just having a sprite sheet for the image from all angles of rotation and selecting the correct frame from the angle of view.

1 Like

That’s possible and easy to do of course, I’ve even managed to place real 3D objects rendered with my other lib:

The issue is the limited space, so I’d only do it if there is space left at the end.

Things I still don’t have figured out include:

  • name of the game
  • the ultimate weapon and what it should do
8 Likes

Name:
Pokoom

Ultimate Weapon: Tiny Pokitto, making monsters love each other and explode for good

3 Likes

Have returned to developing this again after a while.

@FManga does -g1 have any impact on the bin size? It seems like not, but on PC it does.

2 Likes

On its own, I’m not sure… but you’ll probably use that in conjunction with -O0 or -Og, which certainly will have an impact.
Edit: the debugging information added by -g1 probably stays in the elf and doesn’t get copied into the bin, which would explain your observation. GCC’s documentation is rather vague about how this flag works.

1 Like

I thought so, thank you :slight_smile:

I now have all enemies and textures, am at about 92 kb.

4 Likes

Wow, I tried emscripten and it also runs in browser now, works like a charm.

5 Likes

Coming up with a name is extremely difficult, I’ve spent a few days on it – especially if you want to avoid possible trademark violations etc.

I’m now thinking CorpoDearm (a wordplay on carpe diem):

image

What do you think?

3 Likes

I like the logo.

1 Like

What does it mean?

Gracy Thunderbolt is on a mission to de-arm the Military-Industrial Complex and take down TBEC (The Big Evil Corporation) and its loathsome robots

= Corpo De-arm

@drummyfish … did I get that right?

2 Likes

Yes, @jonne is right :slight_smile: Corpo for a big bad corporation + dearm, I kinda like how it sounds and I’ve found nothing named the same way (Google returns no relevant results), which is good for SEO and I likely won’t infringe on a trademark. Shorter names sound better (like Doom, Quake, Blood, Hexen, …), but these words can’t have the above mentioned properties.

1 Like

You could turn the gun into a sort of an electric taser / shock gun for deactivating robots.

1 Like

Awesome idea… unfortunately I now have all the weapons and don’t wanna mess with them, but maybe there could be an item which if taken would deactivate robots in a specific area which would also make the gameplay more interesting: you could either play the rambo style and shoot everyone, or play more “stealth” and exploration way. Good thing to think about.

1 Like

I really like the idea of a game like this! An open doom-like game that’s way more portable than the already very portable doom sounds great.

I recently got a joystick hat for the Pokitto, so I wanted to try out adding support for it to this game. That way the game would support strafing and turning by using the d-pad to strafe and the joystick to turn, just like the two sticks in console FPS games.

Here is how it looks with the joystick hat! I had to rotate the display, but thanks to the way the game is rendered, it was pretty simple to do. I didn’t dig into the code to try to add analogue support for turning, but if support for that is ever added to the game then the joystick could take advantage of it, and it could also be used with a mouse or controller depending on the platform.

If you’re interested in adding this (perhaps as a separate platform such as platform_pokittojoy.h), I can make a pull request on gitlab.

9 Likes

Amazing, thank you @wuuff :slight_smile: I really love to see you found it easy to mod the game like this, the vertical rendering actually looks very good, I’ll experiment with that too.

Strafing with analog should be easy to add: just add more cases here for the optional keys (you can also map one of the orange buttons to jump). I’m designing the game to be playable with just arrow keys and three buttons, but also not limit platforms that have more keys. Eventually I’ll probably also add mouse support in this way.

Also with this vertical rendering you can try to set SFG_RAYCASTING_SUBSAMPLE to 1 and see if it stays on playable FPS.

Is that hat still a prototype? Or is it finished and I can order it now?

1 Like

You can order it here
https://www.pokitto.com/product/pokitto-joystick-n-rumble-hat/

3 Likes

Actually, I already added support to use the joystick and buttons on the joyhat, including adding a jump button. I just can’t use the analogue functionality of the joystick to allow the player to turn by smaller or larger increments yet, and instead I just use a threshold for holding the joystick far enough from the center to simulate pressing left or right.

I noticed that in the game you have to hold A to look up or down. If you added optional dedicated “look up/down” keys for a platform to implement, the joystick could be used to look up and down without having to hold the button.

I pushed my changes to gitlab:

Although the changes are fairly minor, I think it has to be a separate platform than Pokitto without the hat (or else add a lot of preprocessor conditionals to the original Pokitto platform), because it has to #define a different screen resolution, which the game code seems to depend on. It would be cool if the screen could be rotated at runtime, though!

Feel free to use these changes, or don’t. If you want them I agree to release them under CC0, but I understand if you don’t want to start cluttering the project with platforms when it’s still in an early state.

2 Likes