123
-=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- (c) WidthPadding Industries 1987 0|521|0 -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=-
Socoder -> Concept/Design -> Linear Gameplay?

Tue, 02 Oct 2007, 11:44
HoboBen
IDK, to be honest I don't play too many games (making them is more fun!), so I'm after a bit of advice here. Both from a programming perspective and a gaming one.

So, basically I'm starting my old project "Omnircron" again but this time with Cobra instead of Blitz3D. I'm going from scratch again, gonna create a new physics engine and hopefully have every single level scriptable to such an extent that I could produce expansion packs by just adding another folder of text files into the game (which also leaves things open for users to make their own maps too, if I can be bothered with a level editor!)

But while the physics engine part of things is something I'm well practised in, due to the cliché habit indies often have of not ever finishing what they start, I don't often get as far as doing much with the over-all game flow. All I've really done is level1 -> level2 -> level3, but I want to add some less linear parts to the gameplay.

I'm going to set up level scripts that have exits which point to other level files, so level1 could point to level2a or level2b, which in turn could point back to level1 or branch out in any way they want.

But I want some opinions here - how linear or flexible do you like your gameplay? I know in games like Red Faction or Half Life, you went in a straight line following the plot. You could go backwards, but with noone there to shoot, there was no point. It wasn't very lmiting though - there were some detours you could take and a few ways to get to places, but ultimately linear. And I thought that they were good games - no getting lost, simple pick-it-up-and-start-shooting fast gameplay, decent storyline.

But then you got games like Final Fantasy X, which is much more flexible. The game can branch out in different directions, and they all end up with the same final boss fight in the end. A lot of fun too.

I was thinking of a hybrid - pockets of non-linearity between linear parts, repeating something like this:


This would allow storyline to progress, while being flexible too, and hopefuly offer replay value.

Course, I could do something like that looked more like a spiders web. Less of a storyline angle, more freedom.

Or what I think is another good option is a mission-driven game - you have brief pockets of linear gameplay, followed by 5 missions to choose from. You have to beat 3 to continue to another bit of linear gameplay, then you unlock another 5 choices.

I don't know - which would be more fun, considering I want replay value, storyline and also fast-paced-brain-dead-shooting when I want it.

And what's also worrying me is how I'm going to organise the files. If it's completely linear, I'd have a folder with level1.txt level2.txt level3.txt all at the root. Right now I'm dividing things by location, starting at galaxies, down to solar systems, then planets and things like moons and asteroids. This would be best for a completely 100% flexible game, but I don't know about the hyrbid option - maybe divide into chapters, and within each chapter have introduction levels and folders for each mission.

|edit| And theoretically, all of those methods are possible at the same time, so if I had a linear game to start, I could have a completely open-ended expansion pack of levels that would work just the same. |edit|

Hmmm, suppose I wrote a fair bit there. Don't have to read it all, maybe just skim and feed back - what sorta gameplay you find fun, and how best to implement that sort of system.

Thanks everyone.

|edit| Sorry for spelling mistakes - tryn'a proove this right with this! |edit|

-=-=-
blog | work | code | more code
Tue, 02 Oct 2007, 17:28
Nolan
Even with the options, the gameplay would still appear linear, assuming that I'm understanding your idea. The person would choose an option, and then be fed into a stream of linear change--which is basically no different than an entirely linear gameplay. Sure, you could play the game again and perhaps have a different route, but you can't always count on people playing the same storyline twice.

Two questions:
1. What will you use for scripting? Home-made scripting language, or something already written?

2. You say you're used to coding physics engines, and I'm curious--how advanced are these engines? It seems to me that most people playing modern games want very in-depth physics (shaking bridges, tumbling debris, basically Half-Life 2 physics). Of course, if you could program a realistic physics engine with all of that, I'd be very impressed.





-=-=-
nolandc.com
Wed, 03 Oct 2007, 04:58
power mousey

hey Hobo,

surprise us.


cheers
power mousey
Wed, 03 Oct 2007, 09:34
HoboBen
Hi Nolan,
I suppose you're right. It ultimately appear linear whatever I do. Unless I wanted to write a gazillion different maps for all the possibilities!

