GAFs Amateur Devs Chronicles

rhfb said:
I already have THE AI book, and I know how to code basic physics stuff, I just need a very good reference book that I can go to. I know C# and Java are somewhat similar already :p
The Microsoft help is a great reference, that's all I use.
 
Jolt 0.1.6

- new levels 10, 13 (thanks to slavik81 for suggesting initial idea for 13)
- temporarily disabled the level unlock code, all levels now unlocked from the start

gcoope.googlepages.com/Jolt_0_1_6.zip

I would appreciate feedback particularly on the audio and levels 5, 8, 10, 13, 15, 22 and on the level ordering.

Cheers.
 
Well, I use a game development tool called MegaZeux that allows you to create 16 color text-mode based games in a variety of genres/styles. It's a followup to ZZT, which some of you might have heard of. You can do some pretty cool stuff with the program, there's quite a bit more to it than initially meets the eye. I just released an RPG for the thing... the storyline involves drug addiction and coming to terms with it, along with other cultural references and storylines pretty unique as far as RPGs go, all set in an alternate-dimension version of New York.

You can check out the page here if you're interested: http://www.duky.org/kikan.html ... that has the MegaZeux program needed to run the game, and the actual game. If anybody plays this, please comment! It'd be awesome if you actually played it.

The game is highly influenced by Shadow Hearts and Dragon Quest series, and was developed entirely by me, the graphics might not look like much but they are considered very good by MegaZeux standards! It also has an EDM-influenced soundtrack.
 
djtiesto said:
Well, I use a game development tool called MegaZeux that allows you to create 16 color text-mode based games in a variety of genres/styles. It's a followup to ZZT, which some of you might have heard of. You can do some pretty cool stuff with the program, there's quite a bit more to it than initially meets the eye. I just released an RPG for the thing... the storyline involves drug addiction and coming to terms with it, along with other cultural references and storylines pretty unique as far as RPGs go, all set in an alternate-dimension version of New York.

You can check out the page here if you're interested: http://www.duky.org/kikan.html ... that has the MegaZeux program needed to run the game, and the actual game. If anybody plays this, please comment! It'd be awesome if you actually played it.

The game is highly influenced by Shadow Hearts and Dragon Quest series, and was developed entirely by me, the graphics might not look like much but they are considered very good by MegaZeux standards! It also has an EDM-influenced soundtrack.
Holy crap, 3 years? That's dedication. Is it finished now?
 
The Friendly Monster said:
C'mon ye bastards! Anyone want to ask any questions about 2D XNA development/my game in particular?
How do you deal with the results of collisions? Do you define a normal vector for each object component or...?
 
Slavik81 said:
How do you deal with the results of collisions? Do you define a normal vector for each object component or...?
Yep, the code to calculate the normal vector for each object is simple, but for improved efficiency I store that vector in the Line, Piston, Goal, Fail etc. class. In fact now that you mention it I haven't done this for Piston yet, that's another thing to do.
 
The Friendly Monster said:
Yep, the code to calculate the normal vector for each object is simple, but for improved efficiency I store that vector in the Line, Piston, Goal, Fail etc. class. In fact now that you mention it I haven't done this for Piston yet, that's another thing to do.
What about hitting the end of a line? You could deal with hitting both sides of the line using the same normal vector... but the ends aren't like that. I think you use a circular cap on line segments, but I'm unsure of how you calculate from there... The normal vector would be the radius, of course, but how do you know where in the circle that the ball hits? Per-pixel collision?
 
Slavik81 said:
What about hitting the end of a line? You could deal with hitting both sides of the line using the same normal vector... but the ends aren't like that. I think you use a circular cap on line segments, but I'm unsure of how you calculate from there... The normal vector would be the radius, of course, but how do you know where in the circle that the ball hits? Per-pixel collision?
Almost all the way there. It's actually really simple.

Calculate the distance from the centre of the ball to the centre of the circle. If that length is less than the radius of the ball plus the radius of the circle, they must be colliding.

it's something like:

Code:
if( (ball.position-circle.position).Length() < ball.radius+circle.radius )
{
    normalVector = ball.position - circle.position;
    normalVector.Normalize();
    
    intersectionPoint = circle.position + circle.radius*normalVector;


    //do all your collision stuff now
}
 
