Really important question I could use help on with game development.

Started by
46 comments, last by Zahlman 12 years, 11 months ago

That sounds a little misleading though... Libraries that'll work out problems for you?


Yes. Not misleading at all unless you don't honour all the licences.

How are you actually programming then if all these "libraries" are going to complete a lot of the work for you?


Programming game play is harder than you think, especially crazy FF7 game play.

That would feel as if you're doing work that's already been arranged for you perfectly and even completed somewhat. I find that appalling because in the good old days the work was harder but you felt like you were actually doing the "work", you know?


I do understand, and I have to agree that it's good to do the 'work' and understand how things work under the hood. However unless you have a thirst of knowledge and not just want to make a game it's kind of a waste of time making a complete game engine yourself.

Even though nowadays there's some workarounds that may be more logical, it just doesn't have the same "feel" of creating a game yourself. Sure, "re-inventing the wheel" may be harder but it's always going to be more appreciated in the end. That's like saying someone building a car out of pre-assorted parts is more appreciated than someone who builds the same result of a car from scratch, no pre-assorted parts and starts from the ground up. The one who started from the ground up will get the feel of actually making the car and will feel most completed at the end, even if harder by a long shot.


No-one would be able to tell if you made it in DX9\C++ compared to Unity3D except the fact that one took 1/20th the time of the other. No one here cares whether or not you use libraries, just trying to suggest ways you can finish your goal quicker. Even if you just use the libraries to develop the game play you can remake your own later.

Plus, to make a game exactly like FF7 it'd be close to impossible without tons of workarounds to make the game flow and logic much slower, low-poly and no tessellation at all plus stencil buffers and low-quality graphics. It'll seem almost like DirectX 9 is too powerful, in some ways, without some amazing knowledge on how to re-create the "past"....


Incorrect. That problem is easily fixed, delta time or frame limiting or both. DirectX doesn't really create the problem, really good GPUs do.

Final Fantasy 7 was developed from 1994-1997. Three years! They had five programmers on the team, alongside numerous asset creators. These were also professionals. Think about it and make your own judgement.

FYI: FF7 is my favourite game, with Sephiroth being my favourite character.

Engineering Manager at Deloitte Australia

Advertisement

That sounds a little misleading though... Libraries that'll work out problems for you? How are you actually programming then if all these "libraries" are going to complete a lot of the work for you? That would feel as if you're doing work that's already been arranged for you perfectly and even completed somewhat. I find that appalling because in the good old days the work was harder but you felt like you were actually doing the "work", you know? Even though nowadays there's some workarounds that may be more logical, it just doesn't have the same "feel" of creating a game yourself. Sure, "re-inventing the wheel" may be harder but it's always going to be more appreciated in the end. That's like saying someone building a car out of pre-assorted parts is more appreciated than someone who builds the same result of a car from scratch, no pre-assorted parts and starts from the ground up. The one who started from the ground up will get the feel of actually making the car and will feel most completed at the end, even if harder by a long shot. Plus, to make a game exactly like FF7 it'd be close to impossible without tons of workarounds to make the game flow and logic much slower, low-poly and no tessellation at all plus stencil buffers and low-quality graphics. It'll seem almost like DirectX 9 is too powerful, in some ways, without some amazing knowledge on how to re-create the "past"....


The external libraries don't work out problems for you. They provide more powerful tools, tested and vetted, which allow you to do more things, do them better, and get them working more quickly. You don't mind using C++, even though it inherently handles certain aspects of programming for you. Libraries are no different. Do you feel like a slacker because you haven't coded your own programming language from nothing? I doubt it. DirectX itself is really just a set of libraries. You're having some issues with the difficulty of that-- and when DirectX was first released, programmers thought it was awesome, simplifying huge swaths of the game programming process. Would you be willing to dive into the much, much more complicated task of manipulating the graphics hardware yourself, because you think that the DirectX libraries are making things too easy for you, and taking away the feel of making a game, I mean really making it?

As for working from scratch being more appreciated in the end, BS. The vast majority of people want to use and enjoy a product-- they don't care how it was made, or how hard it was to do. Some more discerning people might be able to notice the work that you've done, but there isn't a lot of respect to be earned by duplicating work that's been done 15 years ago. And don't worry about modern technology being too powerful. You can easily keep it from "running too fast", or whatever other issues you're imagining. It doesn't require tons of workarounds, anything of the sort. When you get better with DirectX (or XNA, or whatever), you'll see that that's the case.

