Sign in to follow this  
Gardon

Ewww.... I just played the original Diablo

Recommended Posts

And, it sucked! "Hell no", I said, and I turned off the game 3 minutes after I installed it. It was horribly jerky, and he wouldn't walk in one direction (I guess the isometricism keeps him from doing that). Are all games that are isometric like that? I've never realized that before, but man, that was annoying! Any hints on how to make an isometric game look cool? Or should I just stick with the boring 2d shizznik. Or maybe go way over my head and do 3d, who knows. Do you guys know what runescape is in? www.runescape.com Is that isometric, or a very-low leveled 3d? Thanks, Gardon

Share this post


Link to post
Share on other sites
As far as I'm aware, the original Diablo was not '3D' in the way that the term is currently taken to mean, nor was its sequel (although you could switch some 3D-accelerated effects on).

The first one would have had significantly more limitations to its game model, which is probably why it didn't respond in the way you expected. But in Diablo 2 you can see that those limitations aren't necessary just due to the view.

If you weren't impressed by Diablo (which was a masterwork of a game at the time), then you probably don't want to embark on a non-3D isometric-view game. In many ways, working directly with 3D is a whole lot easier than trying to create the illusion with 2D images. With 3D you just create the models and animations, then setup the camera/view - 3D hardware and dedicated libraries do most of the work for you.

Share this post


Link to post
Share on other sites
Let me re-phrase my statement:

The original diablo kicked so much ass when it came out... it was the best thing on the market.

However, now, like 6 years later, I'm going back to it from a game development perspective, and it's not at all what I'm looking to make.


I'm a newbie game programmer. I don't want to rush something, such as 3d, without making a 2d game first.

But you see, I'm very goalful (word?). I can't just settle for something like zelda. I have to make something rock. That's why I'm thinking of isometrics, because it seems cooler than games like zelda.

Or should I just scrap it and try 3d?

Thanks,

Gardon

Share this post


Link to post
Share on other sites
I want to use sprites (damnit! everything is so hard), mostly because I don't legally have a 3D modelling program that I could use to distribute my product. Arg, so much stress and detailing shit. I just want to be able to make a cool looking game, with a little character on the screen.

go to:

www.runescape.com

and look at runescape classic (the game I played about 5 years ago). Now that game totally kicked some ass.

I wanted something like that, but not in Java (hell no) and make it more smooth.

Do you see what I'm saying, that size of character, with that view of the world, but better.

Something looking like that,

Gardon

Share this post


Link to post
Share on other sites
If you're new, I challenge you to have a second look at 2D, and to get so good at it that you can eat problems like asset loading, race conditions and game design itself for breakfast.

A game won't be boring because of the technology used to present it, it will be boring because of how it's designed. I've seen Resident Evil made into a versus card game that was fast and fun.

EDIT: Also, given your last post, I'd have to stress patience. You need enough experience to be able to ask the right questions. Anything worth making is going to be hard, but if you just get pissed off and frustrated, you won't make anything. Have a look at the resources around here. Also, look into Wings3D if you still want 3D, it's a good 3D modeling program friendly to non-artists (I picked it up in no time).

Share this post


Link to post
Share on other sites
Quote:
But you see, I'm very goalful (word?). I can't just settle for something like zelda. I have to make something rock.
If, as a self-proclaimed "newbie game programmer" could make something even close to Zelda, I would be extremely impressed. I think you're trying to run before you can walk - start on the basics first, it's actually a lot harder than it appears.

Share this post


Link to post
Share on other sites
Is there any way to have a 3d looking character on an easy to make 2d terrain (tile based perhaps)?

Just a thought. I spent all this time working on this guys animations, and now I have to make a lower looking guy.

Gardon

Share this post


Link to post
Share on other sites
Quote:
Original post by Gardon
However, now, like 6 years later...

More like 9 years. [smile]
Diablo came out in 1996 as far as I recall, and Diablo II in 2000.

Share this post


Link to post
Share on other sites
Quote:
Original post by Gardon
Is there any way to have a 3d looking character on an easy to make 2d terrain (tile based perhaps)?


Yes. The Diablo 2 Postmortem (gamasutra registration may or may not be required) might give you some ideas.

Share this post


Link to post
Share on other sites
I'm not sure why everyone has this crazy idea that starting with 2D is easier. Especially as an indie developer. Even with the free modeling programs, there is infinitely less work than drawing hundreds or thousands of sprites.

Unless you have severe math skill problems, using the latest APIs will allow you to jump directly into 3D. 2D development will end up having you use hacks and work-arounds to make everything fit together. Once you nail the foundation down for a 3D engine, you don't have to worry about limitations anymore either. And trust me, if you start with 2D, you'll find almost nothing but limitations.

With all of that said, 2D games are my favorite. I plan on seriously moving into 2D some day when I get better [wink]

