'Dolphin Splash!' devlog

Making a little game with crank-only control: Take control of an aquatic creature and race, jump and dive, (deep) within (and above) the water.

dolphin_smooth_fps

Turning the crank gives both direction and acceleration, which gives it that appropriate 'swimming' feel. I can't really share what that'd feel on a Playdate at the moment, as I'm not ready to share, but to give you an idea:

  • It's a follow up, of sorts, to a very small game-jam game for pico-8 I made at the beginning of this year; visje
  • Which in turn has some similarities to a bigger (single android-phone, 4 players) game I made even earlier, where you've just one button to control your 'tadpole'; 1.B.E. - One Button Each by remco

Working with the C-API, since I plan to do some more advanced after this game (time permitting), but I think I might port the 'surface' of the game back to Lua (since it has co-routines out of the box and those work well for animations), once I refactored it so the code isn't horrible.

Hoping to release before December this year, on itch, initially.

Feedback appreciated! :slight_smile:

edit: As requested below, newer .gif which shows off the smooth frame-rate better (and I tried out a new above water bg pattern -- I think I might need to use an image instead of a pattern though...)

10 Likes

This looks Great. Weird, which is just my thing :slight_smile: I'm getting both Eco the Dolphin and Pilotwings vibes from this which, again, makes it just my type of game.

The gif frame rate badge shows 50 but the actual gif looks less smooth than that. is it processed in some way?

I played your pico8 game and the left/right wiggle is a control scheme I used for a very old prototype of mine, a kayaking game back in 2002. It had water currents and gates and the left/right waggling control and that was about it. Thanks for the memory!

2 Likes

Thanks! :smiley:

The software I use to capture gifs is very rudimentary. Both in the simulator and on actual hardware the framerate is actually as smooth as the FPS counter indicates.

Funny you should mention rowing, as 'visje' was originally going to be about a rowboat ... Then I made a mistake when drawing the boat with linesegments --crossing the middle two lines instead of them being in parallel, and creating a fake 3D effect-- which together with te controls I had already made felt a lot like swimming; and a fish was born instead.

2 Likes

Looks fun! Simulator can capture GIFs, by the way: one of the camera icons at the bottom.

2 Likes

Sometimes the best part of game development is finding out where mistakes take you. Looking forward to your game!

(And, as said above, capture silky-smooth GIFs using the Simulator itself)

1 Like

Hey Remco, nice to see a former colleague here! This looks like fun!

If you want some feedback; I'd change the look of the above-water part as it wasn't immediately clear to me that it was supposed to be that. Despite the nice water effect.

Good luck!

1 Like

Hi Nino!

Yeah, it was a nice surprise to see you had already made a game :grin: -- & one I like as well.

Thanks for the tip. Jumping from and back in the water is like half of the fun of the game, so it's important that the player immediately understands what's water & what's below.

I'd love to see it at 50fps. Any chance you could replace the GIF at the top?

1 Like

Yes, happy to do so, see the edit :arrow_double_up: :slight_smile:

