Acorn Island

developing/porting a new game or gaming framework? post in here!
User avatar
tricky
Posts: 7713
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by tricky »

Beebem used to snapshot the palette at the beginning of the line and trigger the v sync interrupt a line late.
Interrupts will make a need of it, one reason why I take control and do keyboard, joystick, sound and 6845 in the interrupt.
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

This update adds initial bullet mechanics. Press space to shoot in the currently facing direction.
At the moment the bullets don't interact with the monsters so shooting at them will simply lead to plotting issues. The bullets are however blocked by landscape items (but not water). I'm also intending to update the movement to be smoother.
This is the first time that I've run into memory issues - and that is mostly because of the way I'm setting up the screen. However given I was only using memory from &E00 previously this is not an issue and I've expanded into other "safe" areas. The target machine is still intended to be an unexpanded BBC B.
land.ssd
(7.5 KiB) Downloaded 34 times
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

Death and destruction comes to Acorn Island! The bullets now destroy monsters and - if you hit them enough times - spawners.
land.ssd
(7.5 KiB) Downloaded 37 times
Items on the list next:
improved bullet movement.
Monster HP so they require more than one shot.
Quest updates based on killing spawners/monsters.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

After struggling with undraw logic for the monsters for more time that it should have taken here is a new build. This brings smoother bullet movement and monster HP meaning that they require more than one hit to dispatch. The monsters to the west will require only a couple of shots whereas the ones to the southeast will require several each. (Later there will be upgrades to the number/strength of bullets).

If anyone spots corruption on the monster plotting (e.g. monster sprites left when the should be dead, monsters disappearing when they are alive etc.) then please let me know.
land.ssd
(7.75 KiB) Downloaded 28 times
Quest updates for monster/spawners next.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

New day, new build :)
Added destroying a spawner as a quest goal. Having played around a bit not sure the destroying a number of monsters works as quest type so I will look to replace this somehow.
As this is just a test it is perfectly possible to destroy the spawner to the left which is required for the test line before the quest is activated. The game won't notice this and you will be stuck. I'll need to work out whether I gate quest objectives or whether I need to introduce new logic to detect this situation.
land.ssd
(7.75 KiB) Downloaded 31 times
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
Cybershark
Posts: 741
Joined: Wed Jun 14, 2006 11:16 pm
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by Cybershark »

Great progress on this. Loving all the updates!
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

Been trying to get consistent results in different emulators and systems for the status bar area - but failing. I also realised that I don't actually have much to put in the bar so it was largely a waste of memory. As such I've moved back to the entire screen in mode 2 with the status bar only a couple of lines tall. This has some placeholder content just to show where it is. As a bonus I get more memory to play with as well :)

I've also redone the cache logic to cache the entire screen area. This means that the water plotting is no longer slower making the game more responsive when water moves onto the screen.

The vertical rupture routine that I'm using is playing nicely with the OS at the moment. As such if I reduce the top area to two lines occasionally it will miss an interrupt and break the scrolling. I'm assuming that either I move the routine further up the chain or kick the OS out entirely (which I might do for space and consistency anyway) and this should go away. As such for the moment it's three lines tall rather than two.
land.ssd
(9 KiB) Downloaded 33 times
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

Status bar work this time. I now have a decorated status bar which updates when you get hit (no death routines yet).
land.ssd
(9.25 KiB) Downloaded 31 times
land6.png
Next items:
  • Routine to update spells in the status bar.
  • Quests to affect you spell numbers/health.
  • Blueberry bushes to restore health.
  • Game over and reset/restart.
  • Update movement to make it regulated by the game rather than the auto repeat setting.
This should complete the game mechanics. Then I'll need to
  • Include more graphics/objects
  • Decide whether I'm going to take over the machine from the OS.
  • Add sound.
  • Write the quests/game & map data.
  • Add quality of life changes such as redefinable keys, volume control etc.
  • Do the 20 things I've forgotten about from the above list.
  • Release ;)
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