sprocket said:
This is a mere glimpse of my super secret project... sshhhh!!


i650_scrn1.png

that looks pretty cool. How far along are you with? How much time did the 'artsy' stuff take and what did you use for it?
 
Started up again on my first project "Plus". It's a simple rhythm game, although the rhythm isn't predefined, the player must press the right buttons, but it can be on any beat. I'm currently working on the scoring, rewarding more points for pressing on the stronger beats and penalizing for being repetitive with your rhythm. It's not much fun at the moment though, I'm not very pleased with how it's going. I'm also not planning on sharing this one around for testing since it uses copyrighted music files, also the code for getting my ps2 pad to work with it is, I'm assuming, very specific, It'd be pointless work for me to try and make it work for everyone.

plus_web.png
 
The Friendly Monster said:
Is anyone getting anywhere?
I'm still working on my technology. I just finished building an object tracking structure, implementing spriteSheets and animations. As this is my first project, there's quite a lot of that sort of stuff that I have to learn and build. I look forward to when I can build a game and use my old classes.

Right now I'm working on reacting appropriately to collisions. I might actually be able to start working on tuning gameplay and creating content once I have the bugs worked out. (That will be an amazing step).
 
The Friendly Monster said:
Started up again on my first project "Plus". It's a simple rhythm game, although the rhythm isn't predefined, the player must press the right buttons, but it can be on any beat. I'm currently working on the scoring, rewarding more points for pressing on the stronger beats and penalizing for being repetitive with your rhythm. It's not much fun at the moment though, I'm not very pleased with how it's going. I'm also not planning on sharing this one around for testing since it uses copyrighted music files, also the code for getting my ps2 pad to work with it is, I'm assuming, very specific, It'd be pointless work for me to try and make it work for everyone.

plus_web.png

If you need free non-licensed electronic music you can always ask the GAFers who were a part of G.A.M.E. If you aren't familiar with G.A.M.E., check out this thread.
 
Slavik81 said:
I'm still working on my technology. I just finished building an object tracking structure, implementing spriteSheets and animations. As this is my first project, there's quite a lot of that sort of stuff that I have to learn and build. I look forward to when I can build a game and use my old classes.

Right now I'm working on reacting appropriately to collisions. I might actually be able to start working on tuning gameplay and creating content once I have the bugs worked out. (That will be an amazing step).
Cool, sounds like a reasonably ambitious first project. The workflow you go through when doing a solo project is certainly strange. I spent about a week building a level editor for myself for pizzicati, no one is going to see that but without it I would still have only made about 10 levels. If you need any more advice on 2d physics collision detection and response then I'll try and help.

If you need free non-licensed electronic music you can always ask the GAFers who were a part of G.A.M.E. If you aren't familiar with G.A.M.E., check out this thread.
That's a cool idea, I'll definitely take a look if I decide to share it. The only caveats are that the music needs to be in 4/4 and have a steady tempo throughout, obviously this isn't ideal but it'd be a lot of work for little reward otherwise.
 
sspeedy said:
that looks pretty cool. How far along are you with? How much time did the 'artsy' stuff take and what did you use for it?


The art is pretty easy .. the key there is to have sketches and designs worked out before going to the computer and making the real asset.

That goes for making a whole game actually. Planning is a key aspect that many fail at.

As for what I am using. right now openGL and c++ .. The game actually started on XNA but I wanted to port it to MAC as well.
 
Ok. I'm totally stuck trying to rotate sprites....
I can't get my origin to stay sti... Nevermind.

I spent hours trying to figure it out and just by coming here and trying to explain the problem to you guys I figured out a solution.


Also: Nothing is more annoying than corners. I think all corners are going to have to be rounded off if I'm going to continue to use a ball.
 
Wow, rollover is a really fucking annoying problem. Apparently 3 key rollover is considered basic and yet the simple demo I've made in XNA has shown that on my fancy vaio laptop I only have two-key rollover (can't do q, w and e at once). What the fuck? I'm going to have to rethink my idea for my latest game a good bit. Anyone got any thoughts about this issue? I noticed it a couple of times when playing games, Half Life 2 for example, but it seems a really fucking annoying limitation that users aren't aware of.
 
