Q-Flux

Discuss your Halo 2 mod project here.
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Q-Flux

Post by XZodia »

For a long time now, I've had a desire to create a Futuristic Racing game similar to F-Zero and its lesser cousin Wipeout

I have two main reasons for this:
  • I think F-Zero X is one of the greatest games ever made
  • I think this is a very under served genre
Recently, I have started some detailed planning for such a game, which I am currently naming Q-Flux.
Q = Quantum, in reference to Quantum Levitation
http://www.youtube.com/watch?v=Ws6AAhTw7RA
http://www.youtube.com/watch?v=Zqmdv5iyIOY

To make it more likely that something actually gets made, I've decided to make it using Unity.
And in the unlikely event that it becomes popular in the future and I need more flexibility, I can always port it to a custom engine in the future.

The race tracks will be defined using Bezier curves and I already made a Bezier curve editor for Tick Tock Toys which I can adapt for this.
Tracks can go in any direction, left/right/up/down/loop/spiral etc
The tracks will be procedural generated from the Bezier curve:
http://8bitmemories.blogspot.co.uk/2011 ... ity3d.html

I'm not a great artist so the color schemes will be procedural generated using techniques such as this:
http://colorschemedesigner.com/
http://devmag.org.za/2012/07/29/how-to- ... lgorithms/

The race ship's physics/dynamics will be heavily controlled by my own code (overriding the normal physics code):
  • Custom Collision Response
  • Custom Velocity/Acceleration (To maintain forward momentum in the ships facing direction)
  • Collision Detection Culling along the track curve (Taking account of Position, velocity and acceleration)
To encourage emphasize high velocity racing, tracks will be designed to be mostly wide.
And emphasize the feel of moving a high velocity, and ceilings will be very low and the field of view will vary with ships velocity.

Additional track elements which I would want to add are:
  • Speed Boosts
  • "Healing" zones,
  • Jumps,
  • Pipes,
  • Half Pipes,
  • Cylinders (drive on outside of pipe)
  • Racer gains Boost power after first lap, using boost lowers ship durability (health)
Everything else that follows, is very unlikely to even leave the drawing board but is my vision for the game:

I want it to be a multiplayer game and there will be 32 racers per race.
Network traffic can be kept to a minimum using a lot of prediction and culling, (prioritizing racers nearest to each other) and only sending position data for far away racers.

There will be a variety of ship designs to choose from and there will be a limited amount of customization allowed at the start of each race.
This will be based on sliders:
  • Acceleration vs Max Speed
  • Durability vs Weight
  • Boost vs Grip
Changes to these sliders with have a visual effect on the ship.

Each ship design will have a character associated with it, I want to cover a variety ethic groups / genders / sexuality / etc some could be alien, but avoiding binary choices of black/white, girl/boy, gay/straight, etc
These characters would be represented by some fancy 2D artwork.
For a loose story behind this, I was thinking they could be the best racers from their respective planet / country.

Fast paced Guitar music

Exotic environments, eg Lava, Tree tops of a Rainforest, Surrounded by City Skyscrapers

Weather, eg Rain, snow, night, day

Of course, I won't be doing much if any development on this immediately, but I like to dream, and I hope to start it in a few weeks/months.
I'm happy to hear suggestions or for people to help out. Especially, for the art side.

Suggestions from you:
Attracting/Repelling object, eg Large Magnet, Blackhole
Floor gives way mid race, racers must race on the ceiling
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
JacksonCougar
Huurcat
Posts: 2460
Joined: Thu Dec 06, 2007 11:30 pm
Location: Somewhere in Canada

Re: Q-Flux

Post by JacksonCougar »

You could have the course alterable as you play it, with scripted things happening around the course that affect the player (say a sun goes super-nova and changes the gravity for a span of time)
And invisibility power to get by players?
Turrets shooting into the course?
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Q-Flux

Post by XZodia »

The emphasis is on high speed, so its important to not disorient the player too much, also I'm not sure how changing gravity would work on a race track?

Powerups such as invisibility are a possibility.

I think I want to avoid projectile weapons as this could slow down the player too much.
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
JacksonCougar
Huurcat
Posts: 2460
Joined: Thu Dec 06, 2007 11:30 pm
Location: Somewhere in Canada

Re: Q-Flux

Post by JacksonCougar »

XZodia wrote:[...]how changing gravity would work on a race track?
Maybe just a 'pull' from center for the steering would be enough, or make it so you can't move left as fast as you can move right (and you are pulled right without countering it by steering)
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Q-Flux

Post by XZodia »