From your above comment, and forgive me if this sounds harsh, you have no idea how difficult it is to make a game. What's the largest program you've coded? I absolutely, pinky-promise, guarantee you that you will get the full "feel" of building a game by building a game, no matter how you go about it. The only thing you'll get from the approach you seem to be taking, assuming that you don't have a better reason for doing so than in your last post, is frustration and failure. You will give up on completing this project, maybe on programming entirely, because it will take vastly longer than you seem to think, and be many orders of magnitude more difficult. It took a team of experienced workers years to make FF7 using the same technology you're aiming to use-- and they weren't learning about graphics programming and game design and coding as they did it.

Ultimately, you're going to go about this however you choose, even if that's an incredibly difficult way. But a lot of people here are giving you the same advice, and suggesting that you use tools which are designed to be used for exactly what you're trying to do. You are clearly a fairly new programmer, and not terribly experienced. Given that, do you really think everyone else is wrong but you?

-------R.I.P.-------

Selective Quote

~Too Late - Too Soon~


That sounds a little misleading though...

If you're just programming for yourself and/or to learn, you can do whatever you want. In just about any other context though, your analysis is wrong.

Libraries that'll work out problems for you? How are you actually programming then if all these "libraries" are going to complete a lot of the work for you?[/quote]
By that logic, the only way to 'actually program' would be (I guess) to build a processor yourself, design the instruction set yourself, and write everything in raw machine code (or something).

No matter what level you work at, there's going to be *some* work that's already been done for you. Otherwise, it'd be nearly impossible to produce anything, ever. Technology being what it is today, to get anything meaningful done, it's usually a requirement that one's work be built on the previous work of others, period.