But for your Qs,
1) I'd do a homemade scripting language. I'm just going to adapt one I already have that automatically loads data from a plain text file and maps them to "virtual" variables that the program can use. It's very automatic, and requires no extra code beyond calling variables as 'VirtualString("name")' rather than just 'name'. The existing code already works great, I just need to change it slightly to do a few extra things that to make it easier to write the map data.

It's actually possible to just leave that loading code as-is, and produce some fairly long-winded (but still working great) data for level maps. I started a scrolling-shooter that way, worked great too, but I decided the game was boring so I scrapped it.

2) The honest answer would be better than Half Life 1 (not hard - their crate-pushing physics really sucked!), but not as good as Half Life 2! I'd say bout half way in between. Though I haven't actually played HL2, but I've read reviews where they praise the physics engine and seen a few trailers. I dunno, might improve and attempt to get something fairly near as good as HL2. That's something to aim for, I suppose.


Mousey,
I hope when I'm done it really will surprise

-=-=-
blog | work | code | more code
Wed, 03 Oct 2007, 19:34
mindstorm8191
I think making a fully non-linear gameplay is extremely difficult, and forces you to redesign a game. The best example I know of a non-linear game is The Sims, or Sim City, where everything that happens is ultimately up to you. But of course, you're still trying to advance the environment and make things better in general. The trouble is, having a game that non-linear leaves you with no real goal. So... I dunno, its up to you.

-=-=-
Vesuvius web game
Sat, 06 Oct 2007, 20:29
mindstorm8191
Yeah, linear gameplay can make good FPS games pretty boring. Halo 2 was even that way, in single player. You of course had options of how to kill your enemies, but everything flowed according to the game's plan. A good FPS game should have you attacking a base, and able to approach it in any direction you like.

I was developing an RTS terrain system at one point, where you could walk in one direction and keep looping through the map. A map system like that would force players to defend all sides of their base, not simply build in a corner and block the entrance.

-=-=-
Vesuvius web game
Sat, 06 Oct 2007, 21:21
HoboBen
Thanks for the comments

Scripting is going really well (I had 90% of the code already written as a Cobra unit before, so I just added a little onto that).

Expect a demo with some rubbish programmer-art in a week or so

-=-=-
blog | work | code | more code
Sun, 07 Oct 2007, 14:49
Jayenkai
I don't think a linear path necessarily makes for a dull game. I mean, sure, if you pick Halo 2 it's a pretty rubbish example of linear gameplay.
But Half Life 1 and 2.. Very linear, but both are absolutely cracking games.
I'd say it's not so much the linear-ness, but more the repetitiveness.
You need to throw in a few interesting tweaks here and there, to keep the action going, and stop everything getting too samey. (He says, as he continues work on his incredibly samey Mummy game!)

-=-=-
''Load, Next List!''
Sun, 07 Oct 2007, 20:06
mindstorm8191
That's true. I think it was a recently released version of Rainbow 6 I played (I don't even know how many Rainbow 6 games exist now), in which guards would always be placed at different places in their standard patrolling patterns. I was no longer a matter of 'jump around this corner, shoot one guy, then turn around and shoot two more as they charge through the door'. You had to adjust to different situations, and never knew how many guards you'd fight, or when you'd run into them. I think good enemy AI can also play a large part in removing repetitiveness to games like this.

-=-=-
Vesuvius web game
Sun, 07 Oct 2007, 23:58
tnt23
i agree with jnk that it's not so much "linearness" as it is repetitiveness thats the problem.

in some cases a game could be 100% linear but a good storyline makes it not seem repetitive. in general, a game always has to flow somehow to some common goal. it just needs options along the way to make it more replayable.

what's also fun is something like gta where if you just kinda feel like messing around you can just do whatever in the game world rather than always having a mission or somewhere you need to be. i don't think that concept has ever been fully applied to a fps, but it would be interesting to see how that would turn out.

-=-=-
What if this were not a hypothetical question?