# Roland on the Ropes (AI-assisted turbo edition)

**URL:** <https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716>\
**Category:** Vibe-coded games\
**Tags:** ai\
**Created:** [October 7, 2026, 3:21am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716 "2026-10-07T03:21:17Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![ervin](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/ervin/32/87_2.png) [@ervin](https://forum.cpcwiki.eu/u/ervin)\
**Post date:** [October 7, 2026, 3:21am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/1 "2026-10-07T03:21:17Z")

</div>

Hi folks.

After messing about with Sultan’s Maze ( [Sultan's Maze shamelessly sped up with help from AI](https://forum.cpcwiki.eu/t/sultans-maze-shamelessly-sped-up-with-help-from-ai/706) ), I thought I’d give Roland on the Ropes a go.

I asked Claude to see if it could change the scrolling from the large horizontal jumps into something a bit better.  
And it did. Horizontal scrolling now moves in mode 1 character blocks instead of mode 0 character blocks, which is much nicer.

This lead to a messy shimmer on Roland himself, which took some back-and-forth to fix.

The next thing to try was a speed-up.  
This went through a number of iterations and ideas, but as you’ll see, it is a heck of a lot faster now.

Finally, the shimmering on the 4 sides of the screen when scrolling.  
This happens due to the use of hardware scrolling, and I wanted to see if Claude could do something to minimise it.  
It isn’t completely gone (even after several improvements), but it is much better.

There were some mistakes along the way, but with enough testing and iterating, it came up with a pretty good result!

Please note that I haven’t tested all gameplay aspects, but it seems to be working well. There are still a few minor graphical glitches, but the original game had much worse glitches due to the hardware scroll induced shimmering anyway.

Enjoy!

[roland on the ropes (turbo edition).dsk](https://forum.cpcwiki.eu/uploads/short-url/gJzgr1jvJCh7UeczvBKuM08ez4x.dsk) (190.3 KB)

---

<div class="post-metadata">

**Author:** ![Gryzor](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/gryzor/32/7_2.png) [@Gryzor](https://forum.cpcwiki.eu/u/Gryzor)\
**Post date:** [October 7, 2026, 4:15am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/2 "2026-10-07T04:15:11Z")

</div>

(ok, I’m perplexed; how did you get past the ai-related form when posting here? 😁)

---

<div class="post-metadata">

**Author:** ![ervin](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/ervin/32/87_2.png) [@ervin](https://forum.cpcwiki.eu/u/ervin)\
**Post date:** [October 7, 2026, 4:19am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/3 "2026-10-07T04:19:45Z")

</div>

I was trying to figure out how to add all the text I had written to the post, and I was able to paste it into “Project Notes & Prompts”.

It seemed odd that I wasn’t able to post something about the game into the topic.

Is it by design that posts about vibe-coded stuff are limited, regarding what can be posted?

Also, I’m curious, how come the Sultan’s Maze thread was closed? (I want to know if I did something wrong, and what sort of things I should be aware of in the future). 🙂

---

<div class="post-metadata">

**Author:** ![Arnoldemu](https://forum.cpcwiki.eu/letter_avatar_proxy/v4/letter/a/9f8e36/32.png) [@Arnoldemu](https://forum.cpcwiki.eu/u/Arnoldemu)\
**Post date:** [October 7, 2026, 6:40am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/4 "2026-10-07T06:40:43Z")

</div>

I wonder if it used my info to prevent the shimmering on the sides…

I asked chatgpt the other day how to do something with scrolling (curious if it could come up with something new from existing info but no), asked it where it found it’s info, and it was quoting me from the old cpcwiki forum. Well I did publish it there for people to use…

Ok, not the shimmering from R3 I was thinking about.

It is the usual hardware scroll, not using R3, and it’s not double buffering which is interesting. Ok looks like it may have unrolled the tile drawing into LDIs.

---

<div class="post-metadata">

**Author:** ![ervin](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/ervin/32/87_2.png) [@ervin](https://forum.cpcwiki.eu/u/ervin)\
**Post date:** [October 7, 2026, 6:53am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/5 "2026-10-07T06:53:21Z")

</div>

Regarding LDI usage, one of my early prompts was this:

i would like to look at patching the in-game code to improve the scrolling. and if that can be done, for a new .bin to be built than can slot back onto the dsk. at the moment the scrolling is very jumpy, moving in what appears to be 1 mode 0 character at a time. i would like it to move in jumps the size of mode 1 characters

and claude replied with:

It can be done, and the patched `ROLANDC.BIN` and `ROLANDD.BIN` are ready to drop onto the dsk under the same names. I have only run them in my own harness (a Z80 core with stubbed firmware calls), not on a CPC or a real emulator, so they need a run in yours.

**How the game scrolls**

- The game is Mode 0, built from 4×8-byte tiles (one Mode 0 character), with a 20×23 tile window plus a 2-row status panel.
- Scrolling is firmware hardware scroll (`SCR SET OFFSET`): ±4 bytes horizontally, ±80 vertically, then one new column or row of tiles is drawn.
- Vertical steps are 8 scanlines, which is already Mode 1 character height, so I left vertical alone.
- All drawing goes through one tile blitter at &2AF8, which is what made the patch small.

**What the patch does**

- Each horizontal step is now two 2-byte steps. Game logic is untouched and still moves one tile per loop.
- **First half-step** (hook at &A1DA, just after the tile buffer rebuild): shifts the offset by 2, draws half of the incoming column, and redraws the player and the status panel.
- **Second half-step** (hook at &34EF, the original scroll point): shifts by the other 2, draws the full column, and restores the tiles under the player.
- **Faster blitter:** I also replaced &2AF8 with an unrolled `LDI` version to pay for the extra drawing. This affects the whole game, not just scrolling.
- **Where it lives:** 397 bytes at &A900 in the zero padding at the end of ROLANDC, and 118 bytes at &2A79 in the padding below the old blitter. File lengths and headers are unchanged.

---

<div class="post-metadata">

**Author:** ![ervin](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/ervin/32/87_2.png) [@ervin](https://forum.cpcwiki.eu/u/ervin)\
**Post date:** [October 7, 2026, 6:54am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/6 "2026-10-07T06:54:44Z")

</div>

And later, when trying to reduce the shimmering caused by the hardware scroll, claude had this to say:

**What changed**

- **Panel slide across the wrap:** the run lengths are worked out once per move (up to three straight runs per scan line, split where the source or destination meets the end of its 2K), then each line is copied with `LDIR`/`LDDR`. When there is no wrap in the way it still uses the unrolled copy.
- **First half-step fallback removed:** the half-state panel redraw is gone, since the slide no longer fails for the wrap.
- **Rope steps:** the slide now works in the zone on vertical steps too.

---

<div class="post-metadata">

**Author:** ![Arnoldemu](https://forum.cpcwiki.eu/letter_avatar_proxy/v4/letter/a/9f8e36/32.png) [@Arnoldemu](https://forum.cpcwiki.eu/u/Arnoldemu)\
**Post date:** [October 7, 2026, 7:01am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/7 "2026-10-07T07:01:49Z")

</div>

It is impressive what it can do and so quickly.

I use it at work and the other day I was looking at the code that had been generated and it had used a quick look up method I wasn’t aware of before and so I read about it and learnt something new.

What is good about the method used in this version is that the horizontal scroll can be smoother than vertical because there is no diagonal scroll happening anywhere in the game.

---

<div class="post-metadata">

**Author:** ![eto](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/eto/32/24_2.png) [@eto](https://forum.cpcwiki.eu/u/eto)\
**Post date:** [October 7, 2026, 8:08am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/8 "2026-10-07T08:08:35Z")

</div>

Really great! I never liked the game because of the scrolling. This now is “good enough” for me to enjoy it. No need for better scrolling.

Absolutely awesome and a great way to use AI.

---

<div class="post-metadata">

**Author:** ![Xyphoe](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/xyphoe/32/48_2.png) [@Xyphoe](https://forum.cpcwiki.eu/u/Xyphoe)\
**Post date:** [October 7, 2026, 9:57am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/9 "2026-10-07T09:57:50Z")

</div>

Well, I’ve been kinda on the fence about AI usage but I have to admit it’s solved a lot of the ‘issues’ in Roland On The Ropes here.

Having had a play, I will say the really fast ‘gameplay’ speed - whilst impressive - kinda spoils the general gameplay. With years of playing the game, still semi regularly, it makes it far too hard to time jumping over the rats for just one obvious example. In later levels with multiple enemies like bats, etc it’s just going to be a nightmare frustration.

Is there any way to keep the improvements but just temper the speed down?

---

<div class="post-metadata">

**Author:** ![ervin](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/ervin/32/87_2.png) [@ervin](https://forum.cpcwiki.eu/u/ervin)\
**Post date:** [October 7, 2026, 10:36am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/10 "2026-10-07T10:36:55Z")

</div>

I completely agree, and I did think about the fact that making the game too fast would actually change it significantly.

It absolutely can be slowed down. Stay tuned. 😎

---

<div class="post-metadata">

**Author:** ![ervin](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/ervin/32/87_2.png) [@ervin](https://forum.cpcwiki.eu/u/ervin)\
**Post date:** [October 7, 2026, 11:11am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/11 "2026-10-07T11:11:37Z")

</div>

Ok, here is a slowed down version.

Not sure if it is still a little too fast, but it is definitely more manageable. 🙂

[roland\_on\_the\_ropes\_classic\_speed.dsk](https://forum.cpcwiki.eu/uploads/short-url/4CtQcmoryzE12qeOPO5HhsypvHd.dsk) (190.3 KB)

---

<div class="post-metadata">

**Author:** ![Arnaud6128](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/arnaud6128/32/217_2.png) [@Arnaud6128](https://forum.cpcwiki.eu/u/Arnaud6128)\
**Post date:** [October 7, 2026, 6:43pm UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/12 "2026-10-07T18:43:45Z")

</div>

It’s perfect with this speed, never seen Roland OTR so playable. Maybe the first game i have played on cpc.

Isn’t funny playing with AI to improve cpc games ? 😉

---

<div class="post-metadata">

**Author:** ![ervin](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/ervin/32/87_2.png) [@ervin](https://forum.cpcwiki.eu/u/ervin)\
**Post date:** [October 7, 2026, 11:08pm UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/13 "2026-10-07T23:08:48Z")

</div>

Indeed it is a lot of fun.

Now I’m wondering which game could be next…

---

<div class="post-metadata">

**Author:** ![Jean-Marie](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/jean-marie/32/424_2.png) [@Jean-Marie](https://forum.cpcwiki.eu/u/Jean-Marie)\
**Post date:** [October 7, 2026, 11:48pm UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/14 "2026-10-07T23:48:02Z")

</div>

Galivan or Kick Off 2 or Space Harrier 2 with a larger playing area ? 😁

---

<div class="post-metadata">

**Author:** ![Arnaud6128](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/arnaud6128/32/217_2.png) [@Arnaud6128](https://forum.cpcwiki.eu/u/Arnaud6128)\
**Post date:** [October 8, 2026, 5:32am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/15 "2026-10-08T05:32:04Z")

</div>

Yes galivan was terrible.

---

<div class="post-metadata">

**Author:** ![ervin](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/ervin/32/87_2.png) [@ervin](https://forum.cpcwiki.eu/u/ervin)\
**Post date:** [October 8, 2026, 5:46am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/16 "2026-10-08T05:46:42Z")

</div>

Galivan has a very small gameplay window, so making it faster would make it too hard to play.

That game really needs a bigger window.

---

<div class="post-metadata">

**Author:** ![Briggsy](https://forum.cpcwiki.eu/letter_avatar_proxy/v4/letter/b/e56c9b/32.png) [@Briggsy](https://forum.cpcwiki.eu/u/Briggsy)\
**Post date:** [October 9, 2026, 11:22am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/17 "2026-10-09T11:22:41Z")

</div>

This is a nice improvement, and a good use of AI to do targeted small changes to improve existing codebases without having to spend all the time doing manual analysis and patches. I think this is suitably different from using generative AI to create games from scratch with little developer/graphics input.

What would be nice is transparent blitting of the ghost sprite when it goes through walls rather than the big blocky movement.

---

<div class="post-metadata">

**Author:** ![IndyUK](https://forum.cpcwiki.eu/letter_avatar_proxy/v4/letter/i/9fc348/32.png) [@IndyUK](https://forum.cpcwiki.eu/u/IndyUK)\
**Post date:** [October 10, 2026, 1:59pm UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/18 "2026-10-10T13:59:07Z")

</div>

Hi,

I don’t know what to say. You’ve transformed the whole game experience. I had this in my welcome pack when I first got the CPC. Quite liked it but the scrolling was a bit off putting but, now. It’s so good and smooth - Well done!

Do you think the sprite printing could be improved using AI? You can see there’s no transparency as all sprites have a Black background. Would be great if they could be improved.

Great job nonetheless.

---

<div class="post-metadata">

**Author:** ![Gryzor](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/gryzor/32/7_2.png) [@Gryzor](https://forum.cpcwiki.eu/u/Gryzor)\
**Post date:** [October 11, 2026, 6:23am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/19 "2026-10-11T06:23:11Z")

</div>

Sorry @ervin ,I had missed your initial reply.

Which thread was closed?

And also, no, there’s no limit to what you can post in the category, the only prerequisite is the form (which I’m still unsure how you got past it​😁)

---

<div class="post-metadata">

**Author:** ![ervin](https://forum.cpcwiki.eu/user_avatar/forum.cpcwiki.eu/ervin/32/87_2.png) [@ervin](https://forum.cpcwiki.eu/u/ervin)\
**Post date:** [October 11, 2026, 6:52am UTC](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716/20 "2026-10-11T06:52:26Z")

</div>

No problem @Gryzor

It was about the Sultan’s Maze thread.

I had initially created it in the incorrect sub-forum, and after you mentioned that I needed to create it in an appropriate AI-related sub-forum, I moved it to “Vibe-coded games”.

The thread then got closed, and only later did I realise that you may have meant I should _recreate_ it in the appropriate forum. 🙂

So my mistake was to simply move it to Vibe-coded rather than recreating it in there.

[Next page](https://forum.cpcwiki.eu/t/roland-on-the-ropes-ai-assisted-turbo-edition/716.md?page=2)