Change log:
  • Updated internal quest logic as my current design didn't work for the kinds of actions I wanted.
  • Added quests that update your spell count & Power (effects on actual spell power may be exaggerated).
  • Fixed a bug in the text redraw logic that wrapped to the wrong location.
  • Added a game over condition and updated game reset.
  • Moved more screen initialisation code into the loader as this only needs to be run once.
Known issues: The game sometimes gets into a state when the spawner is destroyed at the point of generating a new monster. Also the spawner doesn't quite disappear sometimes when destroyed.
land.ssd
(8.5 KiB) Downloaded 27 times
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

Time for a weekend update :). Some significant changes this time.

Blueberries: Added blueberry bushes that restore one heart. There will be a mechanism to "reset" these later (and will start disabled). There is a bush near the spawner to the left and some more elsewhere.

Added more tiles and updated colour pallets for them. These include fences. Also updated the POI logic code to allow easier placing of these. The POI code works on a half resolution compared to the tiles. The POIs can now be all four of a given tile (making it more efficient to make larger groups of tiles). This will be useful for fields and similar. Also added some special cases for fences. You can see these in the test area to the south. Lastly added the ability to algorithmically add only some of the four squares to allow "scattering" of assets. You can see this to the right of the area with the group of rocks (also in the attached picture).

Given the timing issues I mentioned I think I will be looking to work without the OS. I don't think this will be an "every byte possible" situation so I should be able to leave page 2 alone so the machine should reset properly on exit however being able to use some other pages will help. The next update will probably include this and an updated keyboard handler to allow more consistent movement timing.
land7.png
land.ssd
(9 KiB) Downloaded 32 times
Edit: Updated with quest line restored.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

Well that was easier than expected... Changes in this version:
  • Kicked out the OS. Interrupt handling now means I have reduced the top part of the screen to only two lines.
  • Keyboard handling changed. As I'm no longer using the OS there is no auto-repeat on fire. This makes the spawners to the right of the starting location quite dangerous. Movement does repeat and the character moves slightly faster on roads. Feedback on the "feel" of this would be appreciated.
  • Created quest type to allow blueberry bushes to be refilled. I still need to re-work the quest data structure slightly.
  • Corrected (probably) a bug causing spawners to hang around if killed as part of a quest.
  • Updated the plot order to remove flicker from the character.
  • Changed the sprite mirror to be code based rather than table based.
land.ssd
(9.25 KiB) Downloaded 31 times
Next to do is the quest update I mentioned above and sound. I then need to start creating a full map and quest line - time for a spreadsheet :)
As it stands at the moment I have about 3.5K free on an unexpanded Beeb which I hope will be plenty for the remaining features and allow a significant quest line.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
lurkio
Posts: 4351
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by lurkio »

This whole project is amazing and I'm in awe, so this isn't a criticism at all but just a question about expectations: should I expect to see some juddering around the edges of the screen (the top and bottom edges, I think) when the player-character is moving? Or is that only visible in emulators rather than on a real Beeb? Either way it's not a huge problem by any means.

:?:

Congratulations on yet another brilliant game!

=D> =D> =D>
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

should I expect to see some juddering around the edges of the screen
The main section of the screen is hardware scrolled. And my plot code - because it has to generate the landscape before it draws a tile isn't fast enough to re-draw the whole thing within a frame so you're seeing part of the other side of the landscape being overwritten. All sides suffer but some are slightly more visible.

I have considered calculating before the move but this would introduce a delay when you pressed the movement button which I think would be too noticeable. The same applies if I reduce the movement amount (and this introduces other complexity) because the tile calculation still needs to be done. I may yet get inspiration about a way to handle this - but it's not come yet :)
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
Ptolom
Posts: 16
Joined: Fri Mar 04, 2022 4:18 pm
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by Ptolom »

I can't wait to see how this develops. Aside from the delay at the edge, the illusion of infinite space is seamless. And the decorated status bar is delightful.

Could you replace the offending row from the opposite side with a copy of the previous row while waiting for the new row to be generated? Or would that be even slower?
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

And this update was harder than I thought...

