Pokitto is on the way, what games should I make?


#1

Hello :slight_smile:

I’ve already been a part of this beautiful community for a while, without owning a Pokitto, but it should be on its way now, so I’ve started thinking about my first project.

What game (or program) would you like to see? Right now I’ve been thinking:

  • Port some games (either my own or someone else’s). Probably not so much fun programming-wise, so I’ll most likely leave this for later.
  • Advanced raycasting engine/demo. Not just like Wolf3D but rather like Doom – each cell would have floor and ceiling height, and maybe even 45 degree walls could be allowed. Textures probably only for walls. Then sky, fog and sprites. (Could Pokitto handle this? To me it seems possible since the much weaker Arduboy handles texture-mapped raycasting pretty well.)
  • Dungeon crawler RPG. I’d like to somehow make the rendering of movement a smooth animation, not just the cheap “now you’re on square A and then you’re suddenly on square B”. (Example. Ideas on how to do this?)
  • OR go fibonacci and combine the two previous points :slight_smile: That is a raycasting (just the “simple one”) RPG dungeon-crawler. I’ve been long thinking about creating something like this for PC, but I’d actually rather make it for a simpler platform, because on PC I’d probably go too big and would end up failing. I’d like this to be the Elder Scrolls for Pokitto. By Elder Scrolls I mean non-linear, go-wherever you want, talk to people, read books, level whatever you want, …

I’m leaning towards the RPG.

I’ll use this thread as a development and documentation blog, I’ll keep notes and ideas here etc. Consider all my pictures and art I post here CC0 licensed (unless stated otherwise) - that is freely reusable without any burden. I’ll probably post all my code under CC0 too, but the license will be explicit (because due to dependencies I may actually end up with a different license, so watch out).

Alright, I’ll be off to studying the Pokitto platform now, leave me any suggestions :slight_smile:


#2

That’s a good question. I’d love to see an RPG-ish but those projects seem to fail at the point when the engine is done and the interest disappears :wink:

Doom-like rendering with flat/procedural walls is my choice… but that’s only an opinion!


#3

i think combined raycaster + rpg sounds awsome
your not that far from “The Elder Scrolls Arena” in that case


#4

Yep :slight_smile: Fun fact: there is a mysterious TES game called Shadow Key for old Nokia phones with Symbian OS, which this could also be similar to. You can’t play the game unless you actually own an old Nokia phone (which I do!), because there are no Symbian emulators. But you can watch videos of it. (Actually there are more mysterious TES games around.)


#5

My vote would be for something that involves a specific software voice synthesizer :wink:


#6

shameless plug :smirk:

i would plug mode15 but i think your better of with a custom direct drawing of scanlines in portrait to do the raycast, it would increase your pallet size wich helps if you need to represent depth


#7

More a request for someone to port ‘SAM’. A plug would be to suggest mode13 or my unfinished mixMode…


#8

Interesting, I slowed down the video and found that the movement animations in Gates of Skeldal are done this way:

  • forward movement: Scaling the current frame up, then jumping to the new one. Actually I found a bug where they scale the whole frame including the minimap in top left.
  • rotation: Scrolling one frame into another left to right or vice versa.

#9

The movement is easy enough, you’d just use a state machine to switch between moving and accepting input and lerp the position during the movement state.

The rendering is the hard bit. To be able to adapt to the movement you’d either have to have image mipmaps to be able to display the screen at several levels or you’d have to have proper raycasting, though that’s almost certainly possible on the Pokitto.

If @Hanski can pull off Mode 7 and the Pokitto can manage raycasting then the Pokitto has to be capable of raycasting, surely.

Another thing I’ve previously considered doing.


#10

The answer to your question is dead simple.

Just prerender the whole thing, and play back full motion video a la @spinal :wink:


#11

Of course, I just need to figure out the animation of the intermediate frames. It doesn’t have to look realistic at all, the interframes would only be visible for a fraction of second, so some fake-3D would do the job. The techniques used in Gates of Skeldal I posted above would be good enough I think.

Love that movie :smiley:

I think I’ll call it raycasting++. It’s still not raytracing, but it’s better than vanilla raycasting, but also more complex and needs more CPU (because you can’t stop at the first intersection.).

We could join the efforts :slight_smile:

Nice, does Pokitto support an external harddrive to store that video at? :smiley:


#12

sd card loads data prety well


#13

Sure, it was meant to be a joke… If 99% of the game size is a prerendered video of movement animation, something’s wrong :slight_smile:


#14

eh, FMV games are having a bit of a comeback in recent years
also you can compress the video a bit for pokitto


#15

Also I’m thinking RPG may be a bit too ambitious for the first project, maybe I should go for something smaller. Some additional ideas I have in store:

  • GTA 1 clone (still ambitious)
  • Bomberman clone – I love this genre, but since I’ve already made one such game, I don’t find this as appealing.
  • Advance Wars clone – This I’ve been wanting to make for a long time. But I need a setting. I like the original modern war setting, but I need to make it a bit different to not “steal” the “trade dress” :slight_smile: I also like the Wargroove style.

#16

theres a unfinished advance wars style game for pokitto so maybe you could ask trelemar to help continue the project


#17

I’ve got enough to get through as it is. I can’t commit to anything else. (No pun intended.)

Why fake it? Why not just do realtime raytracing?
I’m sure I saw a Wolfenstein port running on the Pokitto just fine.


#18

The fake/2.5D has some advantages over raycasting, e.g. it can be more detailed, which may or may not be better than being more realistic. With the vanilla raycasting I have to have just flat walls and untextured floor/ceiling. (Even though with raycasting++ I’ve been thinking about the possibility of having floor/ceiling squares of different colors. I don’t know if fully textured floor would be possible performance-wise, but maybe with subsampling it a bit it could be. Will give it a try.)


#19

Observing myself for the last few days my thoughts were mostly about the raycasting++ demo, so that may be what I’ll probably try to do. I started writing a small raycasting library. It should be:

  • small, simple
  • written in C => compatible with everything
  • single header only
  • using only integer math
  • using only stdint library
  • CC0 licensed
  • focused on small platforms
  • offering choice between speed and memory efficiency
  • more of a utility library than a “framework”, to allow flexibility and freedom

I’d also write a C++ wrapper, but it’s supposed to be just a few small functions, so probably no point in that.


#20

What about something ala eye of beholder ?
Or nowdays Legend of Grimrock.
You could take advantage of the sd-card capabilities of Pokitto to prerender the dungeon.
It should be quite easy create a software toolchain to export a 3d dungeon from blender.