This project has moved and is read-only. For the latest updates, please go here.

Game Concept(you know, if you were wondering)

Mar 21, 2009 at 11:22 AM
Edited Mar 21, 2009 at 11:51 AM
So i was tinkering with xna since i cant sleep(big day tomorrow(kinda)) 
So i started a new project to organize my classes and play around. 
And while doing so i gradually(FINALLY!) came up with a game idea. 

The concept is you control two people(maybe more) 
with the analog sticks of the xbox controller. 
Its basically a puzzle solving platformer (physics based). 
I plan to implement multiplayer and several other features. 
Flips, maneuvers, an enriching story. 
Hopfully an emersive atmosphere to make a really great game. 
Heres a small little very quickly put together demo. 

In it there are 3 players, 
two of which you control using your xbox controller, 
by the way if you dont have a wired controller i can program keyboard input. 
There are physics, 
A diving board(random, i was just trying to make one as practice but decided to keep it in the demo). 
and a camera that you can swap between characters and zoom with(you can control both characters at the same time, camera swap is optional). 

Left analogue stick(control player1) 
right stick(control player2) 
left trigger(switch camera to player1) 
right trigger(switch camera to player2) 
Up on D-pad(zoom in) 
Down on D-pad(zoom out) 
Click in the right stick(null the camera, until you press a trigger) 
Select(resets players)
Select + Start(exits game)

the link 
(this is the first project ive published so tell me if it works ok) 

Hoping to hear ANY feedback AT ALL, dont leave me hangin, Im mostly wanting to hear feedback on the concept.

Decent? eh ehhh?

Fun fact: what got me so excited and thrilled about this idea,
was due to a bug in my jumping code,
together the characters can perform double jumps and special jumps they cant do alone.
Mar 22, 2009 at 1:58 AM
Hmm... Could be neat... I like the idea, but perhaps if you threw together a sample level to demonstrate the puzzle aspect, i might like it more. Also, i've updated my camera class to have a couple more features and be a bit easier to use. Check the camera thread to see if you want to use it.
Mar 22, 2009 at 3:27 AM
K ill check it out,
but in terms of a demo level,
im working on it right now, ive been playing with path generators, ropes, chains, etc.
I have alot of ideas for levels, im working on one now but considering my methods for making maps are still very bad i will make one level then spend time finding a way to do the things im trying to do.
Mar 22, 2009 at 9:14 AM
I should report a couple of things:
1. If you load the not directly controllable character onto the springboard then have one character stand on the other and jump the top one onto the platform, sometimes that character will partially penetrate and get stuck on the platform. Might want to tweak the settings for the sim and/or your textures.
2. If you reset the camera, the right stick controls the camera as well as one of the characters.
3. the texture to vertices is a bit too... um.... accurate in making the geometry for your character. Perhaps you should set up some solution so that the whiskers on it do not get converted into geometry. (they can cause 2 characters to stick together)
4. The algorithm you use to detect if your characters can jump is a bit too insensitive at times (its hard to get a character to jump on the springboard and i suspect, any sort of dynamic object)

