So, I'm doing some simple 3D graphics for my latest project. They're not strictly required but they make it look more interesting- it's essentially a top-down game, I just pulled the camera back a bit.
However, d3d_start() flips the handedness of the coordinate system. This flips the room editor upside down, which was okay for testing and I suppose for regular level design. I could have flipped the camera to the other side, but that would have screwed up depth.Depth is effectively a built-in z variable which also happens to be used for drawing order, which works perfectly until you do anything slightly non-trivial (like flipping the camera to the other side of the z-axis). That was nice until I needed to sort drawing order independently of z value, for alpha blending and anti-aliasing.Now I'm stuck with upside-down rooms even though I have separate z and depth. I should probably just go through with flipping the camera around by reversing all the signs again, but urgh. Why couldn't Game Maker just not flip the coordinate system so it could use depth as the z coordinate?On a less hateful note, the lessons I'm taking from this are 1) always separate z and depth in GM 3D and 2) my own engine will not just tack on 3D as an add-on to the 2D stuff.Also, I haven't been able to upload anything because my games are either too big or the connection is too slow for the server to get the whole thing before giving up.
lmaoooo JID
I mean I use GM to prototype stuff, not for finished products. As far as something not being worth bothering because of its setup I disagree. I've yet to come across something I couldn't do with GM even if it meant using a DLL and I've worked on all sorts of things from games, a Lemmings Engine, conversation AI, a game engine/tutorial suite, an evolution simulator and now a flash engine and Ive seen some people do some pretty crazy stuff with GM.It's slow, 3d sucks, and not crossplatform. That's its only flaw that I know. For everything else theres mastercardHere, I'll help you all broaden your horizons a bit. Imagine GM, but fast, cross platform and with sane 3d. There, that's a little bit better at doing what GM does. Now imagine that tool, but with an API for DLLs to access game resources (like GMAPI). Imagine a room editor that can zoom in and out and that lets you rotate and scale instances in the room. Imagine reusable blocks of behavior that can be attached to objects so you don't have to use all of inheritance or copy/paste just to make e.g. yet another object with platform physics. Imagine the ability for extensions to create new resource types and editors, for e.g. 3D models and rooms. Imagine a type system that keeps track of whether a variable is a texture or a background or a sprite or an object so you don't have to name everything resource_obj or resource_spr.
Wouldn't that be just a little bit better than GM at doing what GM does? Just because people have done amazing things with GM the way it is doesn't mean it can't be improved on.Sure, but that would be cheating, and anyone and their cat could be a game designer.
I strongly disagree that making tools easier to use will make programmers less needed, and more specifically that Game Maker's "little quirks" are in any way helpful to anyone but YoYo who gets to fix them in future versions.
The essential act of programming still requires just as much careful thought and consideration no matter what level you're doing it at. It's still just as exciting and interesting for programmers and boring for people who just want to generate a report, no matter how much or little boilerplate there is in the way.Being content with the current situation and then rationalizing it by calling current difficulties even remotely helpful is a horrible outlook. I'm sorry that's so blunt but really, nothing will be accomplished that way.interesting discussion. Well first off I'm not saying GM is "OMFG AWESOME", I'm just saying as far as prototyping or getting something out quick I really don't know of anything better.
I definitely agree that GM is the best existing tool for what it does. However, it's also definitely not the best possible tool for what it does.
The "being content" remark was mostly towards Kilin's comment that "half of us are aspiring programmers, and if a program does our job for us, we're not needed." and "I don't have any real complaints with Game Maker…."oh yea then I totally agree with you lol
You're still missing the point.
I never implied that improvements here and there would be a bad thing. I've thought now and then that GM's room editor would be much better with zooming. I'm saying that if we had a god program that did everything for us, well shit, people would use it. And that would mean that fewer people were required. If a ten-man team can do it, why hire a hundred?You also misunderstood my comment on GM's quirks. By denying us a god tool, it's forcing or allowing us to actually think a little. Think of it this way. You have a programming assignment where you convert a decimal number into base 2, base 8, and base 16. Most languages have built-in functions to handle that, but are you ever going to really learn how it works by using them?We're some of the world's better problem solvers. Why would we be content with getting paid to be lazy?I agree that it would be nice to have a few extra bits in GM, and I'm not telling you otherwise. But how impressive is it to have created a game in GM versus hard code in C++?Now I don't want this to turn into a flame war. I'd just like for us both to see each other's arguments and understand them. Hopefully you do as well.I also like the point Carlos made about how similar coding in GM is to C++ and other object-oriented languages. It shares the same syntax, the same base, just has different functions and makes the object-oriented system a little less of a pain in the ass. Note GUI here.Yerp, the similarities are abound in any code developed after 1999.