The Friendly Monster said:
Wow, rollover is a really fucking annoying problem. Apparently 3 key rollover is considered basic and yet the simple demo I've made in XNA has shown that on my fancy vaio laptop I only have two-key rollover (can't do q, w and e at once). What the fuck? I'm going to have to rethink my idea for my latest game a good bit. Anyone got any thoughts about this issue? I noticed it a couple of times when playing games, Half Life 2 for example, but it seems a really fucking annoying limitation that users aren't aware of.


I had that problem a while ago, ninge (gaffer) told me the standard solution was to think of keys as 'swtiches' rather than 'peddles'.

Ive never seen 2 key only though...time to invest in a USB keyboard ;)
 
Ghost said:
I had that problem a while ago, ninge (gaffer) told me the standard solution was to think of keys as 'swtiches' rather than 'peddles'.
I had quite a cool "pedal" idea though...ah well I think I'll still be able to do something cool with it, I'm glad I tested this part of it out so early in execution.

It still seems to be a really nasty limitation, isn't anyone pushing for an "all keys independent" standard? What is the standard at the moment? Obviously ctrl, alt and any other button have to work.
 
Ghost said:
I had that problem a while ago, ninge (gaffer) told me the standard solution was to think of keys as 'swtiches' rather than 'peddles'.

Ive never seen 2 key only though...time to invest in a USB keyboard ;)
It's a laptop, kind of defeats the purpose. Plus if I have it then someone else will, so that's the limitation I'm going to have to stick to. It's only a few combinations where three keys don't work, you can get like 8 keys if you press the right ones.
 
Is this normal or is this bad?

Link.


The Friendly Monster said:
Try rounding them off with radius 0.
I think I need to round it a little more than that to get my normal collision animation to look acceptable.

I solved most of the gameplay problems in my collisions by moving my object backwards to the surface of the object it was colliding with in reverse. Simply along its trajectory rather than along the normal of the object it was colliding with (in retrospect, that should have been immediately obvious).
 
Slavik81 said:
Is this normal or is this bad?

Link.
I think thats probably fine,
try playing with

graphics.SynchronizeWithVerticalRetrace = ;//true/false

and
IsFixedTimeStep = ;//true/false
TargetElapsedTime = ;//new TimeSpan(0, 0, 0, 0, x);

in the initializer to play with framerate.

I think I need to round it a little more than that to get my normal collision animation to look acceptable.

I solved most of the gameplay problems in my collisions by moving my object backwards to the surface of the object it was colliding with in reverse. Simply along its trajectory rather than along the normal of the object it was colliding with (in retrospect, that should have been immediately obvious).
Is it meant to be realistic physics, because in that case you may want to call the physics update more than the 60 times a second which the draw update is called. In pizzicati the physics engine is called 500 times a second, probably overkill but the higher this is the more realistic collisions will be. Do this with

IsFixedTimeStep = ;//true/false
TargetElapsedTime = ;//new TimeSpan(0, 0, 0, 0, x);

again
 
The Friendly Monster said:
Is it meant to be realistic physics, because in that case you may want to call the physics update more than the 60 times a second which the draw update is called. In pizzicati the physics engine is called 500 times a second, probably overkill but the higher this is the more realistic collisions will be. Do this with

IsFixedTimeStep = ;//true/false
TargetElapsedTime = ;//new TimeSpan(0, 0, 0, 0, x);

again
Not realistic at all. The gameplay deals with a bouncing ball. The idea being that whenever you hit something, you stick to it for a second... During that time, you have heightened control over your movement. I figured it would be an interesting way of doing platforming.

Thanks for the help.
 
Slavik81 said:
Not realistic at all. The gameplay deals with a bouncing ball. The idea being that whenever you hit something, you stick to it for a second... During that time, you have heightened control over your movement. I figured it would be an interesting way of doing platforming.

Thanks for the help.
Sounds cool, are you bouncing off straight lines then? If you are in need of a performance boost I think my line collision algorithms are fairly good. I'm not going to get anything done this weekend with the football and cooking for friends and relatives.
 
