Archived

This topic is now archived and is closed to further replies.

Sage13

Game programming CHALLENGE!!!!!!!

Recommended Posts

Ok, this ones for all the teckies out there. Here is a game I plan on developing in the far future. I will give the basis of the engine, and you tell me what is needed on the programming side, in as much detail as possible. If your answer''s right, You''ll get a prize! Your answer will be checked by some pros so if your ready here goes. "The Mourning Star-game demo" A 2D fighter that opperates with 3D principles (no cell animation). The demo will have 2 characters that you can choose from, each with an large arsonal of moves. In fighting the normal view is a 2D background with 2D character sprites on it. Problem 1: The forground environment that the 2d fighters are directly fighting in is volital and changable, depending on the actions of the fight. For instance, if one character preformes a super move from the air and misses the player, the move damages the area of the ground hit. Pre-done animations will take care of the reaction, but the feild must change permenantly for the duration of the fight. Problem 2: The background envionment behind the fighters changes constantly. The level of animation is to be beyond that of any current game. The weather changes, grass sways, clouds roll and the sun moves changing the lighting. There are also a load of special events that take place in the background at any given time. A tornado occurs, affecting the forground, people act out events, mimic or temporarly mock fighters etc. Some of this will be in 2D, some will be in 3D. What way can you conserve memory and haul out extreme loading times? Problem 3: Some special moves in the game, move the camera in a veriety of angles and views ( all hand drawn 2D ). For instance, if a player grabs an opponant and launches him upwards in the air, the view changes to show the opponant flying into the sun ( all hand drawn again, like an animation). Stages are animated to have a 360 degree view around the foreground of the player. Hence the player is also animated to be seen or scrolled around from differnet sides. Minus the monolithic amount of hand animation needed, list and explain techniques for the immeditate variables in this rotation and include lighting, the already damaged ground, and the special events, such as the Tornado or characters in the background. Problem 4: Each character and background element will have realistic lighting, based on the location of a light source. For intance, there is only one stage on the demo, but the light sources are many. The sun moves in the background, changes the light source, hence the highlights and shades will change for all things, including the players. Not only does the light source affect the environment, but the players moves like fireballs and such create another light source that is brighter to the players, but has effects on the fore ground and close background. Now, without eluding to the fact of how difficult and expensive this demo would be to make, get down to the nitty griddy and cover all the aspects you can. The more detailed the better. winner gets a tootsi roll! peace -Sage13

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
hi, i''m an idiot programmer. i want to make this game, its 2D, and has stuff in it. u will a prize if you tell me how to do it. thanx i suxor

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
If you''re going for a 360 degree view.. you''ll save a lot of time and problems with useing 3d instead of 2d animations for everything.

1.) Use dynamic 3d objects.
2.) Use dynamic 3d objects.
3.) Use dynamic 3d objects + a camera.
4.) Use dynamic 3d objects + lighting.

What I''m trying to say is.. if you use 2d you''re just making your life MUCH more difficult, and development time will take a lot longer, it won''t be as flexible (aka, in 3d you can add characters by simply putting in a textured mesh with the vertices/bone relationships.. 2d.. you''ve gotta re-animate every single angle all over again!!!), the package will be a lot bigger, you''ll have to have much better artists (ones that can do "good" animations), and your program will need much more memory to run (and disk i/o to read in animations).

Billy

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Is this a serious post? You must be joking, right? Considering that you wrote all that out, you must be serious. If that is true, no one in their right mind would go through the amount of work and hassle to do all this shit in 2d when 3d is prolific and available.

I know this isn''t "p.c.", or respectful, or deemed noble and understanding, but I think I secretly speak for many... you''re a ****ing idiot.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Use 3D, not 2D. Yeah, it is more to learn, but what you are planning will take 100 times as long and still not look right.
What pros are going to read our answers (what are their credentials)? And, before I waste time with this, what is the prize?
Heh heh heh...

Share this post


Link to post
Share on other sites
I just love how you guys are all willing to pick on this guy... and yet you yourselves hide yourselves by using that "Anonymous Poster" Sh**

I mean really guys... if he really is 13, and is inexperianced, maybe... I dunno... Um... HELP HIM OUT rather than diss and tease him...

And you''d think me, the 15 year old, would be the immature one.

-Lonely

Share this post


Link to post
Share on other sites
quote:
Original post by Lonely
And you''d think me, the 15 year old, would be the immature one.