Minor update this time - Branching quest lines. The last two houses can be visited in either order. Although there's not much to see on the surface but allows the possibility of (optional) side quests. Obviously going to require some work to make sure everything stays consistent.

I still have more work planned on the quests. I want to reorganise the data structures some more. Also Intending to include a "title" to the box to indicate who'/what is "speaking/interacting". I want the possibility of more text for the wordy quests either as a wider/higher/dynamic text window or as two screens of text.

Lastly I've been looking at the comments about the edges of the screen. I have ideas to reduce the movement amount which might reduce the appearance of corruption. Requires a reasonable rework of the plot code though....
land.ssd
(9.5 KiB) Downloaded 26 times
Note - there is still a bug that the game will hang if you destroy a spawner that's part of a quest whilst a monster is still on the screen.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
SimonSideburns
Posts: 656
Joined: Mon Aug 26, 2013 9:09 pm
Location: Purbrook, Hampshire
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by SimonSideburns »

I haven't been trying every version you post, but I decided to try this latest one.

It's really nice. Ok, the flickering is a little annoying, but I try to focus on just the centre area of the screen and it's less noticeable when I do that.

I have an observation. If I'm travelling north, I can hold down the up key, and then make slight adjustments with left and right without releasing the up key first, and then the player continues travelling north. If I do this in any other direction it doesn't happen. I guess the code to detect and act upon movement checks for left and right before up and down, and this is why it works in the northerly direction but not in any other.

It's not a huge issue, but I wonder if there's a way to change the code so that it prioritises whichever direction key was pressed first. (my initial thought is to use self modifying code that alters the order in which the key codes are checked).

Apart from that, I managed to chop down the tree, picked the blueberries and visited a couple of houses, and then didn't know what I was supposed to do next. I then walked around and removed the four spawners I found, but then still had no idea what was next on the agenda.

Oh, and one more thing. The word Health at the top of the screen ended up partially obscured, with just the lth remaining fully visible, as in the following screenshot. I don't know if this was intended or something happened that caused it to be partially overwritten. Edit: It's because I keep visiting the red house to the east of the red tower and it keeps on adding spells.
land game.png
Just remember kids, Beeb spelled backwards is Beeb!
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

Thanks for the observations. As you can tell this is very much a work in progress development and the quest line is just placeholders to check that the systems work. There's no "end game" yet. Having just had a major overhaul of the quest system it seems I've got a bug where you can do some quests more than once... As I said above - there's more work to do here.

I'll have a think about the movement keys as I see the behaviour that you talk about but hadn't noticed it myself.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

Yet another quest rework.... Hope this is the final one. Again mostly internal changes that wont be obvious whilst playing the game. Introduces new quest actions for the two POI types.

Also:
  • Corrected the issue where the quest could be "taken" more than once
  • Corrected the hang on spawner quests when a monster was on screen
  • Added dynamic window sizing for extra quest text and increased window width.
Next is either updated scrolling or sound. Could be a while....
land.ssd
(9.75 KiB) Downloaded 26 times
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

By request I've updated the scrolling routine. The scrolling now moves half the distance it used to which means the flicker is reduced significantly and to my mind looks much better. The player sprite plot routines still need some work to remove flicker (especially the vertical ones) but I've given up for today...

Opinions welcome.
land.ssd
(10 KiB) Downloaded 28 times
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
Cybershark
Posts: 741
Joined: Wed Jun 14, 2006 11:16 pm
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by Cybershark »

Wow, the new scrolling makes a very welcome change :)
Loving all the new gfx that you keep adding - such as the well - and that's a neat trick to have the player move faster along the roads. This is really becoming something special now!
User avatar
lurkio
Posts: 4351
Joined: Wed Apr 10, 2013 12:30 am
Location: Doomawangara
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by lurkio »

Love the new smoother movement!

Also, I only just noticed the water "lapping" at the shore! Brilliant!

=D> =D> =D>
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