Thats a cool idea, it would mean planetary scale race tracks though which wouldn't make sense for such small ships, but it could have other contexts, like a giant magnet or something?
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
troymac1ure
Keeper of Entity
Posts: 1282
Joined: Sat Aug 09, 2008 4:16 am
Location: British Columbia, Canada, eh
Contact:

Re: Q-Flux

Post by troymac1ure »

XZodia wrote:The emphasis is on high speed, so its important to not disorient the player too much, also I'm not sure how changing gravity would work on a race track?
You could have sections of track on the roof, so you migrate to the roof as the floor gives way. This may be disorientating, but you could then for a short area you have reversed controls if the ship rolled as it moved from one area to the next.

BTW this sounds very interesting.
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Q-Flux

Post by XZodia »

Driving on the roof could be a fun way of altering the track mid-race, the floor giving way after the first lap, but I don't think the controls should be inverted, the camera should just flip with the racer.
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
troymac1ure
Keeper of Entity
Posts: 1282
Joined: Sat Aug 09, 2008 4:16 am
Location: British Columbia, Canada, eh
Contact:

Re: Q-Flux

Post by troymac1ure »

Or you could just keep the vehicle upright and have it 'hanging' from the roof (normal controls then).
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Q-Flux

Post by XZodia »

Well when your in a pipe you can drive on the roof of it, and of course the camera would follow you round as you drove up the side, so for consistency it would make sense for the same to happen in this case.
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Q-Flux

Post by XZodia »

I've added your suggestions to the main post and a link about generating the track from the curve http://8bitmemories.blogspot.co.uk/2011 ... ity3d.html

I'm going to try and do a little bit of research/development every day for this, even if it is something really small.
But I likely wont do anything on weekends...
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
JacksonCougar
Huurcat
Posts: 2460
Joined: Thu Dec 06, 2007 11:30 pm
Location: Somewhere in Canada

Re: Q-Flux

Post by JacksonCougar »

Have timing obstacles on the path like rolling orbs or swinging beams, or gates :p
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Q-Flux

Post by XZodia »

Rolling orbs / swinging beams might be cool, could make it so they crush you lol
Don't see how gates would work?
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
JacksonCougar
Huurcat
Posts: 2460
Joined: Thu Dec 06, 2007 11:30 pm
Location: Somewhere in Canada

Re: Q-Flux

Post by JacksonCougar »

XZodia wrote:[...]Don't see how gates would work?
One example would be a tunnel and the gate would close off the top and bottom of the pipe so you have to be on the side to pass through.
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Q-Flux

Post by XZodia »

So use them to force people down different paths? Could be interesting...
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
troymac1ure
Keeper of Entity
Posts: 1282
Joined: Sat Aug 09, 2008 4:16 am
Location: British Columbia, Canada, eh
Contact:

Re: Q-Flux

Post by troymac1ure »

You could also have the ability to change hover height (passing above below other players)
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Q-Flux

Post by XZodia »

I think that would make it too easy...
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Q-Flux

Post by XZodia »

I'm currently toying with the idea of using flow fields to control AI and possibly also for network prediction...
Example: http://www.youtube.com/watch?v=jA2epda-RkM
Technical: http://youtu.be/5Qyl7h7D1Q8?t=24m30s
Implementation: http://www.red3d.com/cwr/steer/
Original Paper: http://grail.cs.washington.edu/projects/crowd-flows/
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
JacksonCougar
Huurcat
Posts: 2460
Joined: Thu Dec 06, 2007 11:30 pm
Location: Somewhere in Canada

Re: Q-Flux

Post by JacksonCougar »

That's really cool :)
User avatar
rentreg
Posts: 327
Joined: Sun Jul 26, 2009 3:11 am

Re: Q-Flux

Post by rentreg »

Man, you've only disclosed a few lightly plotted details and already I find this really appealing.
I believe this has the potential to take off for the same reason Minecraft did - due to the very loose dependence on content creation for aesthetic purposes. you pretty much have limitless flexibility - with bezier curves you could essentially use periodic functions to create laps.. ha.
One of my concerns is that in order to make it easier to deal with higher speeds the span of the width of the track will consume many pixels on the screen, blocking out typical scenery over the edges. So hopefully you litter the track with randomly seeded scenery to create a better visual experience.
As for the presumably seeded city-environment, you could define some abstract relationships between some things like the ratio between window size and area consumed by wall for a typical unit area of a building side, render to a texture the polygons with window borders and small details all using algorithm-selected colors. This would then be tiled. Some ratios could be scalar i.e skyscraper = 1:0 window to wall factor, high glass reflective index, tint virtually random but has blue bias.
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Q-Flux

Post by XZodia »