Share this post


Link to post
Share on other sites
You know, I think you're right.

However, if properly equipped, 2D probably would be easier to program. It's just that it's so outdated and no one really makes them anymore (professionally). But don't forget, technology advanced, so someone had to put in the effort to make a modelling program, which is like loading hundreds of sprites.

As far as gameplay is concerned, I'm pretty sure 2d would be easier to implement, but as a whole, I think you're right Jiia.

Gardon

Share this post


Link to post
Share on other sites
Well, making 3D games is generally an order of magnitude harder for beginners, because adding the concepts of 3D math, model loading and rendering, control mechanisms, etc, to the list of things that you need to learn just starting out is quite an additional leap.

If you're new to games programming, don't start by making up your own game. Take a traditional, turn-based game that you know really well (like chess, draughts, poker, etc) and try to implement it as a computer game.

Find yourself a toolkit that you like and learn it. You'll need to get comfortable with art and code production pipelines. You might want to learn by starting at a low-level and picking up some basic toolkits (Python with PyGame, or C++ with SDL are awesome toolkits), or you might want to pick up a fully-fledged engine and run with that (Allegro is a personal favourite, and Torque 2D is mind-blowing).

The thing is, if you're starting, start small. Unless you're an experienced programmer and you know your production pipeline well enough that you don't need to refer to documentation, trying to tackle a larger project is going to slow you down.

The hardest thing in making a game is motivation. When you take on too ambitious a project, making little progress eats away at motivation at an astonishing rate.

Good luck, because once you start making games, it's very, very addictive. :)

Share this post


Link to post
Share on other sites
I disagree, I find 2D to be much easier to work with. Animation can be a pain but a good designer designs around his limitations anyway. With 2D I have "unlimited" detail and can come up with any visuals I want. With top-down 2D everything is easy and even fun to program. Isometric is something I'm not very interested in, one might as well use 3D for that. Fake voxels, on the other hand, are where the hacks come in. Most of my code consists of 'hacks and work-arounds'. It all depends on the look you want for your game, amateur developers ignore that too often. Their games lack harmony, everything's clashing with everything else on the screen.

Share this post


Link to post
Share on other sites
Quote:
Original post by Jiia
I'm not sure why everyone has this crazy idea that starting with 2D is easier. Especially as an indie developer. Even with the free modeling programs, there is infinitely less work than drawing hundreds or thousands of sprites.

Unless you have severe math skill problems, using the latest APIs will allow you to jump directly into 3D. 2D development will end up having you use hacks and work-arounds to make everything fit together. Once you nail the foundation down for a 3D engine, you don't have to worry about limitations anymore either. And trust me, if you start with 2D, you'll find almost nothing but limitations.

With all of that said, 2D games are my favorite. I plan on seriously moving into 2D some day when I get better [wink]


You can use DX9 to make 2d games also. So that ease-of-entry that you get in 3d you will get in 2d as well. D3DX has a sprite class that *appears* to make it pretty trivial (though I haven't used it).

2d is (arguably) more technically limiting than 3d, but those limitations reduce the number of things you have to worry/think/design about, which in turns make the overall task easier. Which is why many experienced people tend to suggest starting with 2d. Because newer programmers tend to focus on the "renderer" as the "engine". Which is not true - there's much more code involved in the rest of the game engine than there is in the rendering code.

Writing a full game is more important than writing a nice renderer. If you want to be ambitious in a more useful way, make your game 2d, but abstract it in a way that you could just plug in a 3d renderer at some point with little or no effort. Then don't let yourself indulge in playing with 3d rendering (because it's fun) until you've written a save/load system, a user-configurable input system, a data-driven GUI, a solid AI, a 5.1-compatible sound system that supports occlusion/doppler/EAX, a scripting language and integration between scripting and GUI, a memory manager that has specialized allocators per resource type and provides external logging and replay for debugging memory fragmentation, a networking system that will enable a 16-player game to update at 60Hz... then you can think about starting figuring out how to redesign your resource system so that you can stream the world in as you run around.

The list goes on and on. And once you have proven that you're capable of those kinds of things, you can pretty much get hired anywhere. Whereas the guy who comes in with nothing but a graphics demo that has all the latest doodads and global illumination and a full GL/DX rendering pipeline will have a much harder time because game companies don't hire "renderer programmers".

Anyway, It's just my personal experience (YMMV) that all of those things have been MUCH MUCH more valuable to me professionally (and personally) than any of the rendering fun I've had on any platform.

But it definitely was more fun on a day-to-day basis to write shaders :)

PS: achilles_ is exactly right. Shaders are fun to write because you get lots of visual feedback of your progress. Writing a localization system is not as rewarding because you not only don't see it come online until the whole thing is finished, but you don't really realize what works and doesn't until the game ships. Definitely go for the momentum of progress as achilles_ suggests... but I still advise against being too graphic-focused.

