0
\$\begingroup\$

When designing game engine GUI systems, I know a lot of game engines (notably Unity and Unreal) use a sort of "canvas" system. However, in an isometric game where the camera is already orthographic, this seems like it might be overkill. Everything is already dictated in terms of pixels, as is the case in an isometric game; I feel that there would be little need for such a "canvas", which seems to be the bridge between world space coordinates and screen space coordinates.

With the orthographic view, world space is more seamlessly joined with screen space, so wouldn't it be simpler to get the position of the camera, define a set of points (i.e. top-left, top-right, center, etc.) on a plane that is directly in front of the camera and render controls directly in front of the camera? Would there be any downsides to this method, or am I missing the point entirely?

\$\endgroup\$
  • 1
    \$\begingroup\$ @Gnemlock I understand that you're at your own liberty to down vote however you feel, but could you then please leave a more precise comment as to why you felt that way? At least then I would have the possibility to fix it, but "Low quality" isn't much to go on unfortunately \$\endgroup\$ – Scorch Jan 18 '17 at 10:58
  • 1
    \$\begingroup\$ I do not find "why do I use this when I have that" to be very useful in the given context. Furthermore, I am not sure how you could come to the conclussions you have given research effort, but you don't show any (only your own thoughts), so it is difficult to tell what research effort was actually given (shows none being a hard-written down vote reason) \$\endgroup\$ – Gnemlock Jan 18 '17 at 11:31
  • 1
    \$\begingroup\$ As a side note, this is not a forum, so forum-esque annotations like EDIT: come off as low quality. Feel free to ammend changes to your question, but do not highlight these changes as an "edit:"; we can already see version changes, anyway. \$\endgroup\$ – Gnemlock Jan 19 '17 at 0:17
  • \$\begingroup\$ Note that in my edit to remove the blacklisted engine tag, I note that there is a lot of explanation here that seems completely unneeded. You do not need to further explain a question if there is already an accepted answer. The nature of there being an accepted answer tells me this question is completely understandable, and additional explanation is just additional noise that makes the question harder to interpret. \$\endgroup\$ – Gnemlock May 8 '17 at 1:13
2
\$\begingroup\$

Because everything is already dictated in terms of pixels, as is the case in an isometric game, [...]

This statement is false. It's not because you use an isometric camera projection that everything is based on pixels.

And it's not because you implement a GUI that you'll calculate everything in pixels: you might want to use screen proportions for some reasons. There are even situations where you could use a hybrid approach: layout some screen elements based on pixel sizes and positions, and use screen proportions to layout the other elements.

The idea of having your GUI implemented as a 'standalone' feature means that you can use the same system everywhere in your game, not just in the 'game play' state, as you would be constrained with your suggestion.

In the long run, it's really more practical to decouple your UI code from the rest of your game, at least in terms of projection.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.