(I also tried out a new above-water pattern -- I don't think it works, but the art will probably need an overhaul anyway.)

2 Likes

So smooth!

Patterns are tricky.

1 Like

My development took a bit of an unnescesary detour in DSP (that's hopefully a story for another time...) -- I didn't get as much actual work in as I wanted, but I've planned some extra time during October to make up for lost time. At least I got;

  • A name-change. 'Dolphin Splash!' will likely be the final name.
  • Some more effects in, like the rotating rings.
  • A good talk with an artist friend (She's willing to help out. For an honest fee of course.)
  • A teaser trailer, presented here in glorious .gif format.

dolphin_splash_teaser

5 Likes

Lots to do! Some of it done! I refactored the code so that it's not all in one big file...

...but more importantly, the artist I'm working with has delivered a sketch/example of the splash screen (very appropriate, given the name...)

pdsplash0

Also, I've started work on an editor. In fact, the editor is 'on par' with the features currently in the game. Now I just have to load the json it spits out -- both in the game (which should be relatively easy, as that mirrors the data-types I use in the game closely...), and in the editor itself.

I'll probably upload a web-build of the editor once the game is out.

2 Likes

I'm thinking about the benefits this approach over adding an editor mode in the game? A larger viewport? Mouse control?

Do you think it offsets the device benefits the ability to instantly test a game by toggling the editor on/off?

1 Like

@matt Mostly because I've not been able to find a good vector-based level-editors (as opposed to tile-based, of which there are a lot). The code is relatively generic, so I can reuse much of the code (or refactor it) should I need it.

The other benefits pushed me over the edge -- smooth mouse/keyboard control & a larger view, like you said.

Given that you can also attach the device to the sim to use the crank (and that the resulting slight increase in disconnect/difficulty might help overcome the 'developer is always way too good at their own game' effect...) -- there's not that much of a downside w.r.t. development at least.

Lastly, the approach isn't mutually exclusive; if needed, I could make a much simpler editor in-game to nudge things if needed. (Though it's double work, so it depends on how much benefit that'd bring in the end.)

(... all of the above make it seem like it was a better thought-out decision than it may have been :sweat_smile:)

1 Like

Music update! I think I composed what is to be the main in-game song today. It's hard to get a good vibe for the game, but I managed something.

The original plan was to play around with the synths to see if I can make just enough of a 'beepbox' of my own on the PD -- but I don't think I've enough time for that. Compressing the song to a relatively low sample-rate seems OK though.

And, this should probably have been an update in and of itself: The in-game pixel art is in --has been gradually made in the past few weeks by the same artist who did the 'splash' screen, in fact-- so here's a little sneak-peek (the background sprites aren't aligned correctly yet though...):
playdate-20231126-230123

Work on the rest of the mechanics and the level editor, menus, etc. has slowed a bit due to the above, (and also, there's a lot that's just not that interesting for a devlog) but this is also progressing, and will speed up now that I have at least the basic resources done.

2 Likes

Another batch of smallish updates:

  • For anyone who's seen the trailer in the community direct; back then I thought I could release 'late 2023'. While that would still be possible it's now clear to me that if I did that the end-product would be rushed. While I never set out for it to be a very large game, I'd feel like I'd sell it short if I didn't do the polishing that it clearly needs. Also, the holidays are fast approaching, and I don't think I'd be a good idea to have a release basically coinciding with new-years. Perhaps the next community showcase would be a good ... oh. I missed the deadline :-/ That puts a bit of a crimp on my plans :frowning:
  • Visually, I worked on the 'walls', which are now filled in, having a (vertical) prallax background when above water, and making the main sprite read a bit more clearly.
  • An oversight in collission detection lead to a situation where you could get inside of the walls if you entered them at a sharp angle. (The code that fixes this also made it easier to draw the inside of the walls as filled polygons.)
  • Speaking of collission, there are some things going on with being near the surface of the water and also near walls that I don't like. I briefly tried fixing those aready, but it's still not that good and requires another look.
  • Related to that, I made the center (of rotation) of the doplhin shift down a bit while above water, so the jumps look better.
  • In other news, the music now plays via midi-files instead of with wav. Due to the need for (uncompressed) samples, and the fact that I only have two songs and those use different instruments, the disk-space saved isn't quite as much as expected, but still nice to have worked on.

I know this seems exhaustive, but even this skips over some smaller bits.

playdate-vparallax

Anyway, it still looks basically the same, the most visually striking addition is as expected the parallax background (I still have to do some work on that too, though). There's a surprising gotcha with what I call the 'solid grey' pattern that I managed to work around. (If the pattern is shifted by one, it'll look like the image is flickering, especially on the device, since it's just alternating black and white pixels.)

From now on, I'll try to post on the discord as well: Discord

1 Like

Love how this is coming together.

1 Like

Still ongoing! Operating under the assumption that I'll have some sort of play-testable version by the end of Februari.

Working on the level-selection menu:
playdate-20240202-233537

... and the metadata-editor window for the level editor:
metadata_edit

1 Like

Great stuff, looking forward to it!

1 Like

The 1st public playtest is going to be tomorrow, March 9th at 14:00 CEST 18:00 CEST (2024 for those in the far future ... or past I guess :stuck_out_tongue_winking_eye: ).

Until then, please watch the trailer that'll drop in the community awards, and have some gifs of stuff I did in the last month or so :slight_smile:

whirl_and_bounce

tutorial_message

(I'll add a link to the trailer tomorrow as well! For now, it's better to let if 'premiere' at the proper event -> Edit 1/2 a day later: trailer as presented at the community awards.)

EDIT 2: Ran into a show-stopping bug. Expect a delay of a few hours.

1 Like