I want to start learning C# so I can start working on the game I am going to make for a graduation project. However, I am not really sure where to start. I am pretty fluent in VisualBasic because I had to learn in my school's programming class, so I have some background in programming.

What are good websites/books that I can us t start learning how to program using C#? I'm only a sophomore right now, so I have a while until this project is due, but I want to get a start on it and I also want to see if I enjoy creating games.

Side note: The textbook that I use at my school is pretty good. It is by Lawrenceville Press, I might look in to picking up the C# edition.
 
snack said:
I want to start learning C# so I can start working on the game I am going to make for a graduation project. However, I am not really sure where to start. I am pretty fluent in VisualBasic because I had to learn in my school's programming class, so I have some background in programming.

What are good websites/books that I can us t start learning how to program using C#? I'm only a sophomore right now, so I have a while until this project is due, but I want to get a start on it and I also want to see if I enjoy creating games.

Side note: The textbook that I use at my school is pretty good. It is by Lawrenceville Press, I might look in to picking up the C# edition.
I'm guessing you're using XNA. Personally I'm an advocate of diving straight in and dealing with problems when you get to them.

http://en.wikipedia.org/wiki/Comparison_of_C_sharp_and_Visual_Basic_.NET

This is probably useful.
 
I should have a 'finished' game to show you guys within the next few days. I'm excited (although, it was developed by quite a large team).

Oh, and The Friendly Monster, I sent you a pm.
 
I have been working on an OpenGL game for a while but I want to switch badly after my team bailed on me and I am left with all the C++ code I worked on for months. I find the tutorials pretty slow, and I want to start porting my stuff right away. However, since I want to see at least something on the screen, I want to know what you guys using to import models. I have a couple Maya models I created (totally refined by a friend though) for the original game, but I never figured how to port them to .obj (thats what XNA accepts huh?) Previously I was working with a friend who had a Mac so we were using Unity, is there a PC alternative? Also, I wrote my own parser, but I bet a XNA library has a better one, can any of you guys point me to it?

Also, what does XNA uses for shaders? HLSL? I know a little bit of CG, is it that much different? A friend told me that all the lighting is handed by shaders by default, is this true?
 
godhandiscen said:
I have been working on an OpenGL game for a while but I want to switch badly after my team bailed on me and I am left with all the C++ code I worked on for months. I find the tutorials pretty slow, and I want to start porting my stuff right away. However, since I want to see at least something on the screen, I want to know what you guys using to import models. I have a couple Maya models I created (totally refined by a friend though) for the original game, but I never figured how to port them to .obj (thats what XNA accepts huh?) Previously I was working with a friend who had a Mac so we were using Unity, is there a PC alternative? Also, I wrote my own parser, but I bet a XNA library has a better one, can any of you guys point me to it?

Also, what does XNA uses for shaders? HLSL? I know a little bit of CG, is it that much different? A friend told me that all the lighting is handed by shaders by default, is this true?
Sorry I can't help here, I've only used 2D XNA.
 
I present to you Retrovirus Redux, an XNA game that myself and a team of 11 others created in approximately 8 weeks. That doesn't sound all that impressive, but handling a group that big was quite a challenge and it was particularly tough as none of us had ever made a game before, let alone worked with XNA. There's a big of a steep learning curve.

So please, test it out, tell me what you think if you have any suggestions and whatnot. I'm afraid The Friendly Monster set the bar a bit high and I don't think that it's a tenth as cool or classy as his game but if I can entertain a few people for even just a couple of minutes it will be entirely worth it to me.

Team Argentum Proudly Presents
Retrovirus Redux : http://www.mediafire.com/?4ny5m0mdnzx

See link above to download the game. If you don't already have the .Net, DirectX, and XNA components required to run the title, you can find those here (for x86 Windows XP)
XNA Dependancies
 
Ha. I just realized... I never actually explained what the game is... :lol
Forgive me, it was 7:30 in the morning when I finished and I was desperate to go to bed and sleep.

It's simply a 2D shooter set the human body. Mrs. Frizzle style, You fight off a variety of bacteria, paramecia and other mean things. Beware of the Ecoli, Tape Worms, Heart Attacks and Kidney Stones.

I've posted a few screenshots below, and I'd updated the redistributable I was hosting, as a few people have had some troubles with the ones I had before.