Side note: this has inspired me to get back to work on my game (even though i've been fairly sick for the last couple of days with what i think is the flu)
Mar 22, 2009 at 5:31 PM
Thanks for the feedback man,
1. Yeah i made it so that they wont penetrate easily by subdividing but ill definatley try and arrange things in a way they cant mess with tunneling
2. Yeah i didnt mean to have the reset camera control in there, it was in your code but i didnt recognize it until i accidentaly clicked the right stick.
3. Yeah haha im aware, i kinda like it though, im gonna add some sort of piggy back feature, no reason why though haha, but im definatley not gonna have the characters be stick figures as that causes alot of problems with tunneling and what not, it may be why they can easily penetrate the diving board, thanks for telling me though cause now i can test if they are penetrating because of the sharp edges.
4. Yeah im extremely pissed off about that, no matter how i do it there are always problems with the ways i wanna control jumping.
This way works and allows the co-op double jump, but when on the diving board and on bridges it causes alot of problems.
The other way is do like you said and add the variable for jumps left, but that would be troublesome because if the person just falls off of sumthing they can jump mid air as the jumps left wuld still be one.
If i could get a good alternative for the jump it be a HUGE help as im not sure what to do, i enjoy the method im using but its so frustrating not having the flexibility.

Im gonna add keyboard input now first, then im gonna make different textures for the player to test penetration.
Im not sure if i should focus on jumping or creating a level first. These are the two im having the most trouble with, but i can create a map just not in a very easy way.
Mar 23, 2009 at 3:55 AM
Well if you show me the method of how you apply jumps, i can take a look at it and maybe reccomend an alternative.
Mar 23, 2009 at 5:13 AM
K in my player class i have this

        public void Jump()
            if (body.LinearVelocity.Y < 0.08 && body.LinearVelocity.Y > -0.15)

the -y is a bit high but i was pretty much penny pinching trying to see how far  could go,
i can make the -0.15 higher to like -0.05 if i wanted but i was quite pissed how limiting the code was.
Mar 23, 2009 at 6:06 AM
Well try something like 0.2 for both and see if that helps. The main problem is that it thinks the character is in the air when its not (on the diving board). Something that might help (but won't fix the problem completely) is also checking the x velocity to see if its low enough.
Mar 23, 2009 at 6:28 AM
Thats a big no-go on the 0.2, ive tried it before, aything above 1.1 allows the player to do quadruple jumps.
It seems more leniant with the -y velocity but at 1.5 it sometimes allow the player alone to double jump, if i set it really low on both the co-op partners can still double jump and variant like i want them to, but the the character does not function well on dynamic objects.
I am pretty stressed over this : (
Mar 24, 2009 at 2:51 AM
Well a JumpsLeft variable would help a lot... heres some code:

        void OnCollision(Geom geom1, Geom geom2, ContactList contacts)
            ...[if you have other code]
            PlayerObject g1player = (geom1.Tag as PlayerObject);
            PlayerObject g2player = (geom2.Tag as PlayerObject);
            FloorObject g1Floor = (geom1.Tag as FloorObject);
            FloorObject g2Floor = (geom2.Tag as FloorObject);
            if ((g1player != null && g2Floor != null) || (g1Floor != null && g2Player != null))
                if (g1player != null)
                    g1player.JumpsLeft = g1player.MaxJumps;
                if (g2player != null)
                    g2player.JumpsLeft = g2player.MaxJumps;
This would assist your other code and let you turn up the values without breaking your code (sort of).
Mar 24, 2009 at 3:14 AM
HAHA i just implemented this a couple hours ago,
but yes that idea works very well, it is still very buggy and will need alot more work but ive got it working up to my expectations for now.
Ive improved the particle simulation and the jumping code,
right now im implementing a rope that the players can use to pull eachother up a platform,
its coming along really great.
But not so much with map creation, im putting that off until i can find a better way to do it.
Mar 24, 2009 at 3:47 AM
Well ive opted for making terrain out of circles and rectangles which i place at different positions. This only lets me have simple terrain blocks, but i figure i can make complex levels with artful positioning of these blocks. now Particle simulation?
Mar 24, 2009 at 4:46 AM
I would do that but im not sure how, it would either include me making my own level editor, or figuring out how to turn someone elses 2d level editor into one that supported farseers geoms but i dont know how.
And perhaps i named it rain, im using a particle engine to simulate rain.
Particle simulator was that sentance crammed together into one word haha
Mar 24, 2009 at 5:02 AM
Yep... I'll be making 2 level editors: one inside the game (for players to use) and one outside the game (to manufacture levels for the game). Thats a way off though so sorry i cant help you there (im just using a temp level area until i get other stuff done). Hmm interesting...
Mar 24, 2009 at 5:14 AM
Im thinking about making a level editor but thats way out of m leage right now,
in theory i could do it if i learned XML serialization
if i knew how to do that in ANY WAY than i think i could create my own editor,
but i tried to learn to create my own serializer class(is there another way?) and i failed miserably
Mar 24, 2009 at 6:46 AM
Supposedly you can just attach a [Serializable] tag to your level class and it will handle everything for you (if you're targeting windows).
Mar 24, 2009 at 7:53 AM
Well eventually i plan on putting it on xbox,
but i just finished learning from a Nick Gravelyn tutorial, it was for xna 2.0 but it applied to 3.0 and it worked out very well,
but now im not sure how i would go about utilizing this
I must learn how to save info into an XML and create a way to atleast change the positions of object on screen and save that position mid game.
Mar 24, 2009 at 8:19 AM
I thought if you were going to write for xna on the xbox you had to write a content pipeline for each type of file you wanted written. Maybe i'm wrong though; hmm... Also, it seems that virtually all XNA 2 code will work with 3 (except for maybe some sound stuff).
Mar 24, 2009 at 10:28 AM
I hadnt heard much like that, it seems like a special circumstace on most things to not function with xbox rather than the other way around.
I will look into it more but my heads spinning trying to understand saving and loading xml's