I find that appalling because in the good old days the work was harder but you felt like you were actually doing the "work", you know?[/quote]
Almost all games are built using at least some existing technology (whether it's a licensed engine, a graphics API such as OpenGL or DirectX, or whatever). It may be that the way games are made has changed somewhat, but you have to remember that the games themselves have changed as well. Today's AAA game is the product of a large team working (in some cases) for some number of years, and that's *still* using existing technology. Creating everything from scratch just isn't practical anymore for projects of that scale (or for just about any project, arguably).

Sure, "re-inventing the wheel" may be harder but it's always going to be more appreciated in the end.[/quote]
By whom? The end user is unlikely to know or care how your game is implemented. If you're working for someone else, it's unlikely they'll 'appreciate' it if you spend a month implementing subsystem X when you could've just used library Y. And most people with experience will be more impressed by your ability to choose and utilize existing tools wisely than to spend great amounts of time re-implementing the equivalent functionality from scratch.

There are certainly cases where doing the kind of work you're talking about is important and/or appropriate, but 'always' more appreciated? No.

Plus, to make a game exactly like FF7 it'd be close to impossible without tons of workarounds to make the game flow and logic much slower, low-poly and no tessellation at all plus stencil buffers and low-quality graphics. It'll seem almost like DirectX 9 is too powerful, in some ways, without some amazing knowledge on how to re-create the "past"....
[/quote]
I'm not completely sure what you mean by all that, but the things you mentioned really shouldn't be issues. (For example, the 'speed' of game flow and logic is completely under your control, regardless of what technology you're using, more or less.)

It's clear you've got some strong opinions, but I'd suggest not getting too attached to them, and instead remaining flexible in your thinking. Developers learn and refine their views on things over their entire careers; if you're just getting started, your views on this sort of thing will likely change over time. Again, one of the nice things about programming for yourself is that you can do whatever interests you and that you enjoy. But practically speaking, using existing tools is not only common and recommended, it's absolutely necessary in many cases if you actually hope to get anything done.
Plus, to make a game exactly like FF7 it'd be close to impossible without tons of workarounds to make the game flow and logic much slower, low-poly and no tessellation at all plus stencil buffers and low-quality graphics.[/quote]

Limiting the speed of "game flow" and "logic" is a few lines of low level code. Low-poly depends of how low-poly you model it. Don't make it high-poly, if you don't want. You don't have to use tessellation, if you don't want to.

It's pretty clear from your posts, that you have next to zero experience and knowledge of programming. So don't make strong statements, because this makes you a troll even if you don't intend to be one.
The fact that ePSXe exists makes this thread moot. It's almost certainly written in C++ and uses supports different kinds of GPU acceleration as a fact.

[quote name='AndyWonHarglesis' timestamp='1303776602' post='4802870']
That sounds a little misleading though... Libraries that'll work out problems for you?


Yes. Not misleading at all unless you don't honour all the licences.

How are you actually programming then if all these "libraries" are going to complete a lot of the work for you?


Programming game play is harder than you think, especially crazy FF7 game play.

That would feel as if you're doing work that's already been arranged for you perfectly and even completed somewhat. I find that appalling because in the good old days the work was harder but you felt like you were actually doing the "work", you know?


I do understand, and I have to agree that it's good to do the 'work' and understand how things work under the hood. However unless you have a thirst of knowledge and not just want to make a game it's kind of a waste of time making a complete game engine yourself.

Even though nowadays there's some workarounds that may be more logical, it just doesn't have the same "feel" of creating a game yourself. Sure, "re-inventing the wheel" may be harder but it's always going to be more appreciated in the end. That's like saying someone building a car out of pre-assorted parts is more appreciated than someone who builds the same result of a car from scratch, no pre-assorted parts and starts from the ground up. The one who started from the ground up will get the feel of actually making the car and will feel most completed at the end, even if harder by a long shot.


No-one would be able to tell if you made it in DX9\C++ compared to Unity3D except the fact that one took 1/20th the time of the other. No one here cares whether or not you use libraries, just trying to suggest ways you can finish your goal quicker. Even if you just use the libraries to develop the game play you can remake your own later.

Plus, to make a game exactly like FF7 it'd be close to impossible without tons of workarounds to make the game flow and logic much slower, low-poly and no tessellation at all plus stencil buffers and low-quality graphics. It'll seem almost like DirectX 9 is too powerful, in some ways, without some amazing knowledge on how to re-create the "past"....


Incorrect. That problem is easily fixed, delta time or frame limiting or both. DirectX doesn't really create the problem, really good GPUs do.

Final Fantasy 7 was developed from 1994-1997. Three years! They had five programmers on the team, alongside numerous asset creators. These were also professionals. Think about it and make your own judgement.

FYI: FF7 is my favourite game, with Sephiroth being my favourite character.


[/quote]


I realize the difficulty, but I don't plan on making the whole game from scratch just like that. I actually was intending on working on different parts slowly, such as testing a battle scene like the one I gave in the video. I can make three models, a boss, animate them and load them into mesh and put them to the window(pipeline, right?)and from then on I'll need a little help though. Also, I'm not too good with the whole concept of making a "game engine" from scratch, so any ideas on where to begin there would help.



I realize the difficulty, but I don't plan on making the whole game from scratch just like that. I actually was intending on working on different parts slowly, such as testing a battle scene like the one I gave in the video. I can make three models, a boss, animate them and load them into mesh and put them to the window(pipeline, right?)and from then on I'll need a little help though. Also, I'm not too good with the whole concept of making a "game engine" from scratch, so any ideas on where to begin there would help.




I would highly suggest you look into something like gamemaker, or atleast unity. I know you have some strange fixation on doing everything by hand (even though you just ask everyone to hold your hand the whole way), These tools are going to make doing what you're wanting to, a hell-of-alot easier.
[ dev journal ]
[ current projects' videos ]
[ Zolo Project ]
I'm not mean, I just like to get to the point.
And yes, I am amateur compared to professionals that made FF7.

That doesn't mean in any way that I can't manage to get SOMETHING done in several months, even if it's just a crappy little copy of a battle scene.

One fast typing, excellent programmer and graphics designer could probably make the whole battle scene I showed you in less than 3 months, perfectly exact almost.

I aim to get there one day!

To make this whole game would, regardless of skill, by one person, take at least a few years... But if I can manage it I would feel very accomplished and I find the years of torture worth it if I get endless hours of game play, appreciation and acknowledgement of my work and the feel of creating everything from little more than a few libraries and a computer processor + operating system(I plan on making an OS myself one day as well, but a small one).

However, due to excessive complexity in many graphical-related concepts and control over FF7 battles, I'd inevitably need TONS of tutorials and practice to even come close to generating a perfectly exact battle scene like that.
I would highly suggest you look into something like gamemaker, or atleast unity. I know you have some strange fixation on doing everything by hand (even though you just ask everyone to hold your hand the whole way), These tools are going to make doing what you're wanting to, a hell-of-alot easier.[/quote]

Game Maker? That's not only insulting but insufficient for massive 3D games.

Besides, I've worked in Game Maker before... It's highly-limited, 2D only and somewhat too easy in some ways, plus I'm not paying money to gain full access because DirectX/OpenGL actually are free and sufficient to get any job done.

Game Maker is for absolute beginners, not just amateurs.

And, like I've said before, with the capability of doing hard work I could care less how difficult it is(once I manage to do it efficiently and productively).

I just CAN NOT start working on a game with pre-made engines, I can't... Only for like practice, but if I set my sights on a project, begin working, I just can't allow myself to use a pre-made engine. I'd have to one day learn from tons of practice how to make them myself.

Then again, at this level, I might have to use pre-made engines, at least for testing... That is, only for 3D games.


[color="#1C2837"]It's clear you've got some strong opinions, but I'd suggest not getting too attached to them, and instead remaining flexible in your thinking.[/quote]


NO MATTER how great I may become at programming, my original opinions will never change. I may take them in a different direction somewhat, but what I believe is what I believe. And that's correct, mostly. I do not EVER give things out and change them, I just may work them into better explanations that I once wasn't so good with. But one thing you'll NEVER find me doing is changing my opinions altogether. Never.

I would highly suggest you look into something like gamemaker, or atleast unity. I know you have some strange fixation on doing everything by hand (even though you just ask everyone to hold your hand the whole way), These tools are going to make doing what you're wanting to, a hell-of-alot easier.


Game Maker? That's not only insulting but insufficient for massive 3D games.

Besides, I've worked in Game Maker before... It's highly-limited, 2D only and somewhat too easy in some ways, plus I'm not paying money to gain full access because DirectX/OpenGL actually are free and sufficient to get any job done.

Game Maker is for absolute beginners, not just amateurs.
[/quote]


Planning sessions for Final Fantasy VII began in 1994 after the release of Final Fantasy VI. At the time, the game was planned to be another 2D project for the Super Nintendo Entertainment System.[sup][39][/sup] Series creator Hironobu Sakaguchi intended the story to take place in modern New York City in the year 1999. Several of the staff members were working in parallel on Chrono Trigger, and development for Final Fantasy VII was interrupted when the other project became significant enough to require the help of Yoshinori Kitase and other designers. Some of the ideas originally considered for Final Fantasy VII ended up in Chrono Trigger instead. Other ideas, such as the New York setting and the sorceress character Edea, were kept unused until the later projects Parasite Eve and Final Fantasy VIII respectively.[sup][40][/sup] The original script of Final Fantasy VII, which was written by Sakaguchi, was completely different from the finished product. Tetsuya Nomura recalled how Sakaguchi "wanted to do something like a detective story". The first part of the story involved a "hot blooded" character named "Detective Joe" who was in pursuit of the main characters. The main characters managed to blow up the city of Midgar, which had already been developed for the story.[sup][41][/sup] The final scenario was written by Kazushige Nojima and Kitase, based on the story idea by Sakaguchi and Nomura.[sup][1][/sup] Masato Kato was brought into the project later and wrote three scenes for the game.[sup][42][/sup]

Development of Final Fantasy VII resumed in late 1995,[sup][30][/sup] and required the efforts of approximately 120 artists and programmers, using PowerAnimator and Softimage|3D software.[sup][43][/sup] It was the most expensive video game in its time, with a budget of around US$45 million,[sup][44][/sup] equivalent to $62 million in 2011.[sup][45][/sup] Final Fantasy VI's co-director and scenario writer, Kitase, returned to direct and co-write Final Fantasy VII and was concerned the franchise might be left behind if it did not catch up to the 3D computer graphics used in other games at the time.[sup][46][/sup] Production began after the making of a short, experimental tech demo called "Final Fantasy SGI" for Silicon Graphics, Inc. Onyx workstations. The demo featured polygon-based 3D renderings of characters from Final Fantasy VI in a real time battle.[sup][47][/sup] This experiment led the development team to integrate these design mechanics into Final Fantasy VII. However, as a result of the high quantity of memory storage required to implement the motion data, only the CD-ROM format would be able to suit the project's needs.[sup][30][/sup] Nintendo, for which Square had developed all previous titles in the Final Fantasy series, had decided to continue to use cartridges for its upcoming Nintendo 64 console. This eventually led to a dispute that resulted in Square ending its long, tumultuous relationship with Nintendo, and Square announced on January 12, 1996 it would be developing Final Fantasy VII for Sony's PlayStation platform.[sup][48][/sup]

The transition from 2D computer graphics to 3D environments overlaid on pre-rendered backgrounds was accompanied by a focus on a more realistic presentation. While the extra storage capacity and computer graphics gave the team the means to implement more than 40 minutes of full motion video movies, this innovation brought with it the added difficulty of ensuring that the inferiority of the in-game graphics in comparison to the full motion video sequences was not too obvious. Kitase has described the process of making the in-game environments as detailed as possible to be "a daunting task".[sup][30][/sup] The series' long-time character designer, Yoshitaka Amano, was busy opening art workshops and exhibitions in France and New York, which limited his involvement in the game. This issue was addressed by assigning Tetsuya Nomura as the project's main artist, while Amano aided in the design of the game's world map.[sup][9][/sup]

Nomura has expressed that Final Fantasy VII was hindered by graphical limitations, and as such his designs were very plain in comparison to his real style. Cloud's original design of slicked back black hair with no spikes was intended to serve as a contrast to Sephiroth's long, flowing silver hair. Nomura feared that such masculinity could prove to be unpopular with fans, and therefore he changed Cloud's design to feature a shock of spiky, bright blond hair. Tifa's outfit with her dark miniskirt was designed to contrast Aeris's long, pink dress. Vincent's character developed from horror researcher to detective, then to chemist, and finally to the figure of a former Turk with a tragic past. Nomura has indicated that Cid Highwind's fighting style resembles that of a Dragoon Knight, a character class which was chosen because his last name is the same as that of two previous Dragoon Knights featured in the Final Fantasy series, Ricard Highwind of Final Fantasy II and Kain Highwind of Final Fantasy IV.[sup][9][/sup]

In early August 1996, a demonstration disc called "Square's Preview Extra" was released in Japan as a bonus pack-in with the PlayStation game Tobal No. 1. The disc contained the earliest playable demo of Final Fantasy VII and previews of other upcoming games such as Bushido Blade and SaGa Frontier. The demo allowed players to play through the first part of Midgar. However, there were some noticeable differences from the final version, namely that Aeris was featured in the initial party and that the ability to use Summons had not yet been implemented.[sup][49][/sup]

The game's release in North America was preceded by a massive three-month marketing campaign, which consisted of three 30-second television commercials on major networks, a one minute long theatrical commercial, a holiday promotion with Pepsi, and printed ads in publications such as Rolling Stone, Details, Spin, Playboy and comic books published by Marvel and DC.[sup][50][/sup] Several additions to gameplay and story were made for the game's North American release, such as easier exchange of materia, arrows highlighting exits on field screens,[sup][7][/sup] and an extra cutscene, prompting a re-release in Japan under the title "Final Fantasy VII International".[sup][51][/sup] In 1998, Final Fantasy VII was ported to Windows-based PCs. This re-release featured smoother graphics and fixed translation and spelling errors, as well as gameplay-related glitches. However, the PC version also suffered from its own bugs, including errors in the display of some full motion videos when rendering in hardware mode on certain graphics chipsets.[sup][52][/sup]

[/quote]

4 years for 120 people to make the game from scratch to completion. I'm proud you're so motivated to accomplish your goals, but I feel you're going about this all wrong.





Also game maker can do 3D, though poorly, it's actually along the same lines as what they were able to do with the psx. If you're really not willing to use other tools, Id once again highly suggest you go back to the basics. You're throwing around alot of statements that make it very clear you aren't ready for such a task.


Answer this... what knowledge of programming do you have right now? What programs have you written so far?


[ dev journal ]
[ current projects' videos ]
[ Zolo Project ]
I'm not mean, I just like to get to the point.

This topic is closed to new replies.

Advertisement