News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Ideas - Guidelines for Programming games

Started by arnoldemu, 14:19, 15 March 13

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

arnoldemu

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

TotO

#1

QuoteGames should support the FIRE 2 button for gamepads/joysticks.
Maybe the player character needs to be able to jump, and then UP is used for this. And that is ok. Just don't forget to include the FIRE 2 button for jumping as well.
You must not have to affect a same command to a direction button and an action button.
If the player need to jump with the FIRE 2 button, it's probably because the UP direction is used to move up, look up, target up, ... But not to jump.
Else... It's a common game design error.

QuoteGood key "presets" are cursors and space (good for cpc6128 and Plus more awkward for 464 and 664), q for up, a for down, o for left, p for right and space for fire.
Encouraging the use of two fire buttons need to chose a keyboard mapping that can allow the same... Here, you only allow 1 fire button to be used.
Q,A,O,P waste the both hands only for moving... It's a "speccy port" mapping syndrome on our computer (probably nice for a tank simulator).

6128 (like MAME)
Directions: Arrow keys
Fire buttons: CTRL, COPY
Pause: P and SPACE

464/664
Directions: F5, F2, F1, F3
Fire buttons: Z, X
Pause: P and SPACE
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

mr_lou

Quote from: TotO on 15:34, 15 March 13
You must not have to affect a same command to a direction button and an action button.
If the player need to jump with the FIRE 2 button, it's probably because the UP direction is used to move up, look up, target up, ... But not to jump.
Else... It's a common game design error.

Not sure if this is what you're saying, but there is absolutely nothing wrong with having the same command linked to multiple buttons.
Just because UP = JUMP doesn't mean FIRE2 can't be JUMP too.

Using UP as JUMP is fine when using a joystick. Especially if it has only one FIRE button, that has another usage. Then your game is suitable to be played with a joystick.
But what about the players who prefers a gamepad? When using a gamepad, UP is terrible for jumping. FIRE 2 is the only right choice.

So, make UP = JUMP and FIRE2 = JUMP. Then you'll make everyone happy.

TFM

Quote from: arnoldemu on 14:19, 15 March 13
Guidelines for Programming games - CPCWiki
Thanks' for that collection. I added COPY as alternative to the SPACE key for practical reasons.
But there are other things I would suggest:
- Allow the user to choose a Green or Color Monitor
- Have a Highscore list that gets saved to disc
- Use expansion RAM if connected (can be extra features, or just loading all levels at once).
Can we add that to your collection of guidelines?
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

arnoldemu

Quote from: TFM/FS on 16:34, 15 March 13
Thanks' for that collection. I added COPY as alternative to the SPACE key for practical reasons.
But there are other things I would suggest:
- Allow the user to choose a Green or Color Monitor
- Have a Highscore list that gets saved to disc
- Use expansion RAM if connected (can be extra features, or just loading all levels at once).
Can we add that to your collection of guidelines?
yes, go ahead and add them.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

TFM

TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

arnoldemu

What are the combinations of keys that people use?

It would be good to put the most used combinations onto this page, or perhaps the best key combinations that can be used.

I would like to include up,down,left,right, fire, pause and quit.

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

MacDeath

#7
Still concerning the joystick and control thing, to me it's something I wished Dead on time got... use of dual joysticks...


One for movement direction, the other for directionnal fire, this would allow strafe maneuver.
Of course it would radically change the gameplay, but it would also simply enable another gameplay mode.


Most of those multidirectionnal shooter/run and gun could use this.


Imagine : Gryzor, Midnight resistance, commando, ikary warrior and so on...


I remember the game Tank, if I remember correctly you could have controls for both the tank and the gun, and you could choose to simplify with the turret following the movements as well.
http://www.cpc-power.com/index.php?page=detail&num=2173
or something like this...


Ikary warrior had a second button to toggle (fix) the firing angle.
Smash TV on megadrive used the 3 buttons for alternate firing modes : rear shoot, fixed angle shot (toggle?) or follow moves direction shot.


To have 2x 4-direction paddles enables to get the true Arcade "rotating joystick" as on Forgotten worlds or MidnightResistance.


