CPCWiki forum

General Category => Games => Topic started by: Puresox on 23:23, 01 November 13

Title: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Puresox on 23:23, 01 November 13
I am interested to know how difficult it would be for a programmer too amend the games to have better controls? Is it a complex thing to do?
E.G.s
XY-Bots is a cool little game but does suffer from awkward controls that cause you to turn when you don't want too.
Forgotten Worlds the shooting mechanism ruins a great little game.

[size=78%]There are many more which I am sure people are aware of.[/size]

Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: TFM on 01:15, 02 November 13
Another example is probably Ball Breaker.
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: nrgroom on 11:06, 02 November 13
Escape from the Planet of the Robot Monsters always annoyed me - instead of straight directional controls, it was left/right to turn, and forward to move. I think down was a special attack or bomb. I loved the game, and played on through anyway, but with better controls, it could have been so much more fun.
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: arnoldemu on 12:31, 02 November 13
Quote from: Puresox on 23:23, 01 November 13
I am interested to know how difficult it would be for a programmer too amend the games to have better controls? Is it a complex thing to do?
E.G.s
XY-Bots is a cool little game but does suffer from awkward controls that cause you to turn when you don't want too.
Forgotten Worlds the shooting mechanism ruins a great little game.

[size=78%]There are many more which I am sure people are aware of.[/size]
The problems I see:

1. if extra code is required, then finding spare ram and fitting this in may be a problem.
2. to make the game work with a different control method may not actually be possible without more major alternations to the game engine.

in the case of robot monsters, the frames are probably there, so changing it to a different method may be less work.

Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Puresox on 00:26, 22 November 13
Another game which I feel could benefit better controls is--- Into the Eagles Nest. This is a great game but it is hampered by not having an on screen display for your health, Ammo and Keys. You have too monitor it, by keep pressing escape, which breaks up the flow of the game. I don't know why they couldn't facilitate it, it doesn't sound too difficult to do? I think the Spectrum/C64 version managed it, so why wasn't the CPC version done this way?
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: romppainen on 02:34, 22 November 13
Quote from: nrgroom on 11:06, 02 November 13Escape from the Planet of the Robot Monsters always annoyed me - instead of straight directional controls, it was left/right to turn, and forward to move. I think down was a special attack or bomb. I loved the game, and played on through anyway, but with better controls, it could have been so much more fun.

It ain't like that on every platform: I don't know about how original arcade machine behaves but C64 version - and IIRC Amiga version too - had standard controls, you can guess how devastated I got when I tried CPC port because I really loved the graphics. Split screen instead of scrolling didn't help either  :(
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Axelay on 08:32, 22 November 13
Quote from: Puresox on 00:26, 22 November 13
Another game which I feel could benefit better controls is--- Into the Eagles Nest. This is a great game but it is hampered by not having an on screen display for your health, Ammo and Keys. You have too monitor it, by keep pressing escape, which breaks up the flow of the game. I don't know why they couldn't facilitate it, it doesn't sound too difficult to do? I think the Spectrum/C64 version managed it, so why wasn't the CPC version done this way?


Not necessary!  ;)  This was discovered by arnoldemu a while (http://www.cpcwiki.eu/forum/games/into-the-eagles-nest/msg11685/#msg11685) ago, but the short story is if you grab the tape version off CPC-Power (http://www.cpc-power.com/index.php?page=detail&onglet=dumps&num=1173) you get score, health, ammo & keys all displayed on one line.
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: arnoldemu on 10:27, 22 November 13
Quote from: romppainen on 02:34, 22 November 13
It ain't like that on every platform: I don't know about how original arcade machine behaves but C64 version - and IIRC Amiga version too - had standard controls, you can guess how devastated I got when I tried CPC port because I really loved the graphics. Split screen instead of scrolling didn't help either  :(
I wish I had time to fix this with the controls. Anyone else looked at the code for this yet?

Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: arnoldemu on 14:42, 22 November 13
Quote from: arnoldemu on 10:27, 22 November 13
I wish I had time to fix this with the controls. Anyone else looked at the code for this yet?
use the disk version.

controls are poked into 4823.

4f8f is menu controls?
4fcb is game controls (500a is joystick), rest is for keyboard)

4822 then works out if you want to rotate left/right etc.

I think it's done like this because the code is potentially smaller? OR perhaps because it's for a joystick with 1 button. 2 button joystick would have fire and bomb? (perfect for plus gamepad and using fire 2 is something that mr.lou would approve of).


4828 is one direction, 4838 is the other.
4b1c is move forwards
4b15 is drop bomb
484e is fire??? (not sure).

If I understand it correct, then these are the bit combinations:


%0001        left
%0010        right
%0100        up
%1000        down
%0101        left/up
%1001        left/down
%0110        right/up
%1010        right/down

ix+&0e is the direction.

I don't know how the directions work, assuming it does this (depends on starting point and which direction to rotate):

0: left
1: left/up
2: up
3: right/up
4: right
5: right/down
6: down
7: left/down

these are the numbers (all possible cases if you consider all axes):


%0000       no movement 8
%0001        left        0
%0010        right       4
%0011       not used    8
%0100        up          2
%0101        left/up        1
%0110        right/up    3
%0111       not used    8
%1000        down        6
%1001        left/down   7
%1010        right/down  5
%1011       not used    8
%1100       not used    8
%1101       not used    8
%1110       not used    8
%1111       not used    8

this is some potential code (not tested):


org &4824

add a,tab/256
ld c,a
ld a,tab and 255
adc a,0
ld b,a
ld a,(bc)
bit 4,a
jp z,&4b15
;; moving..
ld (ix+&0e),a
ld bc,&485c
call &476d
ld (ix+&14),&2
jp (hl)

Most of this is guesswork.

The idea is that based on the possible left/right/up/down, you decide the direction (thats the numbers between 0-7), and do auto move. If the number is 8, this is effectively no movement and happens when no directions are pressed or a bad combination.

So who will give a good patch?
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: arnoldemu on 14:51, 22 November 13
bit 3 is up
bit 2 is down
bit 1 is left
bit 0 is right
bit 4 is fire 2 (on joystick)

so that makes my numbers wrong.

Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: arnoldemu on 14:54, 22 November 13
0 is facing diagonally right/up. so pointing with back to us looking towards the right.
increase number to move clockwise, decrease to move anti-clockwise.

Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: arnoldemu on 14:55, 22 November 13
Quote from: arnoldemu on 14:54, 22 November 13
0 is facing diagonally right/up. so pointing with back to us looking towards the right.
increase number to move clockwise, decrease to move anti-clockwise.

corrected numbers based on this:

these are rotation numbers:
5: left
6: left/up
7: up
0: right/up
1: right
2: right/down
3: down
4: left/down


Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: arnoldemu on 15:00, 22 November 13
Quote from: Puresox on 23:23, 01 November 13
I am interested to know how difficult it would be for a programmer too amend the games to have better controls? Is it a complex thing to do?
E.G.s
XY-Bots is a cool little game but does suffer from awkward controls that cause you to turn when you don't want too.
Forgotten Worlds the shooting mechanism ruins a great little game.

[size=78%]There are many more which I am sure people are aware of.[/size]
For each of these games you have to find where the keyboard/joystick are scanned. Then you have to find how this is stored (normally the information is put into a byte, with 1 bit representing each input pressed). e.g. bit 0 is left, bit 1 is right. But it depends on the game. Then you need to find where the game reads this information and makes it's decisions.
When you've done that you need to work out how to make the sprites move as you want, and then make the code to patch (write over) the existing code to make it do as you want.

In the case of robot monsters, you have to then change the controls a bit more because it's designed for joystick with 1 fire button. if you change it for a joystick with 2 fire buttons it's more simple, but if you want joystick + keyboard, it becomes a bit more trickier.

In addition, monsters scans both keyboard and joystick at the same time, so you either have to make both work together OR you have to then modify the menu system to let you choose keyboard/joystick controls.

to then make it compatible with gx4000 (if you want to go that far), you need to make sure it can all be controlled through joystick.

so, really you have to look at each game on a case by case basis. Each game has to be patched in it's own way.

It takes some discovery to work out how it operates and how to make it do what you want.
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: arnoldemu on 15:01, 22 November 13
Quote from: Puresox on 23:23, 01 November 13
I am interested to know how difficult it would be for a programmer too amend the games to have better controls? Is it a complex thing to do?
E.G.s
XY-Bots is a cool little game but does suffer from awkward controls that cause you to turn when you don't want too.
Forgotten Worlds the shooting mechanism ruins a great little game.

[size=78%]There are many more which I am sure people are aware of.[/size]
btw, xybots and robot monsters were written for the cpc by the same company, and possibly the same programmer.

Both were done by Krisalis.

Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Puresox on 16:16, 22 November 13
Cheers for taking the time to explain it, interesting stuff.
A note on Escape from the Robot Monsters. Didn't the arcade version actually have this rotation style controls, I always thought it had, but maybe my mind is clouded by playing the Amstrad version .
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: arnoldemu on 19:14, 22 November 13
Quote from: Puresox on 16:16, 22 November 13
Cheers for taking the time to explain it, interesting stuff.
A note on Escape from the Robot Monsters. Didn't the arcade version actually have this rotation style controls, I always thought it had, but maybe my mind is clouded by playing the Amstrad version .
no problem.

