Game play/game design ideas and/or collab perhaps?

I built a basic raycaster engine last June (ouch!), touched it up a bit last november (double ouch), and would very much like to get some kind of game going in a hurry. My problem is… I need some help figuring out the “fun” part. Or would love to just work together on a short game if anyone’s interested. Ideally cranking (har har) one out before PD hits the streets. When you’re done cringing my thoughts are below. :slight_smile:

First, a demo:
raycaster-crank-demo
(full length and higher quality: here)

I started designing the game concept from the restrictions/benefits around the engine:

  • It’s a raycaster, not a BSP walker or polygon engine.
  • Optimized enough to hold 30fps while texturing floors, walls, and a small 5 gray palette.
  • Just a few fps of overhead; probably no roving monsters, bullets, etc without shrinking the screen or losing fps.

Raycasting (vs BSP + WAD or etc) gives us benefits:

  • Some map flexibility; BSP trees must be pre-processed. Can potentially make live edits.
  • I can actually change the viewpoint per column on the screen for the same performance, which gives us the crank demo above.

I can and may extend the engine a bit further:

  • Per-tile floor textures (can bake lighting, patterns, etc)
  • Potential distance lighting or fog (by shifting the palette).
  • Animated textures.
  • maybe doors. The math I’m doing can’t do offsets very well.
  • Maybe some overlays or one or two sprites.

I have two lines of thought for a game:

  1. A game where you are trying to catch a robot/alien thinger. Cranking the viewpoint shows you the viewpoint of the thing you’re trying to trap. You familiarize yourself with the level and learn how it moves.
  2. A puzzler where flipping the crank one way gives you full control of a second character. Reversing the crank for a few turns returns you to the original character. Puzzles can be locking/unlocking things, timing via hints from one viewpoint or the other, or anything like that.
  3. Anything else, really.

I want to design the game with the following constraints:

  • Full screen 30fps. Cutting out other elements reduces the workload and the engine looks impressive on device.
  • Very few, if any, sprites or on-screen elements (though I may be okay with a small status bar)
  • Crank flips the viewpoint and/or control between a second entity. Via this spiffy transition effect that took me way too long to get looking right.
  • Everything else that fits is open, I think?

Next bit of work from me is to see about hooking up LDtk as a level editor (hey, over head 2D map right?) and 1-2 extensions to the engine.

I’ll probably commission someone for title screen + textures (currently using some public domain ones) and another for sound and maybe one bgm track. Removing mobs/items/etc from scope reduces the art load to something reasonable for a quicker game. Future games I’ll probably do more myself, but over a much longer timescale :slight_smile:

Any thoughts on what would make for a fun distraction? Also open to theme ideas. I’m more of an engine person; wasted too much of my youth coding and not enough creating WADs for doom mods :slight_smile: I do believe in designing around constraints helping the creative process, so I’ve put time into making those decisions.

5 Likes

I don’t have time to help, but good luck!

The turn-based gameplay is cool and unique, I think, so definitely something to pursue.

  1. This could be a sort of Theseus & The Minotaur scenario. wiki link

  2. It made me think of a PS2 game called The Adventures of Cookie & Cream (aka Kuri Kuri Mix) by From Software (yes, of Souls fame!) in which two cute rabbits have to work together to pass obstacles and reach the goal. There are two side-by-side vertical tracks: the player on the left would flick switches to help the player on the right, and vice versa. It can be played 2P co-op or 1P (when you control both rabbits). Anyway… video here

I also wondered if it would be fun to see certain elements of the level only from a specific view? Then you would learn about the environment to aid the other view, as well as operating switches to aid the other view etc. Not sure, it might be a bit too much to remember.

I claim no ownership on this or any ideas in this post :slight_smile:

1 Like

That’s a really impressive demo you did there. It runs very smoothly and the rendering is very clean. Well done!

For the game ideas part, I cannot really collaborate on other project but I can give my 2 cents. My initial impression is that you give quite some constraints. With very few elements beside the level itself, it is much more challenging to find a very compelling gameplay.

One of my suggestion would be to turn a weakness into a strength. You have mostly empty levels, why not make it what is appealing about the game. You can make an horror game, where you have to escape the level without getting caught by some enemy that is looking for you. You might need to carefully hear to see if they are nearby or not. You might be able to see what they are seeing but that might take time so it’s a risk. You could also check a map but doing so it leave you vulnerable. And if you get caught, do what FAITH is doing and play some creepy video FAITH - Pixel Horror Indie Game Teaser Trailer - YouTube
With some good audio you might be able to create some really interesting atmosphere without relying too much on graphical elements.

Another idea could be to use the camera switching in an unconventional way. Maybe you can use the view switching to change time for example. You could switch between the present and the future which reveal passage that might not exist on the other era. Technically that would be just the same level duplicated at a different coordinate but with difference. You don’t even have to be restraint by two eras you can have even more create a maze in time. It would showcase your view switching idea but I don’t know if this is really fun (In general I am not a big fan of “change to this time, character or item to solve a puzzle”)