You can also imagine a shooter with a R-Type like force module/drone that could be directed (have no exemples at the moment)
Or robocop like games as well... even Barbarian like games.


Also football/soccer games or other sport games.


But yeay, can't be implemented on "Tape 464" games probably.
Don't know al the details but to get the PLUS/GX4000 Analog port properly used (= adding a proper adapter) could also really give a lot of fun things and cool control mods to play with.
Dual 4directions+6 buttons (or 2x4 directions+2 buttons) mode.
or 4player on screen mode.

Don't forget that the power supply from the Analog port could help concerning autofires or mouse.

Last but not least, games like Pirates! or Pick'N'Piles or Heroquest would be 100% cooler with any mouse support.

TotO

Quote from: mr_lou on 16:08, 15 March 13
Not sure if this is what you're saying, but there is absolutely nothing wrong with having the same command linked to multiple buttons.
Just because UP = JUMP doesn't mean FIRE2 can't be JUMP too. [...] make UP = JUMP and FIRE2 = JUMP. Then you'll make everyone happy.
OK. But only if UP=JUMP and FIRE2 is not used, then FIRE2=JUMP.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

mr_lou

I think it's important to separate "good practice" from "nice to have".

It's good practice to give both UP + FIRE2 a jump function, in order to support joysticks AND gamepad players.

And it's good practice to use P as a pause key, and let everything in the game be controlable by joystick/gamepad. (That doesn't mean you can't include key-controls at the same time).

Of course we will never agree on which parts are good practice, and which parts aren't. But maybe we could at least agree on some kind of level categorization.

E.g. a game could conform to "Good Practice Level 1" which could mean that it'll be able to run on all CPCs, including the GX4000. I.e. it doesn't require anything specific, like e.g. a keyboard, or a joystick with two firebuttons, or 128k ram.

And maybe "Good Practice Level 2" could mean that the game takes advantage of things (if present) like extra RAM, plus features, and so on - but would still run on any CPC. (That's the whole point of the label).

Quote from: TotO on 19:16, 15 March 13OK. But only if UP=JUMP and FIRE2 is not used, then FIRE2=JUMP.

Of course.  :)

ralferoo

Quote from: TotO on 19:16, 15 March 13
OK. But only if UP=JUMP and FIRE2 is not used, then FIRE2=JUMP.
If I'm using an actual joystick, I'd always prefer a fire button to jump over pressing up. With a cheap joystick, it's very easy to accidentally stop pressing left or right if you're moving it up.

ralferoo

Quote from: TotO on 15:34, 15 March 13
Q,A,O,P waste the both hands only for moving... It's a "speccy port" mapping syndrome on our computer (probably nice for a tank simulator).
I'm quite the opposite. I love QAOP because it's easy to control both axes independently. It doesn't really waste both hands because the right thumb rests on the space and if I needed another fire, I'd use TAB or K. ESC for pause or menu.

Quote
6128 (like MAME)
Directions: Arrow keys
Only if the game is a spreadsheet... ;)

Quote
464/664
Directions: F5, F2, F1, F3
Too bunched up and down feels uncomfortable because I'd use my longest finger resting on up.

Of course, I'm not even sure why we need this discussion. The vast majority of CPC games let you redefine keys and fortunately a joystick button behaves just like a key, so it's trivial to cater for everybody.

Puresox

#12
Present Preference for Key choices are-
e up
d down
u left
i right
space fire 1
o fire 2


In certain Games
the wasd - I and O for fire 1 and 2


Also I like MacDeaths suggestion for dual joystick operation for Dead on Time , this would turn it from a great game to an Amazing Game!!! Love this to be Implemented!!

steve

Quote from: TFM/FS on 16:34, 15 March 13

- Allow the user to choose a Green or Color Monitor


We should not compromise a game that uses colour by allowing it to be played on a monochrome monitor, there is no excuse for not having a colour monitor.

EgoTrip

Quote from: steve on 21:12, 15 March 13
We should not compromise a game that uses colour by allowing it to be played on a monochrome monitor, there is no excuse for not having a colour monitor.


