#Bombleman - Online Multiplayer Bomberman... for pebble!

117 messages · Page 1 of 1 (latest)

obtuse thunder
#

Working title: Bombleman
The second addition to Pebble Land ( #1349798312647327744 being the first), Bombleman will leverage the existing server infrastructure I have in place to provide an online, multiplayer battling experience!
Three ways to play:

  • Offline vs CPU
  • Quick Play with a random player
  • Lobbies for friends

Thumbnail: https://cdn.discordapp.com/attachments/1467245445884674150/1467691907043033108/emery.png?ex=69814e1b&is=697ffc9b&hm=d1e3c1c40719ff08cc8572fa1cc5ea165cf3d3ca1e9864e08100ba264025f40d

#

First time using figma to plan out all of the menus and screens!

obtuse thunder
#

Made all of the sprites/tiles for thhe start, here are some screen mockups for each platform:

#

Basalt

#

Diorite/Flint (I don't think this will fit on aplite)

#

Gabbro

silver maple
#

Do you predict the same controls as Pebble Park? I think they’d work well overall. Especially if you just put bomb drops on the back button, as tempting as 4 directions with the buttons would be

silver maple
#

Hey wait. You put this together extremely quickly. Are these sprites pulled from an actual Bomber man/sprite resource?
Or am I making an angry, jealous face at you about how fast this was

obtuse thunder
obtuse thunder
obtuse thunder
#

background tiles rendered on the watches:

obtuse thunder
#

(it’s really awkward to press all 4 buttons when it’s not on my wrist)

silver maple
#

Vibrations on bomb explosions based on proximity could be a fun feature (this is scope creep before the core is even done)
If only the speaker API existed for some at least 20% different Bomberman music

obtuse thunder
#

ooo that’s a fun idea

obtuse thunder
#

Base game mechanics complete!

  • movement
  • placing bombs
  • destroying rocks
  • rocks spawn items
  • items power up player
  • destroying items
  • players die by explosions
  • game over (right now a game over restarts the game)
  • up to 4 players
#

Next step: complete single player mode

  • Basically I need to make the CPUs play the game, too, and have a brain
silver maple
#

(If you saw that, it won’t apply, so ignore it 👀)

obtuse thunder
#

haha i started taking a peek, i’ll propose my current unorganized brain dumps instead

#

It’s going to be a challenge for sure, not something i’ve done before

silver maple
silver maple
#

Fastest-safest path to placing a bomb in line with the most active player on the screen, randomized on ties is probably a fast start but I don’t have a brain for figuring it out without paper.

#

(That file above is actually a super clean representation for ideas too like “kamikaze mode” as they called it which allows the bot to place a bomb on itself, regardless of the situation it is in and if it can even get away safely)

obtuse thunder
#

ugh the pathfinding algorithm is going to be a pain in my butt, algos aren’t really my strong suit but this is a great way to practice!

silver maple
#

Send a query to Claude every time you want the bot to move. E z p z best smartest bot

obtuse thunder
#

I like the idea of different cpu personalities, like coward (prioritizes safety), aggressive (prioritizes killing players), lazy (takes longer to think), hoarder (prioritizes items), demolitionist (prioritizes destroying rocks)

silver maple
#

Yeah that’d be a fun way to route the logic to different pathways and let them interact with each other more. You could always map it to colors of the Bombermen too like Pac Man ghosts (does bomberman actually already map personality to color?)

obtuse thunder
#

Dunno if they're already like that, but i could make it happen!

obtuse thunder
silver maple
#

Hey some people pay good money to Anthropic to produce results like that

obtuse thunder
#

Score is: 1 for empty squares, 2 for rocks, walls are completely blocking

#

Right now I just grab the first successful path, regardless of score, for fastest computation. If I want to later I can generate all possible paths and pick the one with the lowest score (fastest path), but the CPUs don't have to be that smart.

silver maple
#

What is that you’re using to represent the paths on the left?

obtuse thunder
#

And also square safety scores. Where can a CPU safely stand? Where should they go when they're in danger? The higher the score, the safer the square.

  • Walls - -1 (CPU cannot go there)
  • Death - 0 (CPU will die if standing there)
  • Bomb - time remaining + distance (farther from bomb = safer, max score = 15, so never as safe as a empty or item square)
  • Rocks - 20 (actually they should be -1 since CPU can't go here. Whoops, will change)
  • Empty square - 21
  • Item square - 22 (CPU should want to go here the most!)
obtuse thunder
#

...if you know a better way please let me know...

silver maple
#

Me: "This person is a genius with purpose built tooling! This is why they were able to crank this out so fast"
You: "------------------------------ <"

#

(This is absolutely the exact thing I'd do. You just made it look really good that is a sick, scary function)

silver maple
# obtuse thunder And also square safety scores. Where can a CPU safely stand? Where should they g...

Let me complicate this. If the rocks were 20 to tell the CPU "you can go here, but you need to clear a path", you could rely on safety scores of regions around the CPU to let it decide what to do.

-1 -1 -1
21 20 21 < CPU here
21 -1 0

The CPU can know "I could clear 20 but I have no where to go if I drop a bomb, lemme just chill" (or it can understand it can get to that square before its bomb explodes but after the square clears from 0 to 21)

But maybe you can do that with other flags. Just thinking if maybe it does make sense that walls and rocks are different

#

(With the above, the logic of one of the Bomberman could be a goal to make every square 21. It'll clear rocks, pick up items, blow up other CPUs and Players, as much as it can so that everything is 21, assuming a CPU/player is not 21)

obtuse thunder
#

Yeah that could work, i'll see how it shapes up once i actually start implementing

silver maple
#

He does not see yellow or blue Bomberman. He simply sees 23 and knows it must become 21

obtuse thunder
#

3 CPU types for now, only stopping b/c I'm out of time for the night:

  1. Hunter: targets the closest human player
  2. Friend: targets the closest CPU player
  3. Hoarder: targets the closest item
    If any of the CPUs can't meet their goal, then they'll change their target to closest player
#
  1. Black = Hunter - even though the CPUs are closer, targets the human (white)
  2. Blue = Friend - the human is closer, but targets the closest CPU instead (black)
  3. Red = Hoarder - No items, so defaults to the closest player (black)
#

This is after items appeared so hoarder (red) targets the closest item instead!

silver maple
#

You’ve also crafted an interesting logic puzzle game where you see the current paths available in the terminal and using those you determine where the actual human player is on the screen

#

I’m very excited to see how the decision matrix evolves especially as you add a second player to the screen. It’s gonna get wild

obtuse thunder
#

Same thing as before: white is human, red wants closest items, blue wants other CPUs, black wants humans

#

Biggest changes:

  • Now CPUs can move along their paths, place bombs, dodge bombs (even when they're in multiple explosion paths!), pick up nearby items
  • Added in the kick powerup
  • Adjusted map to make the game more interesting. Could make multiple maps pretty easily...
obtuse thunder
silver maple
#

My excitement is immeasurable. I love Bomberman so much.
As a very early piece of feedback, I’d consider either an option or just a different default for the flashing invulnerability. Something about it both in the top video and the one on the pebble is very hurt-y to my eyes

#

Maybe only flash every other row on the bomberman instead of the entire thing

silver maple
#

Net de Bomberman has/had some interesting ideas that might be more relevant to what you’re doing than the other ones, though with a couple extra rows/columns than you have

#

To blow up your entire scope again. Maps here are simple enough you could let players (me!) start matches with our own maps by entering some sort of ASCII representation of a map into a PKJS config or otherwise. The default map above in the first video could just be

1acacaca2
abcbcbcba
cccacaccc
cbcbcbcbc
cccacaccc
abcbcbcba
3acacaca4
obtuse thunder
#

thanks for all of your feedback!!

obtuse thunder
obtuse thunder
obtuse thunder
main crescent
#

This looks great.... can I install it?

obtuse thunder
#

Thanks! And not quite yet

#

although i’m thinking about splitting up the offline and online versions into two apps so the offline one can come out sooner 🤔

main crescent
#

Ill have to check back in soon. Im hype

deep acorn
#

you are a god

#

haha

#

just a reminder

#

maybe you could handle user coordination in Pebble itself

#

timeline, wakeup, etc.

obtuse thunder
#

I think the two missing pieces are:

#
  • Right now in Park I could send a sequence of messages that say "Let's meet" "Main Square" "1 hour", but on a technical level there's nothing stopping that message from being arbitrary "Let's play Bombleman in 15 minutes" or something. The hard part for me is how do I squeeze in that more robust messaging system in a way that's usable on a pebble and doesn't consume a lot of memory (i can't fit dictation 🙁 )
#
  • Wakeups should work for notifications, but that's really just a workaround for a timeline server. I haven't decided if I really want to push down that path yet, it's more complicated than I expected
#

All that said, being completely self-contained on the pebble is the dream, and actually is realistic on the Time 2/Round 2 b/c of their massive available ram

chilly crater
obtuse thunder
#

yeah, right now it's basically a menu tree for selecting a premade message, and then that single message gets sent, which is pretty cumbersome

#

(if you have any good ideas for making a pebble-friendly UI for this I'm all ears 👂👀👂)

chilly crater
#

Hmm I wonder how easy a binary tree would be. You could start with letters, then switch to selecting words once there are fewer than like 4 or something maybe?

#

So you'd start by choosing the starting letters to filter word choices

#

Potentially easier with a touchscreen, could do the standard 3x3 phone number keypad

deep acorn
#

maybe there's no way to message from inside the app

#

but

#

I understand the limit of timeline server

#

like there could be a daily event

obtuse thunder
obtuse thunder
#

(gonna move over to #1349798312647327744 since that’s more relevant)

obtuse thunder
#

@silver maple wanna design a map when you have a chance? Here's an example:

 abbbbba 
bbb b bbb
a babab a
bbb b bbb
 abbbbba 
4 b a b 2```
* 9 x 7
* `1`, `2`, `3`, `4` = player spawns
* ` ` (space) = blank square
* `a` = wall
* `b` = rock
* Theres a wall all around everything (making it 11x9 overall)
#

Entering via a clay config is doable now that maps are ascii, just takes time to set that all up so I'll kick that can down the road

silver maple
#
bbb a bbb
 abbabba 
1 bb bb 2
aaababaaa
3 bb bb 4
 abbabba
bbb a bbb
#

I think that’s a legitimate map?

#

Hopefully it has walls down the middle with 1 space gaps that each player can get through

obtuse thunder
silver maple
#
1 bb bb 2
baaa aaab
ba bbb ab
 abb bba 
ba bbb ab
baaa aaab
3 bb bb 4
#

Also maybe that

obtuse thunder
#

This video also shows an... interesting bug where one of the players gets yeeted into another dimension??? Idk what happened there. (also sorry haven't changed the invuln animation yet)

#

These are fun designs (i'm saving them hehehe)

silver maple
#

That’s great! It’s cool to be able to be able to swap things out like that. There are cool pieces in some games like the tunnels where you can’t see into it so you can go in and place a bomb and people can’t see it and being able to insert stuff like that fast seems cool for testing too

#

Also that map doesn’t work

#

Because you have to die oops

obtuse thunder
#

haha yeah i placed a bomb and went "wait o.o"

silver maple
#

Gottem. Probably just have to move those close rocks is all

obtuse thunder
#

but yeah making it possible to create maps and import them (later) was a great idea, thanks for suggesting it!

#

(tunnels sound diabolical 😨 )

silver maple
#

The lowest res screenshot possible from the wikia for the tunnels

obtuse thunder
#

i'm changing blanks from to - so that it's easier to tell when they're missing

silver maple
#

(But imagine using it for tunnels 👀)

1_bbbbb_2
_abb|bba_
bab-+-bab
bab_|_bab
…
#

_ is blank here

obtuse thunder
#

ohh good idea