RetrovirusScreenshot1.png


RetrovirusScreenshot2.png
 
My project is called Deadrock, and it's not XNA. Its going to be a zombie survival game played out in real-time, using a hell of a lot of inspiration from rogue-like games. My C# framework (I should say "our" as there are two of us working on the framework) started out in XNA but I found it restrictive so I ported it to SDL.NET and Tao.OpenGL. Deadrock is all my own work though. It's still in very early stages, but here's a screenshot anyway.



Much of the game will be procedurally generated, so the town you're in will be different every time you play, unless you decide to go back to a town you already played.
 
Slavik81 said:
I present to you Retrovirus Redux, an XNA game that myself and a team of 11 others created in approximately 8 weeks. That doesn't sound all that impressive, but handling a group that big was quite a challenge and it was particularly tough as none of us had ever made a game before, let alone worked with XNA. There's a big of a steep learning curve.

So please, test it out, tell me what you think if you have any suggestions and whatnot. I'm afraid The Friendly Monster set the bar a bit high and I don't think that it's a tenth as cool or classy as his game but if I can entertain a few people for even just a couple of minutes it will be entirely worth it to me.

Team Argentum Proudly Presents
Retrovirus Redux : http://www.mediafire.com/?4ny5m0mdnzx

See link above to download the game. If you don't already have the .Net, DirectX, and XNA components required to run the title, you can find those here (for x86 Windows XP)
XNA Dependancies
I checked out your game, it's cool, 11 people sounds like a bloody nightmare to manage. I liked the theme of being inside the body, reminds me of a book I had when I was a child called "the magic school bus". One thing which I thought would be nice would be to have a little more animation, maybe little thrusters on the back of the ship or slightly different sprites for the different directions you're moving. Also the hitbox is quite big for the main ship, there are times when the bullets hit you when they don't seem to intersect the visual body of the ship. Maybe a circular hitbox would be more appropriate.

Anyway well done on your first project, keep it up,

Giles.
 
The Friendly Monster said:
I checked out your game, it's cool, 11 people sounds like a bloody nightmare to manage. I liked the theme of being inside the body, reminds me of a book I had when I was a child called "the magic school bus". One thing which I thought would be nice would be to have a little more animation, maybe little thrusters on the back of the ship or slightly different sprites for the different directions you're moving. Also the hitbox is quite big for the main ship, there are times when the bullets hit you when they don't seem to intersect the visual body of the ship. Maybe a circular hitbox would be more appropriate.

Anyway well done on your first project, keep it up,

Giles.
Thanks, I agree with you entirely. I was actually hoping to add particle effects for the ship's thrusters and finesse the level design/gameplay/control, but as the project is due tomorrow I really have to work on my documentation instead.

Did you find it too difficult? Too easy? Just right? One thing that working on this has really given me an appreciation for is how hard it is to understand your own game. I sat there asking myself "Does this look right?" or "Why is this fun?" or (just as often) "Is this fun?". I basically couldn't answer them, either. I had to play the game whether I liked it or not, so it was impossible to tell if I kept playing it because I enjoyed it, or just because I wanted to understand it better. The fact that I actually knew how it worked behind the scenes also warped my perspective.

I played the game myself a number of times while I was trying to tune the levels such that you're never sitting there doing nothing while you're waiting for an enemy to spawn, and I basically kept increasing the difficulty because I found it boringly easy. Then I passed it off to a number of people to test and none of them got past the first level. :lol


BTW, what's your monitor resolution?
 
Slavik81 said:
Thanks, I agree with you entirely. I was actually hoping to add particle effects for the ship's thrusters and finesse the level design/gameplay/control, but as the project is due tomorrow I really have to work on my documentation instead.
Ok, what documentation are you required to include? Complete design doc?

Did you find it too difficult? Too easy? Just right? One thing that working on this has really given me an appreciation for is how hard it is to understand your own game. I sat there asking myself "Does this look right?" or "Why is this fun?" or (just as often) "Is this fun?". I basically couldn't answer them, either. I had to play the game whether I liked it or not, so it was impossible to tell if I kept playing it because I enjoyed it, or just because I wanted to understand it better. The fact that I actually knew how it worked behind the scenes also warped my perspective.
I'd say I found the game a fair difficulty, I got past the first boss and then started messing around pushing the game around to try and find out how big the bounding box was, how big movements felt etc, I died pretty soon after that and didn't feel like playing through again straightaway. Might have another look later.