I didn't fully understand your ideas but they sounded interesting, could you try and explain them better?
There won't be any scenery on the track itself, but certainly anything can go to the sides or over the top.
I don't think I made it clear that the tracks would be high in the sky, with the potential to fall into the abysis at certain times.
I don't think seeing the scenery will be a problem as there will be plenty of twists and turns where you will be able to see your surroundings
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
rentreg
Posts: 327
Joined: Sun Jul 26, 2009 3:11 am

Re: Q-Flux

Post by rentreg »

XZodia wrote: didn't fully understand your ideas but they sounded interesting, could you try and explain them better?

I will try :lol: , no promises
My concern was that if no scenery were to go on the track it would essentially be a long textured ribbon. By the camera either following the craft in third or first person, the lower half of the screen would just be a big blur.
what you could expect to happen:
Image

I might be wrong by suggesting this, but by using small pieces of scenery (like stones, debris) the 3d transformation the models undergo by being at a distance one moment, and in the lower half of that picture the next might be enough to break the illusion. But really it depends on the frame-rate, the renderer ...

As for the other suggestion, say you wanted a city to run along-side your track during a certain domain defined for your beizer curve, you COULD have them generate by chance but, by storing information about your map somewhere (eg. in a seed) you could have the same results every time. You can use the seed to come to a conclusion about some details about your city, i.e building density, median building height.

You know that all buildings are generally box shaped, with some exceptions, so your function returns a candidate for every vacant square location where your building density calculation says a building should be placed. The model for the building would be selected from a table of loose building templates with the addition of some extra primitives for additional features to break repetition, again dependent on the seed. A texture now needs to be placed onto the building, with windows probably most importantly, but maybe other features too. So you create a pixel buffered object if your using open gl (or whatever the equivalent is for d3d) .. you draw some pretty squares which emulate the window, the wall the window is on, add a grungy texture from file if you want less abstraction then render to the memory location which you would then treat like any other parsed image - apply it to you wall, tile it a couple of times.

The point I was getting at with the previous post is that you could get pretty elaborate, generating textures for taller buildings, the box you draw for the window could almost equal the bounds of the 2d space maybe with a slight outline for glass skyscrapers, a more intense gray-scale could be used for your alpha map for a shader-pass that adds reflectivity. Its probably too easy to get over creative, really depends on your time investment.

PS. I haven't tried unity and doubt it would give you that low-level access to create PBOs
PSS. 4am here, excuse my mistakes if any are found
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Q-Flux

Post by XZodia »

Here are a few screenshots from F-Zero X which should give you an idea of what it could look like, bear in mind F-Zero X is an N64 game...

Image
Image
Image

I think the large number of racers and large surrounding scenery should be enough to avoid that illusion, but I will keep it in mind.
As far as the city-scape is concerned generating it from a seed is definitely a possibly, and is something which could evolve over time (as you say starting out with simple boxes and later making them more complex but changing how they are generated)
It would be cool and very possible to get some real-time reflections on windows etc.
Also, Unity does give you access to opengl =)
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
rentreg
Posts: 327
Joined: Sun Jul 26, 2009 3:11 am

Re: Q-Flux

Post by rentreg »

XZodia wrote:It would be cool and very possible to get some real-time reflections on windows etc.
save real-time reflections for loops or sections where the track folds over itself ;D save your computing power and use regular cube-maps reflections for the foremost
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Q-Flux

Post by XZodia »

Considering that it shouldn't be a very power hungry game, I think I can get away with real time reflections all over the place lol
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
User avatar
XZodia
Staff
Posts: 2208
Joined: Sun Dec 09, 2007 2:09 pm
Location: UK
Contact:

Re: Q-Flux

Post by XZodia »

I've refined the definition of the ships.

Each ship will have:
  • An Avatar
  • Racer Art Work
  • A Customizable Color Scheme
  • Tweak-able Handling
The Handling will have 3 tweak-able components:
  • Hull
  • Wings
  • Engines
Each of these are analogue (floating point) settings but have 3 major render models.

The Hull defines the ships Durability To Weight Ratio.
With Majors:
  • Light Weight (Fragile)
  • Balanced
  • Durable (Heavy Weight)
The Wings define the ships Grip To Boost Ratio.
With Majors:
  • Lift (High Boost, Low Grip) (Aeroplane style Aerodynamics)
  • Balanced
  • Grip (Low Boost, High Grip) (Car Style Aerodynamics)
The Engines define the ships Acceleration To Max Speed Ratio.
With Majors:
  • High Acceleration (Low Max Velocity)
  • Balanced
  • High Velocity (Low Acceleration)
Needs some better naming in a few places, but I digress...
Image
JacksonCougar wrote:I find you usually have great ideas.
JacksonCougar wrote:Ah fuck. Why must you always be right? Why.
Post Reply