Share this post


Link to post
Share on other sites
So josh, do you think I should focus on 2d, and work on "the essentials" as you mentioned? I mean sprites are annoying to draw, but I guess it's easier than working 3 dimentionally.

But then again, I have to draw the sprites and tiles and everything. And I'm no artist.

What to do....

Big G

Share this post


Link to post
Share on other sites
I really think you need to just draw some shapes and move them around. Make it so they can shoot. Then add some walls, which will just be squares. Then add some other shapes that will run around and shoot at you. Add collision detection so things don't go through each other. You won't need sprites or animation.

Realize that your first game won't be groundbreaking. Nor will your second, or third, or fourth...just try to have fun.

Share this post


Link to post
Share on other sites
Lol thanks again aaron.

I'm just so confused about what I want to see, vs. what I'm supposed to see at my current skill level.

Again, I just made a character (with great help from Aaron), and got him to walk, run, swing, go into a stance. But, he's in an isometric view, and I'd hate to have to make my own character in 2D mode, after seeing a cool looking 3d model

Dang I really don't know, I'll see what I can do...

Gardon

Share this post


Link to post
Share on other sites
Quote:
Original post by achilles_
Well, making 3D games is generally an order of magnitude harder for beginners, because adding the concepts of 3D math, model loading and rendering, control mechanisms, etc, to the list of things that you need to learn just starting out is quite an additional leap.

Math is the only thing I'll give you. But even that is becoming less important. You need a firm grip on how things work, but rarely will you be required to write your own gritty functions. Model loading is no more complex than bitmap loading. And modern day API's will even do it for you. Control mechanisms are much harder in 2D. It's more than twice as simple to convert an analog or WASD system into a direction vector or an angle than it is to some specific game value that represents north or north-west. Do you see where I'm getting? 3D development is natural. Things flow smoothly from one idea to another. There's no use for gimics.

Quote:
The hardest thing in making a game is motivation. When you take on too ambitious a project, making little progress eats away at motivation at an astonishing rate.

I totally agree. Even after making smaller projects, bigger projects still pose this problem. Watch tons of movies and play tons of games that are similar to your design. It works so well for me that I usually stop in the middle of it and open the IDE.

Quote:
Original post by JoshM
2d is (arguably) more technically limiting than 3d, but those limitations reduce the number of things you have to worry/think/design about, which in turns make the overall task easier.

I don't think the types of limitations it poses makes things easier. You have to find more solutions to simple problems. You have a fully qualified game world with very limited graphics representation. Your game world ends up being limited to work with the representation. That conversion is not required for 3D development.

Quote:
Writing a full game is more important than writing a nice renderer. If you want to be ambitious in a more useful way, make your game 2d, but abstract it in a way that you could just plug in a 3d renderer at some point with little or no effort.

That's easy to say. I would be impressed to see a 2D game engine written by someone just starting, which could be plugged into a 3D API. The entire engine would be catered to fixing all of the usual 2D translation problems. Now look at it the other way around. To plug a 3D game into 2D API, the only thing you need is a stable camera.

Quote:
Whereas the guy who comes in with nothing but a graphics demo that has all the latest doodads and global illumination and a full GL/DX rendering pipeline will have a much harder time because game companies don't hire "renderer programmers".

I'm not sure where you're going with this. My argument is that it's easier to work with 3D game worlds, not renderers. I'm also not saying that an extremely detailed 3D game won't take longer to build than a detailed 2D game. But no-frills 3D game dev time will blow the zippers right off of non-frilly 2D dev time.

Quote:
Original post by infrmtn
Animation can be a pain but a good designer designs around his limitations anyway.

Which is more of a pain. You have to design around lots of problems and limitations. I've been there and done that too many times.

Quote:
With 2D I have "unlimited" detail and can come up with any visuals I want. With top-down 2D everything is easy and even fun to program.

It's fun in 3D too. I'm not sure why you would think there's a difference. As for the visuals, I agree. Sprites can be very beautiful.

Share this post


Link to post
Share on other sites
I'm not sure about Diablo I, but in Diablo II, one thing was obvious: most graphics were done by posing 3D models and using snapshots of them. You mentioned you don't want to "waste" your 3D model by switching to 2D sprites. Well, do what they did in Diablo II and you won't have to.

Somewhere at Blizzard, all of those 3D models are sitting around just waiting to be put into a pure 3D Diablo III game. I wish.

Share this post


Link to post
Share on other sites
@Gardon: I agree with aaron, don't even worry about graphics yet. At least, not until you can't stand it anymore :)

@Jiia:
Quote:

Your game world ends up being limited to work with the representation.

Limitation can breed creativity like crazy. The purpose of the project is not to make the best or even easiest game possible, it's to gain experience.

