Requirements for a casual game?
Miscellaneous Forums/General Discussion/Requirements for a casual game?
I've been working/wasting my time on making a matching game for just over a month now. It's not a match 3 tho, the 'engine' works perfectly for what I needed, just a standard rectangular grid with the gameplay resembling a mix of columns/puzzle fighter.
Anyway, I'm not enjoying making it and yesterday, I thought what am I doing!? This morning, I decided to scrap it and take a risk by starting fresh with a totally different type of game. I'm going with something that gives me more artistic freedom and it is something that I will actually enjoy making.
I have some questions about making a 'casual' game,
a) Screen resolutions:
Should I give the user a choice or just make 800 x 600 as standard?
Should I allow window and/or fullscreen?
Should I add widescreen support?
b) Lifespan:
How much playing time should it my game contain? Number of levels? Hours to play etc
c) Control:
What controls should I add in my game? Joystick, mouse, keyboard?
Should I allow the user to redefine the controls?
d) Saving/Loading:
I've read all sorts of stuff about vista compatibility so not quite sure what to think about it all. Is it ok to just save to the .exe's local directory?
Should I have profiles that can be saved/loaded? If so, what kind of info needs to saved/loaded?
Thanks in advance for any input.
John
a) choice is good... Especially with the increasing popularity of widescreens (they tend to be less square inches, so cheaper to produce), 800x600 can look very odd on those.
Personally I prefer full screen, but I appreciate it if a game can also switch to windowed mode.
widescreen support: probably recommended.
Lifespan: greatly depends on the type of game. Most of the time you'd expect at least a couple of hours.
c) the more the better. Keep in mind that not everyone has a joystick, so it would probably not be a good idea to require one of those. Mouse vs. keyboard depends on the type of game again. Some games work better with a mouse, others with keyboard.
d) don't know about vista. as far as what to save -- really depends on the game again. Typically you would want to save their name, selected options (resolution, sound volume, what level they are at, etc.)
a) yeah choice is good but if you just offered 800x600 with fullscreen and windowed, it would be fine for a casual game. If it's going to be a bit more hardcode then the options would be good for that type of player.
b) Casual game 5-6 hours? Number of levels will be definied by time say 6 hours divided by time taken to complete a level. Bear in mind a learning curve for beginners and possibly replaying of harder levels (don't make starting levels so hard they have to be replayed EVER).
c) depends on game type. If casual (as your post title suggests) only need mouse (and only use one button). If action then keys and DO have a redefine. If shooter or playform, yes please, add joystick!
d) should some game settings be global or are all profile dependent? Need to save the current level reached and score etc. Decide if you'll allow save mid level. Can't save in exe folder in Vista. Do a forum search for Vista for more info.
Widescreen support is important imho. I hate it to try out a game which is actually quite nice but has no widescreen support. They look ugly on my 16:10 LCD.
a) Spend time developing a general set of routines to handle the display. You should cater for: -
Standard CRT monitors (4:3 aspect display, essentially 1:1 pixel aspect).
5:4 TFT's (many/all that have a native 1280x1024 res are this strange aspect).
16:10 TFT's (1440x900, 1680x1050, 1920x1200).
16:9 HDTV's (1280x720, 1920x1080).
Normal TV's (768x576 or 768x480 for PAL and NTSC) with an option to select a widescreen mode which is still the same res.
Plasma widescreens - same as the normal TV option, but may be hooked up via VGA at a resolution of 1024x768.
Essentially, create display routines that are independant of resolution, display aspect and pixel aspect.
Not an easy thing to perfect but once you've done it, you can re-use it in every project. You also ensure that your game will work on any display system past, present and future.
b) Depends entirely on your target audience and the time you want to spend developing your game. I've seen casual gamers spend less than 30 minutes on a game at any one time. If you haven't grabbed their attention within 30 seconds, you've lost them.
c) Tricky. Saving and loading should theoretically be within the user's home directory (i.e. 'My Documents'). Practically, it's often more useful to save to the local folder.
Regarding profiles... how many people actually bother to set up different Windows users accounts? Even then, how many people just use the profile of the person already logged in?
Implement a profiles system, but auto-create default profiles for each existing Windows user. Include an option to create more profiles (and handle the case where a profile is created and then a Windows user of the same name is created!).
Casual gamers do not want to have to re-play their way through a level to get to a certain point. Unless it's an absolutely necessary game element to not allow it, include a full game-state save option to allow players to carry on from exactly where they left off. This should be easy to implement if you already write code using a state-machine ethos.
I wouldn't bother with widescreen support.
Your end user can switch off screen stretching in display preferences, or run the game in a window. In either case the game will look exactly the same as on any other monitor.
Try adding widescreen support and factor in that the user may have switched off screen stretching already. Your screen will still end up distorted. You're making a rod for your own back by trying to cater for these damn things. Invention of the devil.
I wouldn't bother with widescreen support.
IMO it's now a mistake to avoid widescreen, more and more laptops + PCs arriving at work have 16:9 and 16:10 aspect ratios.
However like you say it's still not compulsary to offer, just a nice to have.
Look at most of the games in the indie market, though. Suppose you write a game to run in widescreen, it isn't practical to do anything with the voids at either side of the screen, other than leave them black. You can't fill it with anything useful, otherwise 4:3 users are going to be missing out. Aren't widescreen monitor users going to complain about your game effectively running in 4:3 on a 16:9 display?
I just don't think its realistic to cater for absolutely every resolution and aspect ratio. Whatever you do there will always be somebody who still isn't satisfied, so why put yourself out?
Many indie games don't even let you change resolution, let alone worry about different aspect ratios.
Not supporting widescreen is just lazy, IMHO. You aren't forced to use the extra width. Indeed, I see it mostly used to park information away from the main playing area (e.g., player's score and suchlike).
Widescreen is rapidly becoming the standard, to not cater for it is to limit your audience. It irritates me when games display huge black borders left and right on my display. At least if you implement widescreen, even 4:3 users have the option to zoom out of the screen and have top & bottom black borders (lots of people don't mind this) giving them the opportunity to not feel like they are missing out on anything.
The worst thing you can do (and I've seen this in many full-price titles) is display a top & bottom bordered widescreen display on an already widescreen display! ISTR that Serious Sam 2 suffered dreadfully from this.
Resolution dependance is an anachronism in this day and age.
Not supporting widescreen is just lazy, IMHO.
I'd agree with you, but then we'd both be wrong.
It irritates me when games display huge black borders left and right on my display.
...and...
You aren't forced to use the extra width.
Think you need to clear this one up for me since you appear to have contradicted yourself all in the same post. I don't HAVE to use the empty void, but if I don't, you'll be irritated? Can I possibly win, here?
Indeed, I see it mostly used to park information away from the main playing area (e.g., player's score and suchlike).
...and what do you do with that information when there ISN'T a widescreen monitor?
Do you rearrange everything to cram it all into a 4:3 display? Or make the player get by without the information? The latter being the case, if the information isn't required, why display it for anybody??
You really are quite aggressive when you've got a point to make.
I fail to see any contradiction in my statements. Not making specific use of the void at the edge of the screen is not the same thing as leaving it blank. it can form part of the playfield but not be the focus of attention. It can form part of the background in games which already have a limited playfield (e.g. Easter Bonus, Tetris style games). The 4:3 background would just be the widescreen one, but cropped.
Info normally floating on the active playfield (players score, current level, energy bar, etc) can be moved into a bordered area at the side. Not the best solution, but if you really want to focus on a 4:3 area (e.g. vertical shooters), it is worth not just ignoring the available space. My irritability level is reduced because my screen is being used to the best potential for that type of game. Of course, a vertical shooter could have the option of rotating the screen 90 degrees, so that I could pivot my screen ;) That really is a luxury though, and not one I'd be annoyed at not being provided (not many people use their TFT in portrait orientation).
If there ISN'T a widescreen monitor, information can be shown succinctly, reduced in size, simplified... any number of ways to prevent the information becoming a distraction to gameplay. I've played games that already do this. Half Life 2 can show health information around the crosshairs. It's less precise than having a numeric representation, but it is useful. Tweaking HUD displays has been an option in games since Unreal 1 (ISTR you could define the size, opacity and level of info displayed). Probably there are earlier examples, but Unreal is just the one that I recall.
Perhaps leave it to the player to decide what they do and do not want to see. Though I concede that, for the casual gamer, keeping options to a minimum is the best course of action. You could match the desktop resolution and programmatically determine if frame rate would be acceptable. If not, halve the resolution either by pixel-doubling or literally setting a lower res (if fill rate is the issue), though this is difficult for widescreen displays because 960x600 and/or 840x525 are generally not defined modes. This really is an edge case though. I would assume (perhaps wrongly, I don't know) that anyone with a high-res widescreen display would likely not have a card so slow that pixel doubling e.g. 840x525 to 1680x1050 would be a problem. It's a 2D operation and graphics cards have long been so fast at 2D that they may as well be instantaneous.
If the target audience is running a P3-450 with an S3 Virge card or some awful shared-RAM chipset (Intel, I'm looking at you) then OK, you have me bang to rights. Anything above 640x480 is going to be a challenge there. Anything 3D will die framerate death even then. trying to add widescreen support to a game that runs fine on such old hardware would be like adding fine gold filigree to a plastic ring from a Christmas cracker! ;)
Thanks everyone for the suggestions.
I think I'll add widesceen as an option. Can't hurt and shouldn't be too hard to add in. I'll stick with mouse control for the game I have in mind. One button should also work OK.