Acorn Island
Re: Procedural Landscape Demo/Acorn Island
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.
Interrupts will make a need of it, one reason why I take control and do keyboard, joystick, sound and 6845 in the interrupt.
Re: Procedural Landscape Demo/Acorn Island
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.
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.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
Re: Procedural Landscape Demo/Acorn Island
Death and destruction comes to Acorn Island! The bullets now destroy monsters and - if you hit them enough times - spawners.
improved bullet movement.
Monster HP so they require more than one shot.
Quest updates based on killing spawners/monsters.
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
Re: Procedural Landscape Demo/Acorn Island
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.
Quest updates for monster/spawners next.
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.
Quest updates for monster/spawners next.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
Re: Procedural Landscape Demo/Acorn Island
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.
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.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
- Cybershark
- Posts: 741
- Joined: Wed Jun 14, 2006 11:16 pm
- Contact:
Re: Procedural Landscape Demo/Acorn Island
Great progress on this. Loving all the updates!
Re: Procedural Landscape Demo/Acorn Island
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.
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.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
Re: Procedural Landscape Demo/Acorn Island
Status bar work this time. I now have a decorated status bar which updates when you get hit (no death routines yet).
Next items:
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.
- 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
Re: Procedural Landscape Demo/Acorn Island
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.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
Re: Procedural Landscape Demo/Acorn Island
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.
Edit: Updated with quest line restored.
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.
Edit: Updated with quest line restored.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
Re: Procedural Landscape Demo/Acorn Island
Well that was easier than expected... Changes in this version:
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.
- 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.
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
Re: Procedural Landscape Demo/Acorn Island
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!
Congratulations on yet another brilliant game!
Re: Procedural Landscape Demo/Acorn Island
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.should I expect to see some juddering around the edges of the screen
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
Re: Procedural Landscape Demo/Acorn Island
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?
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?
Re: Procedural Landscape Demo/Acorn Island
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.... 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.
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.... 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
- SimonSideburns
- Posts: 657
- Joined: Mon Aug 26, 2013 9:09 pm
- Location: Purbrook, Hampshire
- Contact:
Re: Procedural Landscape Demo/Acorn Island
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.
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.
Just remember kids, Beeb spelled backwards is Beeb!
Re: Procedural Landscape Demo/Acorn Island
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.
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
Re: Procedural Landscape Demo/Acorn Island
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:
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.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
Re: Procedural Landscape Demo/Acorn Island
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.
Opinions welcome.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
- Cybershark
- Posts: 741
- Joined: Wed Jun 14, 2006 11:16 pm
- Contact:
Re: Procedural Landscape Demo/Acorn Island
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!
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!
Re: Procedural Landscape Demo/Acorn Island
Love the new smoother movement!
Also, I only just noticed the water "lapping" at the shore! Brilliant!
Also, I only just noticed the water "lapping" at the shore! Brilliant!
Re: Procedural Landscape Demo/Acorn Island
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).
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.
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
- TobyLobster
- Posts: 622
- Joined: Sat Aug 31, 2019 7:58 am
- Contact:
Re: Procedural Landscape Demo/Acorn Island
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.
Re: Procedural Landscape Demo/Acorn Island
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.)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?
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
Re: Procedural Landscape Demo/Acorn Island
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.
Next to do is apply damage levels for spells and regeneration for spawners.
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.
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
Re: Procedural Landscape Demo/Acorn Island
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.
Re: Procedural Landscape Demo/Acorn Island
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
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
Re: Procedural Landscape Demo/Acorn Island
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:
I now have to start properly working on the quest lines.
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:
I now have to start properly working on the quest lines.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters
- Cybershark
- Posts: 741
- Joined: Wed Jun 14, 2006 11:16 pm
- Contact:
Re: Procedural Landscape Demo/Acorn Island
Looks like an old-style CRT display. Seems quite fitting!
Re: Acorn Island
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.
Castle Defender, Untitled Dungeon Game, Night Ninja, Wordle, Waffle, Acorn Island, Beebchase, Ghostbusters