Quote:

I would be impressed to see a 2D game engine written by someone just starting, which could be plugged into a 3D API.

That's my point - it takes a lot of knowledge to create a system like that. And that knowlege is more valuable than the knowlege of how to get a pre-canned solution up and running.

And if your entire game engine would be affected by the 2d nature of the world, then you're probably doing something wrong.

Quote:

But no-frills 3D game dev time will blow the zippers right off of non-frilly 2D dev time.

I'm assuming that you're suggesting the use of one or more pre-existing engines and libraries in order to achieve this ease of development with 3d content. It would be helpful to me (and others it seems) if you could give more concrete examples of how 3d is so easy, and ways in which you see 2d as more limiting.

If you feel up for it, I'd like you to try and convince me that doing it your way is more valuable experience for a new programmer. Maybe we should take it to a different thread?

Share this post


Link to post
Share on other sites
Quote:
original quote by Gardon
It was horribly jerky, and he wouldn't walk in one direction (I guess the isometricism keeps him from doing that).

That sounds like it wasn't compatible with your system. It runs super-smooth on my computer and I've never had a problem with my character not walking in a direction that wasn't obviously blocked by a wall or something.

2D is horrendously easy if you just stay away from DirectDraw and SDL and use D3D or OpenGL. Start with 2D because if you do it the simple way, you will also be learning to use a 3D rendering API. You can use your 3D models, as well, if you want to, because the API is designed to render them. Just keep the perspective orthogonal. Then, when you make new 3D models, leave the back side blank if you plan to use it in a 2D game. Or, you can make bitmaps and stick them on quads, which is even simpler. To be honest, 2D done this way is not a whole lot simpler than 3D minus shaders and lighting, but it is very easy and bitmaped images are easier to produce than 3D models.

Share this post


Link to post
Share on other sites
Quote:
Original post by JoshM
Quote:
I would be impressed to see a 2D game engine written by someone just starting, which could be plugged into a 3D API.

That's my point - it takes a lot of knowledge to create a system like that. And that knowlege is more valuable than the knowlege of how to get a pre-canned solution up and running.

Then you're totally missing the point. I said it was easier to work with 3D. I didn't say the pay off was better. Not that I agree with what you're suggesting. Most of the knowledge needed is going to change per view persepective. Your side view won't work with your new top-down view. Your top-down designs are most likely not going to fit into an isometric situation. All of the hacks required to make the game world fit into the requested scale really weigh on a newbie developer. It's not wasted (is any knowledge useless?), but it's certainly not the most important to be focusing on.

Quote:
And if your entire game engine would be affected by the 2d nature of the world, then you're probably doing something wrong.

Umm, we're just starting, remember? However, if even you can write a game that doesn't have any 2D specific code other than the rendering system, then you've just written a 3D game.

Quote:
Quote:

But no-frills 3D game dev time will blow the zippers right off of non-frilly 2D dev time.

I'm assuming that you're suggesting the use of one or more pre-existing engines and libraries in order to achieve this ease of development with 3d content.

Yes. DirectX or OpenGL. I'm not sure what pre-existing libraries might do that is not already easy. Physics, skinned meshes maybe. I actually ported my 2D physics engine over to my current project. And skin meshes were one of the first 3D systems I learned to use when I started.

Quote:
It would be helpful to me (and others it seems) if you could give more concrete examples of how 3d is so easy, and ways in which you see 2d as more limiting.

I'm not saying 2D is limited as far as what you can do with it. Wouldn't it be less work to explain why something is difficult than it would be to explain why it's easy? Why not you help me understand why 3D is more challenging? It's modeled after our real wordly existence.

Quote:
If you feel up for it, I'd like you to try and convince me that doing it your way is more valuable experience for a new programmer. Maybe we should take it to a different thread?

I'm not coming up with my own way, I'm shooting down an existing idea. I've worked far longer in 2D development than 3D. As a programmer, designer, modeler, animator, and sprite artist, I can't tell you that just the programmer's job is easier. But I can speak for the whole team.

Share this post


Link to post
Share on other sites
Jiia, do you mind me asking how old you are, and what your experience in programming has been?

I'm just collecting ideas and stuff.

Also, if possible, do you have any sample games to show me. I'm really trying to get into game programming, and the more examples I have the better.

Thanks,

Jason

Share this post


Link to post
Share on other sites
I'm 25 years old. I've only been developing games since I was 19, but I also haven't gotten much sun since then. I've been working in 2D from 19 to 24, heh. I don't have much on the web because of lack of space, but you can see some snaps of my three most invisioned 2D games here, here, and here.

I haven't updated my web site for a really long time, so I don't have snaps up of my current project, other than terrain snaps, a few houses I designed and modeled, and a few character models. The game is fully functional to the point where only combat remains of the engine itself.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this