I looked at a video of the arcade game.

It seems it has a track ball, and you can use that to turn the direction you want, more than 8 positions.
So the arcade is played with 2 hands, one on the ball and one on the buttons.

If you translate that to a joystick. Perfect would be an analogue joystick, you can control the angles well, and buttons for fire, but only if you're using a gamepad and a thumbstick. If you use another method it becomes awkward.

So switch it to joystick, but then you have a problem because it's awkward to rotate and fire with the joystick because of it's digital movement and because of the placement in your hands.

So best is to do as the other versions do and make the controls go in the direction you want based on the button you press, but now you need 2 fire buttons, one for flame thrower and one for bomb.

So this is probably exactly why they did it like this.

Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Gryzor on 19:53, 24 November 13
Speaking of the rotating joystick... Midnight Resistance! The arcade was awesome to play, but the controls didn't translate so well to home computers...
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: TotO on 20:08, 24 November 13
Forgotten Worlds too. :)
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Puresox on 21:35, 24 November 13
Midnight Resistance , was bearable , well I thought it was ok , although some of the shot sprites were oversized , but was a playable game nonetheless. Forgotten Worlds was completely wrecked by shite controls, otherwise it was a reasonable effort.IMO


Didn't Quickshot or cheetah or  another company bring out a rotary joystick ? That some games recognised? Was it any good?
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Gryzor on 19:40, 28 November 13
First I hear of it...?
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: arnoldemu on 20:18, 28 November 13
Quote from: Puresox on 21:35, 24 November 13
Didn't Quickshot or cheetah or  another company bring out a rotary joystick ? That some games recognised? Was it any good?
I believe they did and I believe the follow up to Ikari Warriors used it, but I can't find the actual code to support it.
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Optimus on 12:00, 29 November 13
I am curious about something, I was gonna open another thread, but this one is perfect for this.


Shoot em ups. They have this same mechanic. You press the space bar frantically and sometimes it's just like the input is not taken. Or at some periods you stop shooting bullets, while others you can shoot fast.
It's like there is a limitation of how many bullets you can shoot at a time (and based on total sprite numbers/enemies?) but not always, there are periods between shooting as many times as you press and not shooting enough.


I am not sure if I am clear. There are times I press frantically the space bar and sometimes bullets are not coming out and I loose. I see it everywhere, even in modern games, like Star Sabre. Is it because of limitation of sprites at the same time on screen? Input limitation, delays?


p.s. Other than that, Anarchy. Great game, but if you play with keyboard, what kind of awful keyboard configuration is that? Also, Renegade, crazy keyboard configuration too. Why?
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Sykobee (Briggsy) on 12:30, 29 November 13
I imagine that often it is done to a sprite limit, although the game should have been designed so that the gap between bullets is enough to keep a steady rate up.  Alternatively it could be that the game just reads the keyboard input once in its game cycle and you missed that small window that the space bar was pressed, and there was no (or very small) keyboard buffer in place.


Or there's the old "gun overheated" mechanic I guess.  But that's useful in a game where you have to count your bullets and watch how liberal you are with shooting them all over the place.


Personally I'd rather some shoot'em'up games had "start shooting" and "stop shooting" for the spacebar, rather than "daley thompson that spacebar!".
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: arnoldemu on 14:26, 29 November 13
Yes, if you look at some games. You fire a bullet, and the next one can't be fired until the previous one has been removed from the screen (e.g. hit an enemy or hit the side of the screen).

You can check this by approaching the side of the screen and firing continuously, if it's faster at the edge than near the middle is purely down to the number of sprites.

I agree, really shoot em ups should be based on rate. Based on the rate you can know the maximum number of bullets required.
Then even if you shoot an enemy, the next bullet will not come until the time between bullets has been reached. But to make that fair, you need a fast rate so that you're not stuck near an enemy waiting for the next bullets to be fired.

You could get around this by using a limited bullet range. So you need to be closer, but the rate can be higher because overall less sprites on screen.

Don't forget in these games cpu time is taken with 1) updating the movement of the bullets (which is easy) 2) collisions (takes more time)