Thats an elitist attitude isnt it? I don't know if you are aware, but a lot of CPC's were sold with mono monitors, and people still use them. I think its a good thing to have mono support in games as not every game translates from colour to green well.


I am currently working on a game with someone, and that includes a green screen option. Simply because I tested the colour schemes in green, and they did not contrast so well. So I think it makes sense. It most definitely is not a compromise if it is optional, and IMO, not enough games had that option.

EgoTrip

Quote from: arnoldemu on 18:40, 15 March 13
What are the combinations of keys that people use?

It would be good to put the most used combinations onto this page, or perhaps the best key combinations that can be used.

I would like to include up,down,left,right, fire, pause and quit.


Depends on the game, for stuff like Chuckie Egg I always stuck with the default AZ<> Space scheme and hence find this really easy to use for platformers. Cursor keys tend to be useful for maze/top down games. QAOP Space is definitely useable. But I dont like some of the weird ones where all the keys are hunched together on one side, such as QWAZ etc.

TFM

I like a CTM for games and a GT or MM (the Plus monochrome monitor) for coding. Conding on a Greeny Screeny is a lot of fun, as playing games in Color. :)
However, you CAN show some special GFX on Green Screen only, and not in Color. Just take the wonderful stuff from France as very well examples.
So... a lot of guys WILL have their CPC connected to a GT.
And it's really no problem to change a fist full of color bytes, is it?  ;)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

mr_lou

Quote from: steve on 21:12, 15 March 13We should not compromise a game that uses colour by allowing it to be played on a monochrome monitor, there is no excuse for not having a colour monitor.

I'm with EgoTrip on this one. It's not about excuses. It's about preferences. (Is there an excuse for not having 128kb ram? Or for playing with a gamepad rather than a joystick?)

So the Green Screen Option does belong in the "Good Practice Level 1" category in my opinion. Especially because, as TFM says, it's not difficult changing colors.

TotO

#18
I have asked to split the topic from the arnoldemu guideline post, as it's originally the Zombie Monsters topic.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

TotO

#19
That don't Look like a guideline for programming games, but like a user preferred settings.
You are going to reinvent the "DOS PC SETUP.BAT" for CPC games...  ;D


Quote from: ralferoo on 20:15, 15 March 13I'm quite the opposite. I love QAOP because it's easy to control both axes independently.
Don't speak about what you love (old habits), but what is nice for playing games handling more than 1 fire button on a keyboard.

Quote from: ralferoo on 20:15, 15 March 13It doesn't really waste both hands because the right thumb rests on the space and if I needed another fire, I'd use TAB or K. ESC for pause or menu.
Like said, "P" can't be used to move if it's used to pause a game, to be GX4000 friendly. So, QAOP can't be a predefined setting. (only used defined)
Then, millions peoples play today using arrows (or WSAD, or IKJL...) for moves and the other hand to handle actions with CTRL, ALT (or ASD, or JKL...) because a minimum of 2 and commonly 3 fires button is required and need to be fast and easy to hit.

Quote from: ralferoo on 20:15, 15 March 13Only if the game is a spreadsheet... ;)
Too bunched up and down feels uncomfortable because I'd use my longest finger resting on up.
I remember to have the same problem, 20 years ago... It's just habits... ;)
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

ralferoo

Well, some good points and bad points. Thing is, I like key combinations because of ergonomics and how my hand feels rather than habit. And because of that, I'll default to QAOP+space when redefining keys because I know from years of playing that it feels comfortable to me.

Quote from: TotO on 09:11, 16 March 13
Don't speak about what you love (old habits), but what is nice for playing games handling more than 1 fire button on a keyboard.
Like, I said, resting on QAOP, space, tab, K are all available without moving the hand and provide something for you to rest the static part of your hand on. This makes the game very comfortable to play over an extended period. For even more buttons, ; (CPC) or ' (PC) is harder to use but again doesn't require moving the hand, J,M are both easy to get to without moving the hand off O and P, U and I are also good 6th and 7th fire options. But I'd question if you genuinely need this many action buttons.
Quote
Like said, "P" can't be used to move if it's used to pause a game, to be GX4000 friendly. So, QAOP can't be a predefined setting. (only used defined)
That's why every game that uses QAOP uses ESC for pause/menu. I'll cover the GX4000 bit at the end.
Quote
Then, millions peoples play today using arrows (or WSAD, or IKJL...) for moves and the other hand to handle actions with CTRL, ALT (or ASD, or JKL...) because a minimum of 2 and commonly 3 fires button is required and need to be fast and easy to hit.
Ignoring for a moment the fact that these types of games are almost always 3D shooters which has completely different needs to the usual games on 8-bit computers. You'll often find PC 2D platformers still using QAOP because they're better for that kind of game.