I would have liked finding something a bit more original to be honest. I really hope you find an idea that showcase well your engine.

Thanks for the ideas!

Definitely a “hunt the wumpus” hunt or hide-from gameplay is what I’m thinking, but it could be a lot of work to make it fun. Similar with switch views for puzzle; very hard to design in a way where you aren’t just testing a player’s short term memory.

Changing the the world with the view is an interesting idea. I had a thought like dumping the player into a level and giving them N seconds to get familiar with the layout (a randomized level generator could help here, and be possible because of raycasting). Then the mob gets dumped and you have to track down or hide from. Switching the view would show their viewpoint, but perhaps this “Thing” is slightly out of phase with the player’s reality so the textures aren’t quite the same, or a passage exists for the mob that doesn’t for the player, allowing it to narrowly escape from dead end rooms.

The playdate has effectively unlimited texture memory, so while it’s hard to draw sprites due to overdraw requirements I can pre-render animations/transitions or do overlays (vines/rust/etc).

Think I’ll hack on distance shading and local lighting. Currently using a 2x2 “palette” as a screenspace effect to avoid wobbling, with some of the “colors” being inversions (0, 1, 0, 1 and 1, 0, 1, 0) to give more visible shading. I’ll experiment with 3x3; still perhaps 4-5 primary “colors” but allowing me to shift them more for lighting. Fogging distance and light switches would make hunt/hide gameplay a lot more compelling I think.

1 Like

Hi @dormando I'm late to this party. I'm looking through the past threads looking at how people are conceptualizing their games (especially that crank!). This was a great thread, I'm curious to hear what you've explored since.

Meanwhile, if you still are iterating, I wanted to add some thoughts. These are references to older games, and I think they point to interesting ways of using viewpoint. Big caveat: I don't know what I'm talking about. I'm a designer, but haven't working on games.

Ok, idea time:

The Portal games did a lot with mostly environment/level and very little objects/enemies/characters. Position/viewpoint of the character being key.

  • This makes me think you could definitely pursue a single player controlling 2+ characters and it being fun.
  • Crank could also switch between 2+ layouts of basically the same environment. A maze only solvable by toggling layouts.
  • If it's toggling between 2, maybe the 2nd view is black/white inverted, to help orient that dimension.

The (3D) Prince of Persia games did a lot with the same levels but depicted in different time periods/dimensions. The player time travels between them (I forget how).

  • Different states, one has decayed or been built up. A little goes a long way, I think you don't need a ton of decoration. A collapsed bridge can still be blocky and give an impression that time has past.
  • In one of the games, there was a baddie tracking you through all timelines. It was a head trip! Could be interesting to play with in the crank flip. One world you might be hunted, the other your the hunter...
  • There may be other meta tricks... like having the player discover they are hunting a prior instance of themselves, which is their recorded movement from a prior run.
  • ...or the different environments looking having different sophistication, or like iterations of the same game. Like you're playing different versions of the same game. Early Doom vs the reboots.

Random thoughts:

  • Crank only works on a pad, or does different things on different pads
  • Crank has limited "fuel" to a game ending point
  • Crank use makes level lose "structural integrity" to a game ending point
  • Crank requires more cranking as you use it, to a game ending point
  • Crank levers player viewpoint 90° downward, to run a maze in another direction
  • Wall/empty spaces invert on crank use (killing character unless they are on a neutral space)
  • What does a slight crank use do? I could see players using it to get a secondary map peek
  • Decorative: bricks in one dimension use running bond pattern, grid in another

Thank you for posting the raycasting demo. It looks great!

I have been working as an R&D engineer, so I believe in starting small and iterating. I might be open to collaborating on trying get a complete product out the door.

I have been brainstorming ideas that would be suitable for building towards an isometric RPG. One idea is an espionage/theft game. Sneak into an empty facility and steal stuff. May also cut off the power, etc.

Adding a simple menu system and scripting engine would probably open up a lot of gameplay options. What is the raycaster written in?

Your engine really has a cozy sense of "place" that it's already imparting. I could imagine a small world bustling with activity. In particular, I'm reminded a bit of Dungeon Keeper, and how it has optional first-person gameplay which ultimately isn't used very much. I don't think it was raycasted per se, but given its level design it might as well have been.

What if the game is about walking around a dungeon/town/building that is inhabited by a large number of creatures, and you have to place and destroy bricks in order to improve their daily lives? For example, you have to cut through walls in order to allow passage between two areas the creatures need to be in, or to reduce congestion in the hallways. Some creatures can only go through certain types of tiles, like pipes or water canals, etc. Some require velvet carpets laid down on the areas they go through. Perhaps the player can place and close and lock doors as well in order to better route these creatures.

Another idea: one person has implemented a Minecraft-like game in Pulp. You could possibly just plug your renderer overtop of their engine, if you can find a way to convert the pulp into lua code.