So by minimising the number of bullets your minimising the number of collision tests that are required.

Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Sykobee (Briggsy) on 16:15, 29 November 13
Heh, yeah, I can imagine a game designer ... "we've got the cycles to render and collision detect TWO bullets per frame.  That's why the weapon is a shotgun."
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: arnoldemu on 19:39, 29 November 13
About the shots working as I said, I don't know if it wasn't thought about (e.g. they didn't think it was an issue), if there wasn't so much in the way of design then, or if it was coded this way on purpose.
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Axelay on 14:39, 30 November 13
Quote from: Optimus on 12:00, 29 November 13
Shoot em ups. They have this same mechanic. You press the space bar frantically and sometimes it's just like the input is not taken. Or at some periods you stop shooting bullets, while others you can shoot fast.
It's like there is a limitation of how many bullets you can shoot at a time (and based on total sprite numbers/enemies?) but not always, there are periods between shooting as many times as you press and not shooting enough.


I am not sure if I am clear. There are times I press frantically the space bar and sometimes bullets are not coming out and I loose. I see it everywhere, even in modern games, like Star Sabre. Is it because of limitation of sprites at the same time on screen? Input limitation, delays?


There's no input problem or delay in Star Sabre, unless perhaps you are this (http://www.youtube.com/watch?v=oJ4lmAFB7d4#) guy.   :)  I've only seen a couple of instances where I could be sure a CPC game wasnt firing because it failed to read the key input, usually I think it is pretty clearly a sprite limitation.   In Star Sabre you are limited to having 3,6 or 9 main bullets in play at a time, according to your power up level.  You can manipulate your fire rate when you have a power up by hanging close to screen sides, background or in some cases the enemies you are shooting to shorten the 'life time' of some shots though.  Pressing fire frantically wont always work, and it's not intended that it should, you still need to pick your shots to a certain degree, like many other early 80's shooters, even in the arcade.
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Gryzor on 18:34, 30 November 13
Heh :D


In other games, it's part of the game mechanics. Take Space Invaders - only one bullet allowed in the air. I don't think it's an issue of technical limitations but rather of forcing you to consider your tactics.


But in the case of the weapon firing unevenly, of course, it gets technical.
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Axelay on 08:59, 01 December 13
Quote from: Gryzor on 18:34, 30 November 13
In other games, it's part of the game mechanics. Take Space Invaders - only one bullet allowed in the air. I don't think it's an issue of technical limitations but rather of forcing you to consider your tactics.



Funny, I nearly went on to mention Space Invaders in my previous post, because I'd be surprised if it *wasn't* an example of game design shaped by technical limitations.  :)
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Gryzor on 18:25, 01 December 13
Nah, with 55 alien sprites on-screen, plus the player sprite (plus possibly the bunkers?) plus the invader bullets (three bullets max from a single invader I think), I guess if they wanted more player bullets on screen they could do it. But the thing is, with more bullets it'd be much, much easier. Think, especially, the moments when there's only one invader left, zapping left and right at full speed. If you had multiple shots it'd get quite trivial, losing all the excitement it now has.
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Axelay on 12:32, 02 December 13
Oh, the player having one shot wasnt what I would have talked about though, I meant the design more generally.  Something that sticks out to me is the way that the invaders are updated one at a time.  That approach might be just to regulate movement so they naturally speed up as they are destroyed, but that would be an assumption.  I've read the original idea had been to have the player shoot down aircraft but the staggered movement of the enemy didnt look right for planes, so aliens were eventually settled on.  Why didnt he just make the planes move smoothly if there was no kind of limitation?  I've not seen anything definitive on that, but regardless of the reason behind the staggered movement, it sounds a bit like a 'shotgun' design change to me.  :)
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Optimus on 14:07, 02 December 13
Games that have one shoot are at least predictable, you know when you can shoot or not. But I was thinking of these other shooters where you seem to be allowed to shoot many bullets at once but sometimes less. But thanks for the explanation. I am gonna play Star Sabre again and see if and when it happens.


I read somewhere about the original space invaders that the arcade couldn't handle the many sprites fast enough, so that's the reason why it goes faster the more you kill, but then this became like a game design decision :)
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Shaun M. Neary on 13:25, 03 December 13
Renegade's controls used to infuriate me. If they could fit all the moves into it's sequel, I really don't understand how the original couldn't utilise the fire button.
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Puresox on 16:59, 03 December 13
Renegade was a weird setup control wise for sure, I think that the arcade had the same sort of key layout .
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Shaun M. Neary on 18:33, 03 December 13
Yeah, it was done to simulate it. Breakthru also suffered the same fate.
Title: Re: Great games with Bad Controls! How hard would it be for a programmer to alter?
Post by: Puresox on 22:12, 03 December 13
Sort of related question, Are there any versions of Winape that allow you to map the keys to a joypad? I know that you can choose joystick settings with a two button set-up . But wondered if you could map multiple functions e.g. Elite , Starglider?
Powered by SMFPacks Menu Editor Mod