Fixed the player movement so everything should be nice and smooth. Also reorganised the loader code to make the screen "cleaner" as it loads in (and removed some code that is only used once from the main game).
land.ssd
(10 KiB) Downloaded 31 times
There is a little spell strength logic that needs adding and I want to change the spawner health to regenerate (so that they are tougher to destroy until you are appropriately upgraded.) Sound is however the next largest chunk of work.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
TobyLobster
Posts: 622
Joined: Sat Aug 31, 2019 7:58 am
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by TobyLobster »

This is looking good! For even more smoothness, can you reduce the time between one scrolling movement finishing and the next starting to zero? Then if the result is smooth but too fast, then slow down the rate of the scroll.
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

TobyLobster wrote: Mon Nov 07, 2022 11:00 am For even more smoothness, can you reduce the time between one scrolling movement finishing and the next starting to zero?
Yes - I can. Although I'm still playing around with the movement rates. However - to do this means I'll end up waiting for vsync 3 or 4 times in the middle of the scroll - which just seems wrong :) (If I'm going to do a game "tick" or similar it would involve a lot of re-writing of other routines to cope with a "half moved" screen.)
lurkio wrote: Sun Nov 06, 2022 3:56 pm Also, I only just noticed the water "lapping" at the shore! Brilliant!
Good old palette switching at work there. That "surf" cost me a lot of performance originally and nearly got dropped. Much happier with it now.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

Once more with feeling....

This release adds initial sound including "tune" support. Tunes are obviously placeholder at the moment. Future features will include a volume control and probably "step" sounds. Although it might be nice to have a little background tune playing whilst you travel around memory will be a constraint here. After previous bold statements about free space I am a little concerned at the moment - hope I don't need to venture into the sideways RAM territory.
land.ssd
(10.5 KiB) Downloaded 34 times
Next to do is apply damage levels for spells and regeneration for spawners.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
tnash
Posts: 163
Joined: Mon May 02, 2022 9:56 am
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by tnash »

Wasn't there a survey on here, and the majority of stardot users with real machines had at least one bank of sideways RAM available? And of course for emulator users it's not an issue. I'm biased but I'd say go for it unless you want to keep it to 32k as an academic exercise. Awesome work so far btw.
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

Thanks - understood. Part of it is what would have been "possible" back in the day (dev tools notwithstanding). There another 500 bytes that I can easily snaffle if needed. What is unknown is how much space the data structures and quests will take up. At the moment I have 100+ POIs and spawners but only a few roads, mountains and quests. I've also not put any serious effort into optimising code size - although there are probably only limited gains there.

Right now I have about 2.7k free (including the 500 bytes mentioned previously) so we'll see how this progresses. There is always the option of reducing the number of tiles available (but that is only 48 bytes per tile) or the "nuclear" option that Exile used and reducing the screen size which would give another 4K. That or I just target a Master :)
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by ChrisB »

Not much to report this week. Updated the loader code to get some more memory back. I've been playing with the landscape generation parameters and got my my map drawing code working again. This prompted me to add some code to make the island a little less square. Pretty happy with where this is with locations that I can use in the quest line. I have to lock this down before I do the quests proper as any changes will move things around.

The main code also has spell damage levels, regenerating spawners, a startup tune and shorter quest tune. No download as the map generation has broken object placement

New (final) map:
WholeMap.png
I now have to start properly working on the quest lines.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
User avatar
Cybershark
Posts: 741
Joined: Wed Jun 14, 2006 11:16 pm
Contact:

Re: Procedural Landscape Demo/Acorn Island

Post by Cybershark »

Looks like an old-style CRT display. Seems quite fitting! :lol:
User avatar
ChrisB
Posts: 550
Joined: Wed Oct 05, 2011 10:37 pm
Location: Surrey
Contact:

Re: Acorn Island

Post by ChrisB »

For this update I have been working on the quest line which I have now designed from start to finish - will see how it feels as it gets added. Nothing in particular to see in the release (except the updated island shape) however the POI/roads etc are now stored in an Excel sheet. This will allow me to create the POIs required for the quest line. There are consequently far fewer POIs in this version and the quest text is now out of date.
land.ssd
(10.5 KiB) Downloaded 28 times
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
Post Reply

Return to “new projects in development: games”