| 45 posts found | |
|---|---|
|
11/28/09 4:36:44 PM#21
Originally posted by jeremywilms
Secondly, when you're writing a game, it's ridiculous to try and write your own physics and\or graphics engine. It would take years, even with a team of a couple people. Writing a game engine using existing Physics, Graphics, and networking engines alone is very possible(provided you eventually recruit people to handle areas you can't quite manage alone). Writing an MMORPG engine would be a difficult thing to do alone, but a not impossible(Just don't expect a WoW). I don't completely agree with this. Basic engines aren't difficult to write at all, in fact my friends and I recently created a solar system simulation based on real physics, and we finished it in 2 hours. Granted we're computer scientists, but an engine is only as difficult as you want it to be. Will a single person be able to create a UT3 type game engine? No way. But he could definitely make a very basic engine without much effort. All in all however, it all comes down to how experienced you are in a field and how interested you are. Something can seem very hard for you but trivial to others, and in a field like programming, well there are endless amounts of tasks for which to program. |
|
|
11/28/09 4:38:24 PM#22
I'd say content is the biggest and most time consuming part of any MMO. On a programming stand point, I believe resource management and rendering character models in many different arrays of clothing and equipment would be pretty tough. At least if you want to keep a decent frame rate with many players on-screen. |
|
|
11/29/09 2:41:22 PM#23
Originally posted by nightbird305 I don't completely agree with this. Basic engines aren't difficult to write at all, in fact my friends and I recently created a solar system simulation based on real physics, and we finished it in 2 hours. Granted we're computer scientists, but an engine is only as difficult as you want it to be. Will a single person be able to create a UT3 type game engine? No way. But he could definitely make a very basic engine without much effort. All in all however, it all comes down to how experienced you are in a field and how interested you are. Something can seem very hard for you but trivial to others, and in a field like programming, well there are endless amounts of tasks for which to program.
The problem is, a solar system simulation is very simplistic. Spheroids orbiting around, maybe a camera attached to a static ship model. Comparatively, even the simplest of MMORPG engines - say, everquest 1 - are very complicated. You've got vast outdoor environments that need to be loaded piece by piece, you've got player models which must be animated, you've got to have some kind of scripting language support for quests and events and whatnot, you've got to have a client-server network setup,.. There's a LOT involved. The only thing people can do to remove any difficulty is to go with 2D graphics, which allows you to focus on network/quests/etc. |
|
|
11/29/09 2:41:22 PM#24
Originally posted by nightbird305 I don't completely agree with this. Basic engines aren't difficult to write at all, in fact my friends and I recently created a solar system simulation based on real physics, and we finished it in 2 hours. Granted we're computer scientists, but an engine is only as difficult as you want it to be. Will a single person be able to create a UT3 type game engine? No way. But he could definitely make a very basic engine without much effort. All in all however, it all comes down to how experienced you are in a field and how interested you are. Something can seem very hard for you but trivial to others, and in a field like programming, well there are endless amounts of tasks for which to program.
The problem is, a solar system simulation is very simplistic. Spheroids orbiting around, maybe a camera attached to a static ship model. Comparatively, even the simplest of MMORPG engines - say, everquest 1 - are very complicated. You've got vast outdoor environments that need to be loaded piece by piece, you've got player models which must be animated, you've got to have some kind of scripting language support for quests and events and whatnot, you've got to have a client-server network setup,.. There's a LOT involved. The only thing people can do to remove any difficulty is to go with 2D graphics, which allows you to focus on network/quests/etc. |
|
|
11/29/09 2:54:28 PM#25
Originally posted by nightbird305
This. I'll code you databases and server-client interactions all day. C++, Matlab, Minitab, DarkBasic all day! Ask me to create a 3d model of a twig? Good luck. You could give me all the right programs (Maya, 3dMax, PhotoSuite) and it would still end up looking like a straight line from MS paint.
Just get your hands dirty and your feet wet. Sample as much as you can from the varied components of game production. There are plenty of free or nearly-free top-of-the-line programming suites and engines you can get your mits on, but if you want anything 'nice' as far as graphics go, you're going to be shelling out 4 digits at a minimum for any of the licenses. |
|
|
arieschild
Novice Member
Joined: 7/05/09
"Shoot the rider not the Horse, a dead horse is cover and a scared horse is a whole lot of panic." |
Many of you have stated that a single person can not determine what the most difficult thing to code is. I agree and I also knew this when the thread was started. I dislike using real world examples but here I think it applies, A master carpenter is most likely not the worlds greatest cake decorator, or astrophysicist. I do find it a bit amusing that no one has said anything about Content development. That is something that I was honestly expecting to have seen listed in here. While novels are written and published all the time, content and 'quests' seem to go largely unnoticed by the masses of people that both make the games and play the games. Why is that? Why is content so underrated that people don't seem to notice when a exceptionally good story is written out? Every one knows when a 'quest' is done poorly, but why not take notice of exceptionally good content development? If you build it, let others tear it apart so you can make it better. |
|
11/29/09 3:40:12 PM#27
Originally posted by Zoulz I actually did. :) |
|
|
11/29/09 4:11:17 PM#28
Content isn't the hardest part, it's the longest part. Most level editors, map designers, scripters, or quest writers could "barely" code themselves out of a paper bag. However that's not a bad thing, it just means they have a very different skill set. Even super awesome dynamic content is more "heavy programing skill intensive" engine side than it is content side. |
|
|
arieschild
Novice Member
Joined: 7/05/09
"Shoot the rider not the Horse, a dead horse is cover and a scared horse is a whole lot of panic." |
Originally posted by Zoulz I actually did. :)
I am sorry; I must admit that I stand corrected. If you build it, let others tear it apart so you can make it better. |
|
11/29/09 7:55:13 PM#30
"Hardest thing to code?" The Artificial Intelligence by far. |
|
|
12/09/09 8:58:58 PM#31
Originally posted by nightbird305 I don't completely agree with this. Basic engines aren't difficult to write at all, in fact my friends and I recently created a solar system simulation based on real physics, and we finished it in 2 hours. Granted we're computer scientists, but an engine is only as difficult as you want it to be. Will a single person be able to create a UT3 type game engine? No way. But he could definitely make a very basic engine without much effort. All in all however, it all comes down to how experienced you are in a field and how interested you are. Something can seem very hard for you but trivial to others, and in a field like programming, well there are endless amounts of tasks for which to program. I don't know what you consider a game engine, but I imagine they're fairly generic, I.e you can create an RTS and a FPS with the same engine. You must have been using some damn powerful SDKs with some messy code to get a game engine up in two hours. I think your mistaking the terms game engine and game. I've been working at my engine for about 7 weeks, 4-6 hours a day(granted I'm working on it alone) and even with a powerful physics and graphics engine, I'm just finishing the base now. |
|
|
12/09/09 11:01:30 PM#32
For me the most difficult thing in games programming is the tedium of implementing so many arbitrary specifications that have no overall structure to make their description more concise. The reason that programming a model of the solar system is easy, depending on the desired accuracy in the results, is because the dynamics of the solar system can be described in an extremely concise way. The reason this is possible is because the thing we are simulating has a rich mathematical structure that we understand: either integrate the equations of motion (essentially derived by Newton's law of gravitation), or just directly implement the elliptical trajectories with the correct aspect ratio given by data from NASA, etc (incidentally this latter method will be more accurate unless you are an expert at numerical analysis).
In contrast, the computer instructions for a game typically look like this: Initialize. Now If the player does A1 and B1 is currently the case, then show the player C1 and do D1, but if...*millions of if/then clauses* Sure there are ways to deflate the syntax, that's not the point, the point is that so many conditionals have to be manually specified. This is because the conditionals have no structure to take advantage of. Consider how a simple rule "take each number to its square" can replace an infinite set of conditionals: "if the number is 2, output 4 but if the number is 3 then output 9, but if..." Imagine if people got enjoyment out of this squaring game, like playing with a calculator: the player hits a button which inputs a number, and delight ensues when they see the output. Lately (since I started lurking these forums) I have been approaching the "make my own MMO" drive in this way: to use mathematical structure to create sandbox-type systems which admit a concise description by the programmers, but which deliver unending opportunities for satisfaction and non-repetitive progression to the players. Something that is in between Tetris and Conway's game of life. Cryptic is trying a Customer Development approach to MMO creation. |
|
|
12/17/09 6:35:27 PM#33
Most every game has a basic structure. This structure is burned into every game, every gamer and would be developer. Classes, levels, finite quests, raid content and so on. Some but not all of these developers use a least one of these structures. You may argue that sandbox games don't but if you look at how they are actually designed, ie.. skill system is part of game mechanics the skill system is hard-coded into the game where a player reached a maximum at some point. open worlds are still finite, you eventually hit a boundary and can not cross it, and quests have one to three possible outcome. The meat of the game is group centric. It is burnt in so deep that no developer can see past it. The hardest thing to code for a developer is to break the mold of this structure. |
|
|
5/12/10 11:45:55 PM#34
Originally posted by Barrikor Not really. Boot loaders are pretty simple. In fact they are amazingly simple. They basically just tell the BIOS to start loading the kernel at a given address, set up some of the basic hardware and hand over to the kernel which then does the real work. Writing a kernel; now that is hard. |
|
|
6/18/10 11:20:52 PM#35
I've been doing the game programming for ten years now. MMORPGs is a half of it. The hardest thing in programming is people. |
|
|
6/18/10 11:40:07 PM#36
I never made it very far in math, so even though I've been programming for a few years I'd say either creating your own 3D graphics engine and physics systems from scratch. Luckily, there's pre-made free libraries/engines for me to use for these things. I always think that I'd never be able to get a job game programming because I can't create my own 3D graphics engine and realistic physics engines from scratch. Human like AI is probably pretty hard too, I've only made some real simple AI though.
I think once you learn the basics of programming, you'll be able to do the game-level logic pretty easily, and just use pre-made libraries for the harder stuff, that's pretty much what I do.
Making your own MMO isn't totally out of reach, with in mind it definetely won't be AAA quality, but I'd think it's possible to at least have some form of MMO even within a year or two for you, granted you use the most pre-made libraries you can. |
|
|
6/18/10 11:56:23 PM#37
Originally posted by arieschild Well, programming is something that is really hard in the beginning, but after a while (differs how long) you hit the point where everything gets a lot easier. But it also depends a lot on which lanuege you use. Unfortunatly is C++ the one that gave me most grey hairs, it takes some time to get into it and if you don't use it for a while you forget it fast. But I guess that differs from person to person. Just start small, starting with a MMO might be tempting but isn't a good idea. Do something small and Diablo like first to learn the basics. Some simple 2D graphics and use it to test your ideas. And don't forget to comment what you are doing, if you actually get that MMO you will most likely do it together with some other programmers and it is really crap to try to figure out another persons code without any keywords here and there. Anyways, not many good advices from me, I mostly coded small useful programs myself, but keep on working, thats the only way to be good at anything. The Beatles wasn't great suddenly, it took more than 10 000 hours of training to be that great, and same goes for anything. Just have patience :) |
|
|
6/25/10 9:14:19 AM#38
The player class. As about 90% of everything depends on it. |
|
|
6/30/10 4:16:48 PM#39
Server scalability and security. Googling 3D, AI, Sound, Collision, Physics will get enough results to get you started, but creating a server cluster that does not boggle your bandwidth and CPU after 100 players are connected or preventing cheats like speed and wall hacks is a real pain in the #$#.
|
|
|
6/30/10 7:04:12 PM#40
Originally posted by kinix Any distributed system in general is incredibly hard to program. Just keeping all the different nodes of a distributed system in sync requires a fair amount of work and one that is most certainly not trivial. |
|