Jump to content
IGNORED

Wen hop? The Search for Planet X


Andrew Davie

Recommended Posts

We now have a new gameplay element - a "gravity flipper" -- it's the animating arrow and when you grab it, gravity flips (and everything that can now fall will now fall). The video demonstrates it in action. Could add to interesting gameplay in some weirdo planets.  I've mostly fixed the edge-cases for the system to operate upside-down.  The transition from rightway-up to upside-down (for player) looks pretty good to my eye, so no extra frames needed.  The gravity flipper also changes the direction of the lava, so that might be a useful gameplay element too.

 

 

 

 

 

 

WenHop_20230328@19_39_18.bin

  • Like 3
Link to comment
Share on other sites

I have started experimenting with some 5x10 baddies (don't mind the colors), it's tight but some cool stuff are possible !

Among others, I have a preliminary centipede (as a boss) it moves like the slerg but it can kill you..

Since you introduced the upside down thing, see at the bottom right (inside the yellow border) some animated arrows.

Also on top right (inside the green border) a couple of mines !

 

creatures.thumb.gif.273ce5e6c828e7d226e95da6fd03a52e.gif

 

Edited by TIX
  • Like 5
Link to comment
Share on other sites

Looks great!  I can see a lot of mayhem-type fun building up.

 

And, now that you mention it, having the lava play into it could be an interesting factor for strategy.  I can think of one kind of level where lava direction would be matched with gravity.  In that case, a player would need to flip the gravity upside-down to empty a trove of rocks and geodes OUT of the lava below them to mine them.  Trouble is, when flipping the switch, the lava also starts quickly flowing up, so you have to be quick to pickaxe the rocks.  When the lava gets too close, you will need to flip the switch again to make the lava go back down-- dumping all of the rocks / geodes / doge back where they came from.  Could be interesting as a puzzle element.  I think you've got something here.

 

I'm guessing you may have already noticed it, but the gravity flipper seems to have a bug in the crusher code.  In the video, when the switch is touched at the 24 second mark, look at the crusher on the right.  It appears to go at lightning speed straight up instead of a steady increase.

Link to comment
Share on other sites

Here's an experimental gameplay element - a lasso.  The idea is you use this 'tool' to pull things towards you.  Just an early prototype what-if here, so no binary. It only works in the one direction at the moment, and suffers from not being able to see far enough ahead. I will have to fix the scroll so it tries to show more of the screen in front of you. But, putting that aside, this lasso idea does seem to have some interesting contribution to gameplay, and it does look kind of cool.

 

 

  • Like 2
Link to comment
Share on other sites

21 minutes ago, TIX said:

I have started experimenting with some 5x10 baddies (don't mind the colors), it's tight but some cool stuff are possible !

Among others, I have a preliminary centipede (as a boss) it moves like the slerg but it can kill you..

Since you introduced the upside down thing, see at the bottom right (inside the yellow border) some animated arrows.

Also on top right (inside the green border) a couple of mines !

 

creatures.thumb.gif.273ce5e6c828e7d226e95da6fd03a52e.gif

 

 

TY; these are very nice.

I am not sure at this stage how well they will fit, because they have to share colours with all other objects on screen.  So there are 8 colours (including black), but not for each object. There are 8 colours for the entire screen. Dirt is one of those colours.  The primary boulder colour is another. And the doge colour is another.  Furthermore, there are really only THREE colours, and the 8 colours are formed by combining those.  So we don't have freeform 8 colours.  We have very very very constrained colour choices... if the primary three colours (let's say boulder colour = red,  dirt colour = green and the third colour = blue) are mixed together we get our brightest colour (which in this case would be white).  The combinations are thus. R, B, G, R+B, R+G, B+G, R+B+G and black.  So in the creatures in your example, we can't have white and grey and red (the skull, which is brilliant BTW).  We can only have that weird mix. It's hard to describe, and even harder to draw/design for.  Also, as the level colours change (I have a few combinations there), ALL of the creatures change colours accordingly - because they share that same 3-colour-blend group of 8 colours. I wish I could describe it better, but it takes quite a few paragraphs whenever I do and even then I don't think it's very understandable.

I'll have a play with some of these soon and try to show you how things look. TY.

 

 

Link to comment
Share on other sites

12 minutes ago, Propane13 said:

Looks great!  I can see a lot of mayhem-type fun building up.

 

And, now that you mention it, having the lava play into it could be an interesting factor for strategy.  I can think of one kind of level where lava direction would be matched with gravity.  In that case, a player would need to flip the gravity upside-down to empty a trove of rocks and geodes OUT of the lava below them to mine them.  Trouble is, when flipping the switch, the lava also starts quickly flowing up, so you have to be quick to pickaxe the rocks.  When the lava gets too close, you will need to flip the switch again to make the lava go back down-- dumping all of the rocks / geodes / doge back where they came from.  Could be interesting as a puzzle element.  I think you've got something here.

 

I'm guessing you may have already noticed it, but the gravity flipper seems to have a bug in the crusher code.  In the video, when the switch is touched at the 24 second mark, look at the crusher on the right.  It appears to go at lightning speed straight up instead of a steady increase.

 

 

OK, another element I have is a "switch" which you can turn on or off.  That switch can control things, so it could for example be a drain hole at the bottom of the screen, to drain out water or lava. Or it could do any number of things. Open a door/passageway... turn on lights in a dark level... you name it.  Good options for gameplay there.  It could be used, I suppose, as a sort of binary combination lock (many on/off switches).  Pretty soon once I've run out of ideas for "elements" then the fun begins in designing levels/puzzles.

 

I think it's really moved a long way away from BD in the last week or two, and I'm no longer concerned about overlap.

 

As to the crusher bug - TY yes!  OK, an explanation;  I have one large matrix of characters inside which things are stored.  That is, it's a grid of "characters" and the game loop scans through that whole grid from the top to the bottom, going left to right in each row. When it finds a character that "does something" it processes the code for that character. It might, for example, be moving a crusher "head" one character to the right.  So it does that, and then it moves onto the next square (which is to the right) to process that one. And what does it see?  It sees a crusher head, which it moves one character to the right... whoops... super speed movement.  So to stop this, every character has a single bit flag (FLAG_THISFRAME) which indicates the character has already been processed and should do nothing more for this frame.  At some point after that, the FLAG_THISFRAME is cleared so it will do stuff next frame.  All that worked. But when I changed the board scanning for the upside-down world, detection of this-frame stuff was broken, so we get that super-movement.  It's not a big bug or issue, just something I have to get all the interaction timing correct on and I'm just not feeling like doing that yet.  Having said that, negative gravity is about 1 day old -- GIVE ME A BREAK!!!  ;)

 

 

  • Haha 1
Link to comment
Share on other sites

Thanks for the explanation re: the crushers.  I'm sure the code base must be pretty complicated by now, with a lot to keep track of.  That said, it seems to be REALLY resilient to all of the new tweaks.

 

I like the lasso!  Seems like another possible element that could be fun for gameplay.  It triggered a thought that if you could draw that, you could probably draw some sort of oxygen tether.  I'm not convinced that such a thing would be a fun element, but I could see some Anteater-like gameplay: Start on the surface and then when you go underground, you start rolling out an oxygen tether that you can't cross paths with.  However, once a boulder / geode / worm / crusher severs the line, well, then you're on your own and only have the O2 in your tank.  Probably more interesting of a visual than a gameplay element, but thought I'd mention it.  All that said, I can see the lasso bringing a "like Dig Dug, but it's not" feel to things, and also be really interesting for puzzle elements.

 

 

Link to comment
Share on other sites

I've pretty much decided we need an indestructible element (like a rock) that cannot be pushed/moved/destroyed.  I want it to be able to fall, but that's all. This will allow me to have gameplay where you move into an area and these blocks fall down and block your exit.  This would be reason, for example, to use the lasso (if I keep that).  There are a number of situations where these would be super-useful in designing levels.  Let's say it's a block of unobtanium.... which we all know is super dense and can't be mined.

  • Like 2
Link to comment
Share on other sites

Things that can currently be used to create different gameplay/planets

 

1. Gravity - can be normal or upside down

2. Gravity Switches - can toggle gravity mid-game

3. Unobtanium (you'll see next version). These are just solid blocks of un-minable material that provide obstacles

4. rocks - can be mined - turn to dust.  Fall and kill you.

5 dogeodes (rocks with dogecoin inside) - When alongside other dogeodes, they entangle and become a unit.  If an entangled dogeode is fully surrounded (4 directions) by other dogeodes, then it radiates entanglement and pulses. When you mine any dogeode, a chain-reaction of unentanglement will turn all entangled dogeodes in that group into dogecoin, and the "multiplier" is increased. I'm not sure what the 'muliplier" will be used for yet, but essentially I want to encourage forming large entangled dogeodes with super-critical entangled middle dogeodes before collectin/mining. Dogeodes also fall and kill you

6. pebbles - these can (depending on if enabled on the planet) grow into dogeodes. Normally they just fill plain dirt areas to make the scrolling more obvoius.

6a. pebble seeding - on some planets, the pebbles can grow from just plain dirt, giving a constant supply of dogeodes; well, as long as there's time and sufficient dirt for a pebble to grow in.

7. Slergs - the dogecoin eating/pooping slug-like creatures. Don't harm the player currently

8. Crushers - squash dogecoin and dogeodes. push the player. blocked by anything substantial

9. lasso - prototype, may not be in final versions - allows you to grab and pull rocks and dogeodes

10. generic switch - can be used to toggle on/off some behaviours (e.g., we might have doors opened by switches)

11. lava - rises from the bottom of planet and "dissolves" dirt instantly, "melts" dogeodes and dogecoin randomly.  Player may overheat but can move around. Lava rises in normal gravity and sinks in negative gravity.

12. water - we may have some swimming animations, perhaps.   Maybe water changes to ice and becomes impassible, or you have to dig it and it becomes very very slow to move through.

13. dogecoins.  These "entangle" when in the presence (beside) any dogeodes.  You will see dogecoin change into a dogeode, for example, when a dogeode falls down onto th dogecoin.  In this case you will need to re-mine the new entangled dogeblock.  In complex scenarios, you have waves of doge entanglement happening as things convert back and forth bewteen dogecoin and dogeodes.

14. dots.  OK, these are used everywhere for effects, but they are also available as a weapon. Early demos showed a sort of fire-hose effect, for example. There are about 20 dots that can be drawn (and moved around) independently, so there's opportunity there to program coordinated behaviour.  Passage-following shots, water hose effects... etc.

15. earthquakes. I can shake the screen easily.  The duration and intensity can be controlled, to some degree.  Currently when there's an earthquake, the vertically stacked objects are more likely to collapse.

 

Link to comment
Share on other sites

Just to add an idea to the above,

since the game is gravity based and everything is falling down (or up), the astronaut should obey the same rules and not be able to simply "walk up",

so when stepping on a vertical shaft he simply falls down and we introduce a jetpack for going up ?!? 

you can put your roaming pixels to good use !

 

 

Edited by TIX
Link to comment
Share on other sites

2 hours ago, Andrew Davie said:

This is the best resolution I can get for a vertical air-hose (that can appear in arbitrary locations) ... and I think I'll abandon that idea.

 

133568572_Screenshot2023-03-29at6_21_58pm.thumb.png.23f425113ff8ce024c1f236a18b0719b.png

Why not use the player's missile?  Since you're don't need to draw the player sprite above the player, you should have the time to do HMOVES to shift the missile's position around to create the hose.

Link to comment
Share on other sites

On 3/16/2023 at 11:23 AM, Andrew Davie said:

Today I thought I'd have a stab at the utility to convert the image that @TIX made, with the animations. Was about to make a start when I thought "mmh, I wonder if chatGPT could do it?" so off I went, and typed in the following...  

 

write a python program to read an image file, dividing the file into a grid of 4
across and 9 deep equal-sized areas. For each of the areas, iterate all the lines
in the area and for each line iterate each pixel. Where a pixel is non-background
colour, output "X" and where it is background colour, output "_". At the end of
each line in the area, output a new line. Between each of the areas, write a 
comment indicating the area number identified by x,y position in the original
image.

 

And, believe it or not, that generated a functional python program that actually worked!  I only made a few small modifications to put commas in here and there, and I now have a tool that directly converts the above file of animations. So, easy peasy to update whenever required. It's quite amazing. Programmers are endangered.

....this actually blew my mind. After generating working python code, I asked ChatGPT how to install the PIL library and it explained me how to do that using the Pillow library (a modern fork of PIL).

My brain still has to comprehend the current state of LLM AI...

Link to comment
Share on other sites

1 hour ago, splendidnut said:

Why not use the player's missile?  Since you're don't need to draw the player sprite above the player, you should have the time to do HMOVES to shift the missile's position around to create the hose.

 

Because the oxygen line doesn't go directly to the surface; it would snake around the passageways you traverse/dig, and so could have multiple occurrences on any scanline.

  • Thanks 1
Link to comment
Share on other sites

2 hours ago, TIX said:

Just to add an idea to the above,

since the game is gravity based and everything is falling down (or up), the astronaut should obey the same rules and not be able to simply "walk up",

so when stepping on a vertical shaft he simply falls down and we introduce a jetpack for going up ?!? 

you can put your roaming pixels to good use !

 

 

 

Aye, there's the rub. If you go back to the very first post you'll see I was talking about exactly this.  And having different gravity for each would was a prime part of the original concept, exactly so that jumps and falls would be dramatically different. Imagine jumping on a very low-gravity world, compared to (say) jupiter.  So I always wanted to do this. But... but me no buts.... the game is based on an engine that has you moving round in preset positions in a grid, rather widely spaced. It was a minor miracle I managed to "pretend" there's smooth movement - and just pretending it is - because actual detection against background is still in those chunky cell positions.  Having free-form movement which I originally wanted is a much much much harder task. But I think, to do real justice to my original vision...I probably need to bite the bullet, stop using cliched euphenisms, knuckle down, and pull my head out of the sand and get it started.

 

It would make a huge huge difference - and yes, jetpacks, jumping, climbing walls and a whole lot more. TY.

  • Like 2
Link to comment
Share on other sites

I was dog-sick on Friday so no work on this.  Spent the day in bed in a dark room just wanting it to be over.  Feeling much better today, still sick but the stuff I'm taking is doing an OK job.  I started work on the physics (jumping, climbing) but I've abandoned that in a side-branch for later review. Basically jumping, gravity etc is for platformers not for digging games... and I'm not sure I want this to be a platformer. More to the point I'm really not sure I want to spend the months working on movement issues that I can already see that concept is going to bring. It's really quite nice as it is at the moment, so as I said... that's sitting in another branch right now.

 

This version is a little bit of an attempt to put together some actual gameplay with a single screen to solve.  When you get the diamonds required (8, although not shown).... you will see a door flashing (like in BD for now).  So, do what you can to solve this one. It's really really hard to make this non-obvious and hard. yet easy enough when you know it.  So have a play and let me know how you found it.  No video because I don't want to show off the solution.

 

The end-of-level text is only shown on left half side right now. Known "bug" although not really a bug, but let's call it a bug. It's a known issue anyway, so no need to report.

 

 

WenHop_20230402@02_13_35.bin

 

Edit: minor variation...

 

WenHop_20230402@02_26_26.bin

  • Like 1
Link to comment
Share on other sites

1 hour ago, Andrew Davie said:

 So, do what you can to solve this one. It's really really hard to make this non-obvious and hard. yet easy enough when you know it.  So have a play and let me know how you found it.  No video because I don't want to show off the solution.

 

I love the addition of gravity to the puzzle solving. It took me the second time around to finish the level so I think it fell into that Goldilocks zone of a non-obvious solution but easy enough to figure it out once you see it.

 

- James

Link to comment
Share on other sites

13 hours ago, ZeroPage Homebrew said:

 

I love the addition of gravity to the puzzle solving. It took me the second time around to finish the level so I think it fell into that Goldilocks zone of a non-obvious solution but easy enough to figure it out once you see it.

 

- James

 

Thanks for the feedback.  Here's another that might look impossible, but it's not.  You need to get 17 doge to unlock the exit.

I won't have a BD-style exit in later versions but for now it will do.  So, 17 doge to collect... I wonder how long it will take to figure out?

The longer you think about it, the more obvious the solution will be. That's kind of the best puzzle of all, right?

 

 

WenHop_20230402@13_26_43.bin

 

Minor update fixes scoring display

 

WenHop_20230402@17_52_41.bin

 

 

  • Like 1
Link to comment
Share on other sites

3 hours ago, alex_79 said:

You could add a bottle of booze as game element: the hero needs to avoid it, else he gets drunk and dizzy...

 

I'd love to make it as inappropriate as possible because.. a big "fuck you" to censorship and those who advocate it.

  • Like 3
Link to comment
Share on other sites

Hey there!

 

I just wanted to jump in and say thanks for testing out the Oxygen Hose; I totally agree that it's just not going to work.  But, I definitely appreciate you being willing to test out random ideas from a thread.

 

I also think it's wise to put aside the free-movement jumping, etc... for now.  Don't get me wrong; I think those would add up to an amazing game.  But, it does seem like a lot of potential for feature-creep and constant debugging of nightmare edge-cases when there are more "fun" things to focus on.  Frankly, it feels like you have enough features and gameplay elements now that you could design a few puzzles and actually release something of high quality with what you have.  I'm really looking forward to the level designs!

  • Like 2
Link to comment
Share on other sites

I tried, and failed, to rewrite the scroll system.  Just too much going on in my work life to really focus on this. Fortunately with git I can just revert to earlier versions... which I have done. I'll revisit the scroll later when my mind is clear.  Just over the sickness of the last week, and feeling much more alert.  Was all a bit of a fog of painness, really.  Anyway, I just tweaked some things to pass the time.  In no particular order, the gravity switches are now shaking the screen and screen-flash when you trigger them.  Quite substantial, and works well.  I added a sound effect for when you're under lava. Not sure about it. It's different.  I fixed up the pushers so they also shake the screen and give a sfx when you are hit.  I also fixed the subtle animation issue of flipping the walk animation when you're going up/down.  That is, in normal mode when you go up... you're facing away. When in upside-down-world, walking down is facing away, walking up is facing towards (you see the face/visor). It's subtle but I think correct. All looking/sounding pretty good to me - and really when everything is going full-boar... it's mayhem -- just lots and lots of action.

 

 

I'm just a bit overloaded mentally with some work things at the moment so I anticipate a bit of a lull coming up. But then again, easter is also on our doorstep so I will have some spare time on my hands there.

 

WenHop_20230405@23_41_32.bin

Link to comment
Share on other sites

A study of the lava visuals/animation -- essentially as lava takes over the screen, the video is showing the lava/bubble animations/effects. I really like this whole sequence and visuals, particularly as the lava takes over the screen and we see the effect better. Nailed it.

 

 

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...