Personally, I don't especially like WASD because the finger has to move too much between up and down. However, as you said, if I need to use a mouse as well, it's acceptable for right handers because the hand can naturally rest there when the right hand is on the mouse. In practice, WASD works for this kind of game because the long finger rests on the W which is the usual operation. S is much less frequently pressed, so it's OK to have to move the index finger slightly for this. For left handers, using WASD requires them to much much further to the left than their usual position and I've seen left handed players with their hands crossed to play these games.

I'll conceed that WASD is more comfortable than the cursor keys or the F5/F1/F2/F3 thing you proposed, but only because the hand has somewhere to rest and can be slightly angled inwards.
Quote
"P" can't be used to move if it's used to pause a game, to be GX4000 friendly
Well, that's not strictly true is it? A few immediately obvious solutions to this problem and there are obviously many others:

       
  • If the game is started by pressing FIRE on the joystick, use joystick and P for pause. If started by pressing space, use QAOP+space+ESC
  • Default to joystick controls, again with FIRE to start, with a button like R or K to redefine keys. User can choose what they want. Game can't accidentally be started in joystick mode by a keyboard only user.
  • Use QAIO (actually I often use this when redefining keys in games where P is hard-coded to pause)
Aside from ergonomics, I have another objection to predefined keys - emulators. For example, Roland in the Caves uses / and \ for the two directions. On most modern keyboards, there isn't a key where the CPC has \ although there is a \ on the far left on the  same row which results in the logical directions being swapped. Obviously, the target platform is more important than an emulated platform, but any new game must surely be run on emulators by a good number of people who might not even try it on real hardware if they're put off the first time they try to play it in an emulator.

ralferoo

I forgot to mention. The games are rarer (and more usually speccy ports), but I find games that use QWOK to be comfortable, games that use ZXOK or ZX:. less so because there's nowhere for the hand to rest. But again, these keys are better for lefties playing platformers because the usual actions are performed with their dominant hand.

arnoldemu

Quote from: ralferoo on 11:12, 16 March 13
I forgot to mention. The games are rarer (and more usually speccy ports), but I find games that use QWOK to be comfortable, games that use ZXOK or ZX:. less so because there's nowhere for the hand to rest. But again, these keys are better for lefties playing platformers because the usual actions are performed with their dominant hand.
Thank you everyone. I like the idea of pressing fire to start with joystick , space for keyboard and r to redefine.

From the discussion I think a redefine option is a must.

Working on colour and green screen doesn't always mean a special palette it means a minimum is that you can see and play effectively on a green screen. Of course it's not always possible if a game relies on colour unless you make some visual distinction in the graphics.


The list is a reminder of what people should do to make it more useable for all.  All consoles have guidelines and must do lists that must be passed before a game can be released this is our version for Cpc.
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

TotO

#23
Quote from: arnoldemu on 11:27, 16 March 13
I like the idea of pressing fire to start with joystick , space for keyboard
Is what we does first in R-Type to only handle JOYSTICK or KEYBOARD to optimize inputs reads delay on each frame.
More exactly : Joystick FIRE button and Keyboard FIRE button.

But, finally, we keep both as we don't see the speed difference. :D
On this game, all can be done without the keyboard.

It's a nice way, commonly used on consoles, to select the player input.
"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

arnoldemu

I added something else:

* If a game needs a specific configuration (e.g. 128K minimum) and it is loaded on a machine that doesn't have this configuration, it should tell the user and not allow them to continue.

If this was not done, the game would crash and they wouldn't know why.

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Powered by SMFPacks Menu Editor Mod