You might still be. If you actually think about his post, he''s not asking a specific question but rather asking people to provide him with a full solution. That''s immature. Masking it as some kind of attractive challenge/competition is just tacky.

Besides, he''s been helped: he''s been told to do it in 3D instead. The first Anonymous Poster summarized the sad truth of this thread correctly; he''s trying to get someone else to do his own work for him.

And whenever you point out or need to defend your own "maturity," you''re being immature.



I wanna work for Microsoft!

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Hmmm... maybe it''s not a bad idea. Live would be much easier for a programmer

A game like B&W would be much better if everything was drawn in 2D
1. much more detail
2. less programming
3. same speed even on slow computers
4. lot''s of artists needed = reduces unemployment rate :-)
5. no more programmers needed (hey, that''s not good >:-(

Obviously, it''s better not to do it...

Share this post


Link to post
Share on other sites
Oluseyi-

I wasn''t calling Sage13 immature, I was calling all the APs that were attacking him immature...

I agree it''s not the best post in the world, and he shouldn''t try to trick the community into helping him. However it''s still rude and immature to pick on somebody who''s learning how these things work.

Sage13-

I could see your idea working, though it''d take a ton more work. You''ll end up having to work with both 3D files and 2D animations. Personally I''d just work with a 3D environment, and not deal with the extra few years of work.

-Lonely

Share this post


Link to post
Share on other sites
quote:
Original post by Lonely
Oluseyi-

I wasn''t calling Sage13 immature, I was calling all the APs that were attacking him immature...

I know, and I was telling you that you were being immature. Your point?

His post was immature, our responses have been immature, your attack was immature. So?

quote:
...However it''s still rude and immature to pick on somebody who''s learning how these things work.

Oh, I don''t know. I find that there''s a tendency towards overdependence in the newbies these days; I''m not going to be soft and genteel just because you''re a newbie. If you ask a stupud question or make a stupid comment, I''ll tell you so (because I just so happen to be blunt in such situations). Unlike most most people responding to this thread, though, I''ve come across Sage13''s posts before (which is how I know he''s 13); he claimed to be a professional designer or some shit like that. I guess I''ve run out of patience.



I wanna work for Microsoft!

Share this post


Link to post
Share on other sites
Whoa lol.

Didn''t expect that but hey heh, I guess I should have put it in a better way. Ok, ok. Let''s clear up all the rumors.

Firstly, I am not 13 (heh) I''m 19.


Sage13 is my rap name and long time nickN. ( I guess that''s why he''s so oblivious to all this programming stuff hun? [Dumb rappers])

see about that here:

http://www.angelfire.com/ak3/equillianega/S13.html


Moving along,
Secondly, This is a game concept that I wanted to do sometime down the road, and again minus the amount of work nessessary to do it(which just equals out to money and time), I was asking from a conceptual point of view how would you go about pulling this off. It''s true that I''m not a programmer, so it might seem insain to some, but I was just interested in opinions ( I think I counted 3 credibal ones, thanx)
3D is out of the question lol. The whole point is to have it as hand drawn animation.

Three, my spelling is bad, plus I don''t really used spell check or anything when I''m typing like this, sorry.

As for all the Anonymous posters, It dosen''t bother me any, I really don''t know anyone here and well, you know it''s the internet.

So, that''s that. If I can still get some uhm... useful input, please.
Oh! and I forgot to mention, This message was orginally posted
at the MorningStar Forum in the game programming, you can see what I had initally used it for.

http://pub94.ezboard.com/bplanetmorningstar

( There are post Icon Prizes on that forum, so this was just one of the things thrown out)

Ok

peace

-Sage13

www.PlanetMorningStar.com

Share this post


Link to post
Share on other sites
quote:
Original post by Sage13
Sage13 is my rap name and long time nickN. ( I guess that''s why he''s so oblivious to all this programming stuff hun? [Dumb rappers])

[offtopic]
Rappers aren''t dumb. Sean Carter (known to most as Jay-Z ) is an actual genius; at the age of 7 he could read at fifth grade level. His interviews with the New York Times (who interview him practically every weekend and publish at intervals) reveal a highly analytical intellectual.

Mos Def, Roots, Wyclef, Public Enemy, KRS-ONE (and the BDP crew) and Tribe Called Quest are also very intelligent and cerebral bands/artists. But the ones I think most would be most surprised by are individuals like DMX, Busta Rhymez (who''s a freakin'' genius) , Jadakiss and Puff Daddy. In the words of MTV''s Diary series, "you think you know, but you have no idea."
[/offtopic]



I wanna work for Microsoft!

Share this post


Link to post
Share on other sites
Ok, since you all are busy arguing, i will be the first to give an intelligent response to this topic.

I can cover the first two, simple, but the last two are too hideous to be done in 2D (rotation in 2D? Are you CRAZY???). So here they are:

1. You can incorporate a tile-based system on the foreground. Each tile would be about 4 pixels wide. The data represented in each title will be either ''damaged'' or ''undamaged''. Furthermore, a specific routine will compare tiles that are next to each other containing the exact same data, and will create an animation accordingly. For example, if an attack affects 3 of the tiles, the routine will test out how many of the tiles are affected and will choose the correct animation accordingly. The routine will also compensate if attack effects ''overlap'' each other so that animations won''t look garbled.

2. This one is simple as well. All you have to do is create routines to handle both the foreground and background animations and how they react to each other (tornados, etc.) Then combine it all into a function such as RenderFrame(). This way both the background and foreground will be affected frame-by-frame (if anyone knows how to multitask without having to go frame-by-frame please tell me). This will conserve memory in that for each frame rendered, the previous frame will be unloaded. This means the only things in memory will be the current screen, all object postions, and variables to keep track of how each object will be affected in the next frame (linked-lists work wonders in these areas, although dynamic arrays are a suitable substitute).

Hope this helps. As for the other two, I have no idea how you will pull that off in 2D. On #4, maybe a enumerated set of shadow positions can be used in relatiojn to sun position. yet, the definitions would be so numerous you wouldn''t be able to keep track of them (again linked-lists work best)

Also, i''m assuming you''re doing this in C++, as that is where i am basing these explanations.

Share this post


Link to post
Share on other sites
Yeah, that''s good.
I have no idea what language, but I get the concept that''s koo.
As far as the last 2 questions, I''m not thinking about how hard it is lol. Diffuculy is nothing, it''s about doing it. The way to do it will reveal itself. I''m trying to make so animated the game project would be like a movie project, as far as the amount of work, time and money nessessary.

And for that comment on Em. His lyrics are super ill. He''s a creative genius.



Share this post


Link to post
Share on other sites
Guest Anonymous Poster
If you say so, here goes:

Problem 3: In order to pull off something like this, you''ll probably need a linked-list set for each sprite. For example, a sprite definition for a fighter would include all the different sprite sets needed for the various animations. Each sprite set would be a frame in the animation, and each set will contain an extreme number of sprites, one for each possible position in a 3D rotation algorithm. The background and foreground as well will be set up in this fashion, while the RenderFrame() function earlier stated will include a variable that states the current angle perspective, and will use it when identifying the current sprite to use. therefore, instead of keeping track of each individual sprite rotation, the one variable will identify which rotation for every single object in the game. As for keeping track of object collison and sprite positioning, that can also be changed depending on the rotation angle, as there are many mathmatical equations for translating 2D lines to different angles. That is the best I can give you for now.

As for problem 4, look at my earlier post for the best explanation i can think of for now.

Share this post


Link to post
Share on other sites
What is your reason for wanting to do this in 2D instead of 3D?

I won''t call you an idiot, as others have done, but you''re trying to fit the wrong tool to this problem. And for what advantage?

It wouldn''t run better on older computers because you''d have to swap so much 2D art in and out of main memory and the framebuffer that the thing would run extremely slow on all but the latest systems...which of course have 3D accelerators.

You certainly wouldn''t be making the artist''s life easier...If the artist hand-draws each frame, that would take months for each character, and would be extremely tedious (ok, let me draw the same guy I drew last time, but try to offset him 1 degree around Y, ok same thing but spun one degree around Z so the camera can roll...ok same thing...but you get the picture. Unless the artist used 3D tools to prerender (in which case why not just use those models in-game?) it would take forever and be absolutely NO FUN.

You''re much better off doing everything in 3D and making creative use of shaders and tricks such as NPR/cel-shading.

Either that or if you''re really hard up for hand-drawn art, do a traditional 2D fighter ala SF2. You could easily implement some cool zooming and rotating features like the SNK games had, but keep everything on a 2D plane.

Share this post


Link to post
Share on other sites