I played the game myself a number of times while I was trying to tune the levels such that you're never sitting there doing nothing while you're waiting for an enemy to spawn, and I basically kept increasing the difficulty because I found it boringly easy. Then I passed it off to a number of people to test and none of them got past the first level. :lol
Yeah it's totally eye-opening to see people play your game, my sister tried out pizzicati for the first time yesterday and couldn't understand what she was controlling without me telling her.

BTW, what's your monitor resolution?
1280*800
 
The Friendly Monster said:
Ok, what documentation are you required to include? Complete design doc?
A RAD with use cases, functional requirements and such; a System Design Document with Class Digrams, Subsystem decomposition and UML diagrams; a Software Evaluation Report detailing our verification and validation testing...

That sort of stuff. Plus a final presentation explaining what we did, troubles we've had, etc...


The Friendly Monster said:
Awesome, I'll send you off my code for the other game I was working on and beg you to help me out with my glitchy collision detection. I'm not sure how I could improve it, other than by increasing the frequency of the collision checks such that the player cannot travel fast enough that he passes through and touch two bounding boxes and into another between checks. I'm thinking that in the case that the player overlaps multiple bounding boxes, that he should be sucked backwards to where he was at the beginning of the frame one pixel at a time, while checking collisions until he's no longer touching a bounding box... then the last bounding box he touched was the one he hit first.

Of course, maybe that's a stupid idea. Your physics were really quite good, though. I hope you have a spare moment to help me out.
 
Hurrah for Googlepages. Retrovirus Redux now has a homepage: http://slavik81.googlepages.com/retrovirusredux...
Sort of. It's a subset of my personal portfolio page, just because nobody else in my group really felt we needed a website. After seeing http://www.chrisharrison.net/index.html, I immediately realized the value of having something like that around. Plus, maybe it will motivate me to actually work faster on these sorts of things. Perhaps see them through to completion from time to time.


Also, thanks for the ENORMOUS amount of help, Friendly Monster. I haven't found the time to implement the stuff you were talking about (it's 9:30am and I just finished my homework... time for bed)... But as soon as this god forsaken week is over I'll take a look. Just browsing what you've said has given me faith it will greatly improve my glitchy physics code.
 
Slavik81 said:
Hurrah for Googlepages. Retrovirus Redux now has a homepage: http://slavik81.googlepages.com/retrovirusredux...
Sort of. It's a subset of my personal portfolio page, just because nobody else in my group really felt we needed a website. After seeing http://www.chrisharrison.net/index.html, I immediately realized the value of having something like that around. Plus, maybe it will motivate me to actually work faster on these sorts of things. Perhaps see them through to completion from time to time.


Also, thanks for the ENORMOUS amount of help, Friendly Monster. I haven't found the time to implement the stuff you were talking about (it's 9:30am and I just finished my homework... time for bed)... But as soon as this god forsaken week is over I'll take a look. Just browsing what you've said has given me faith it will greatly improve my glitchy physics code.
googlepages is awesome. I was looking into buying a domain etc. but decided it was too much cost/hassle to be worth it when I can have google host my stuff for free. You can also make html websites and just upload them as files. see gilescoope.googlepages.com for an example (not the frontpage though). Yours looks good though.

No problem on the help, it's a difficult engine to build though, mixing pure physicsy stuff with controls is going to bring up a lot of questions I think, good luck with it though.

I need motivation at the moment.
 
Sylar said:
Anything really, probably something lower tempo-ed but the big thing needed is master tracks :(
As in, you need every instrument separated? Or you need the higher quality? Also does the music need to be recorded rather than synthesized? You'd have a much easier time looking for midi (+ vst plugin) arrangements than an actual multitrack digital recording.
 
Yeah multitrack is almost impossible to find.

I just need like the guitar and bass on one track, the drums seperated on another, and then everything else can go on another track (vocals and such).

Really it can be any type of music as long as it has three different instruments / vocals that all sound distinct.
 
Top Bottom