[HN Gopher] Isometric Projection in Game Development
___________________________________________________________________
Isometric Projection in Game Development
Author : ibobev
Score : 345 points
Date : 2024-08-08 20:25 UTC (4 days ago)
(HTM) web link (pikuma.com)
(TXT) w3m dump (pikuma.com)
| qingcharles wrote:
| I developed the isometric engine for this[0] video game in the
| 90s. I remember trying to figure out the algorithm to determine
| where the cursor was (converting screen x/y to position on tile,
| taking into account height of tile stack and the fact the tiles
| could be transparent) was a monstrous headache for some reason.
|
| The sort of thing you'd solve in 30 seconds with Google in 2024.
|
| The 2D tiles were rendered out of 3D Studio Max, and the
| characters were meshes exported from Max.
|
| [0] https://www.youtube.com/watch?v=9UOYps_3eM0
| codeflo wrote:
| That's awesome.
|
| > The sort of thing you'd solve in 30 seconds with Google in
| 2024.
|
| This is unfortunately becoming increasingly untrue, as the
| forums where stuff like that was posted are rotting away, and
| Google's advertisement optimized result ranking neglects the
| long tail.
|
| And to the extent it is still true, it's because pioneers like
| you figured it out and shared their results!
| MrGilbert wrote:
| To add to that, people (at least in my org) resort to ask
| "ChatGPT" for all sorts of questions. I don't share that
| sentiment, but oth, I never had trouble finding what I was
| looking for using Google. I agree though, it get's tougher
| with all that walled gardens.
|
| I guess I'm becoming the old, grumpy "back in my days, we
| used Google!" type of guy.
| meiraleal wrote:
| Back in my days, Google worked. Now it is a waste of time.
| Someone that wants to hold himself to the notion that
| Google was/is good really looks like someone having issues
| getting old
| MrGilbert wrote:
| Any alternative to Google?
| meiraleal wrote:
| Claude Sonnet 3.5
| johnnyanmac wrote:
| Bing is pretty much the next best engine, but also has
| targeted ads (albiet less intrusive) and IMO less
| relevant results without fine tuning. DuckDuckGo uses
| Bing's backend without targeted ads (but still uses ads).
| Kagi uses google backend but without Google's ad-
| optimized algorithms. But that's a subscription solution.
|
| sadly your best "free" alteratives is going back to the
| days of smaller, specific communities, and searching
| through there. If the forum has a bad search, you go back
| to google but can then use Site:[website.com] as a filter
| to fine tune your results. .
| Xywzel wrote:
| Yes, lots of them, but they are all just a matter of not
| giving all your search data to same company, non I know
| work better in this regard, in finding good forum posts
| or logs to answer questions you have.
| danielheath wrote:
| Kagi (I'm a customer) works much the same way google did
| in 2010 or so.
| red_admiral wrote:
| I looked up Kagi and their sources include "AI" - do you
| know if one can turn this off?
| einsteinx2 wrote:
| Yes there's a toggle to turn it off in settings. It's a
| little AI summary box they sometimes show at the top of
| search results.
| darby_nine wrote:
| Yea trivially
| 998244353 wrote:
| As a customer of Kagi, it's better than the current
| Google but it's still not the Google of 2010. Google
| sponsoring irrelevant results is one thing, but the
| bigger issue remains: in 2024, creating a trove of
| worthless "articles" and optimizing the crap out of
| search result performance is a viable business model.
| Even if the SEO is done with mostly Google in mind, Kagi
| still picks up enough of this junk to be a nuisance. No
| doubt the same is true for all alternative search
| engines.
| darby_nine wrote:
| > Even if the SEO is done with mostly Google in mind,
| Kagi still picks up enough of this junk to be a nuisance
|
| It seems to be responsive to which sites you want ranked
| higher/lower. For instance I have wikipedia pinned which
| resolves a longstanding issue google has had where seo is
| prioritized over relevancy.
| hooby wrote:
| weirdly enough, when asking for documentation/problem
| solving types of questions - chatGPT actually is a good
| alternative. you still have to double-check since you
| can't trust it... but you shouldn't trust random google
| results either, so that's not a big change.
|
| it's kinda weird how the web has increasingly become
| optimized for bots - and filled with content created by
| bots... to the point where as a human you now need a bot
| to cut through all the bloated SEO bullshit and filter
| out what you actually want to know...
| red_admiral wrote:
| Bing is ok for results, but tries to push too much crap
| on you - do you want to link to your microsoft account?
| We've got rewards for you, are you sure you don't want to
| link to your microsoft account? Have you tried our
| copilot AI? Do you want to switch to Edge as your default
| browser? Did you know you can link Edge to your microsoft
| account? Here's some news from a scummy right-wing
| tabloid paper on the home page that you might be
| interested in.
|
| I think in the default windows setup, your bing searches
| are "integrated" with your user account in some way.
|
| Look, I don't mind the top 2 search results being ads (if
| you make them visually distinct from the rest), but I
| don't want all the other crap.
|
| Bing's engine through duckduckgo is better. The ads don't
| get in your way once you've learned to start reading at
| the third entry on the page.
| darby_nine wrote:
| Kagi is solid
| layer8 wrote:
| Google still works for me, but you have to generously
| apply "tricks" like verbatim mode, double quotes, time
| ranges, domain filters, exclude terms (minus sign),
| include search terms that bias it towards forum results,
| and so on.
| dgb23 wrote:
| Google works very well as an alternative to knowing the
| exact link to something you already know exists and know
| how it's named.
|
| But it has become very bad at _discovering_ valuable
| information.
| dgb23 wrote:
| I've become a paranoid link hoarder because of this.
|
| I'm Pretty Sure these things are true in comparison to the
| past:
|
| - There is much more high quality content on the web than was
| ever before.
|
| - The signal to noise ratio is _much_ smaller.
|
| - Search results are getting cluttered by SEO spam, some of
| which is straight up copying from organic social media style
| sites (forums, SO, reddit, Github issues etc.)
|
| It's extremely hard to find good content, even though _i
| know_ it is out there. Sometimes it's even hard to find sites
| I visited before, but I only remembered vague keywords.
|
| And this is true especially for content that is of
| educational nature or interesting punditry. You know, the
| stuff that comes directly from people who have expertise and
| have earned a grounded opinion.
|
| This is why I'm hoarding links to all sorts of interesting
| things. It's not an efficient way to do it and I don't know
| if there's a more general solution here. Very unfortunate.
| fouronnes3 wrote:
| I agree with your observations. The time is just right for
| a Google search killer. There might be some AI in it, but
| the fundamental goal should be a massive increase of the
| SNR of search results.
| LiveTheDream wrote:
| For me, this has been perplexity.ai. Give it a query, it
| expands that into multiple queries (possibly chained
| depending on results) and synthesizes the results into an
| answer with citations.
| viraptor wrote:
| Kagi's done that for me. Most is prefiltered and setting
| some domains to never appear again sorts out remaining
| spam. No generative AI, would recommend. The SNR is
| amazing compared to google.
|
| On the other hand like the sibling comment mentions,
| perplexity is great at digging out obscure stuff
| sometimes. Provide enough details and use the pro type
| search and you may be surprised.
| binary132 wrote:
| Maybe it would be neat if there was a place online people
| could hoard, archive, and share their link troves. I know
| I'd be interested in that. A lot of this type of content
| becomes unmaintained and rots badly.
| dgb23 wrote:
| I like the idea of collaborative curation of quality web
| sources. I think it's a fundamentally hard problem, but
| my hunch is that many people do this anyway in some form
| or another.
| DrScientist wrote:
| You could argue that the web is exactly that - each page
| curates links to other pages - that's why pagerank worked
| so well in the early days for search.
|
| The problem is keeping the SEO bots out.
|
| So the challenge becomes how to scale a collaborative
| platform while keeping out the bad actors.
| immibis wrote:
| Literally Reddit - the original version
| setr wrote:
| Are.na is an attempt at this, and I think has built up a
| decent community around it. Basically link/file storage +
| ability to navigate to other people's lists storing the
| same link.
|
| I don't think it supports auto-archiving, though you
| could probably use it in conjunction with pinboard for
| that.
| twic wrote:
| Pinboard is a bit like this, but with little emphasis on
| the social aspect, and no maintenance.
| qingcharles wrote:
| I've become the same. I quickly realized that when I find a
| good article, I can almost never find it again later, even
| in my Chrome/Google history, so I've taken to immediately
| bookmarking everything I need later.
| TremendousJudge wrote:
| Chrome history search has always been very bad compared
| to Firefox. I don't know why, it's just text search over
| titles, but on Chrome you can never find squat. I always
| suspected it is on purpose, they want users to just use
| Google all the time.
| goostavos wrote:
| My paranoia has grown from link hoarding to storing PDF
| dumps of sites that are really important to me. There've
| been so many times over the years that amazing resources
| just blip out of existence.
| katzenversteher wrote:
| I vaguely remember having played this game or a demo of it. I
| remember it being so difficult (or maybe I did not understand
| it) that I stopped playing after a while being frustrated. The
| dark and squishy atmosphere is great though!
| chungus wrote:
| Really cool music on the "character screen" (~6:33). Takes me
| back.
| bob1029 wrote:
| I've been prototyping an isometric browser game, and the
| approach I took was to draw an explicit interactive grid of
| divs on top of the isometric tiles with CSS affine transforms
| to get each to fit its respective tile surface dimensions.
| OnHover, et. al. follow this transform perfectly.
|
| It took me a while to get the transform figured out, but once
| you do you are basically done for an entire tile set. This is
| also robust to vertical/horizontal overflow of tile art. The
| browser gives you reasonable ways to get at the various
| coordinate systems. You can either take the screen space coords
| directly or inverse transform them to get the orthographic
| (i.e. purely top-down) tile coords.
|
| Modern web browser tech is really something to behold. It's
| maybe the _best_ game engine if you hold it right. There are
| some crazy things you can do in the browser in 5 minutes that
| are completely infeasible everywhere else. For example, what if
| some of the tiles are x264 video files and not just static
| PNGs? What if we also mix in tiles that are drawn using webgl
| /canvas at each frame update? We could have the client itself
| handle rendering of tiles using scene descriptions received
| from the server.
| ChiperSoft wrote:
| Theres so many abandonware isometric games from the 90s and
| 00s that I'd love to see ported into browser based games.
|
| I had a pet project for a while where I was extracting all
| the assets from Lineage 1 so I could try to recreate it.
| Lewton wrote:
| Oh man, I completely forgot about that game.
|
| Absolutely loved it as a teen!
| qingcharles wrote:
| Haha, thanks.
|
| It was supposed to be a fully 2D game, and several months in
| we realized we'd run out of RAM for all the sprites with all
| their rotations. So somehow I managed to convert it into a
| 2D+3D game in two weeks.
| klodolph wrote:
| > The sort of thing you'd solve in 30 seconds with Google in
| 2024.
|
| I've implemented this in my own games and I remember that the
| solution was basically raycasting. But it was NOT some 30
| seconds thing. It was a major effort anyway.
|
| (There are of course other options, like rendering a picture
| with a different color for each object, and sampling the color
| to figure out what you clicked on. And "color" may just be a
| 1-channel integer object ID.)
| YesBox wrote:
| Even with Google, it's a difficult problem[1]. What if you have
| multiple items on the same tile? What if one of them is one
| pixel wide (e.g. a wall)? What if something in front of that
| tile is tall enough to block the view? What if you need pixel
| perfect collision?
|
| My first solution (before the buildings in my game had multiple
| floors) was to take the ISO mouse position, grab a list of
| items within a cone spreading towards the screen, then:
|
| 1.) Loop through each item
|
| 2.) Create a sprite of the item (so I have direct access to
| RGBA info)
|
| 3.) Convert mouse coords to sprite coords
|
| 4.) Check if I'm hitting a pixel (i.e. alpha > 0)
|
| 5.) Keep track of this item
|
| 6.) Update if an item closer to the bottom of the screen (i.e.
| closer to camera) gets a hit
|
| Once I added building height, this became impractical (too many
| items to loop through, sprite creation is CPU intensive).
|
| New solution is to assign a 24 byte UUID to each item, convert
| that to RGB, draw it to the screen (invisible to the user), and
| then return a tiny texture every frame from the GPU at the
| mouse position. If the color in the texture is not black, then
| convert RGB back into the UUID.
|
| PS: If you know how to draw so that alpha replaces existing
| alpha (instead of blending), please let me know so I can have
| 32 byte UUIDs!
|
| [1] Source: I'm developing Metropolis 1998
| https://store.steampowered.com/app/2287430/Metropolis_1998/
| mrec wrote:
| Heh. I remember doing your first solution for an _Eye of the
| Beholder_ -style FPV engine back on the Amiga circa 1994.
| This was using existing blitter mask bitplanes so there was
| no sprite creation, everything was very fast (assembly).
| Can't remember whether I did culling based on bounding boxes
| first.
|
| I also remember being quite chuffed about coming up with a
| "novel" approach using dithered planar masks to offset
| colours into palette ranges for not-too-blocky lighting. Then
| _Quake_ came out. You forget just how siloed we all were
| before the Internet took off; every wheel imaginable must
| have been reinvented so many times...
| pharrington wrote:
| I'll be honest - I'm spitballing here, as I havent made an
| isometric game yet. My instinct would be that the cursor, a
| visual UI element, only directly interacts in visual space - ie
| the screen tile is the screen tile, with no height information.
| When rendering though, you're projecting logical information to
| visual information. So when you render an object, you fill some
| struct that correlates screen tiles with last game objects' IDs
| that were drawn over it. The cursor logic just queries that
| structure.
|
| edit: thats assuming you cant select anything that's been
| occluded. If you need to select things that've been occluded,
| lmao i dunno
| goostavos wrote:
| Hearing that other people struggled with this problem gives me
| solidarity. It took me an embarrassing amount of time to get
| "click and drag thing" working in isometric [0]. Rendering
| differently sized sprites was a whole other thing.
|
| Figuring it out without google was immensely satisfying,
| though. Reminded me what I love about programming.
|
| [0] https://chriskiehl.com/article/home-theater-calculator
| hiimshort wrote:
| Pikuma is excellent! I have enjoyed going through the videos on
| the YouTube channel to help understand some 3d graphics rendering
| techniques. Everything that I have seen has been as easy to
| digest as this post. Highly recommend checking out the rest of
| the catalogue if this kind of content is interesting to you.
| atan2 wrote:
| Gustavo is one of the best math and programming teachers out
| there imo. I am currently taking the Playstation course and it's
| so much fun.
| adastra22 wrote:
| My daughter (12) is interested in learning coding. I think
| making games might be a way to keep her interested. Do you
| think his courses would be too advanced for a teen?
| pjmlp wrote:
| Alternatively, get her an emulator of an old 8 or 16 bit
| system, I started coding at the age of 10 in these systems,
| with books that were oriented for kids.
|
| https://www.atariarchives.org/
|
| http://redparsley.blogspot.com/2016/08/input-magazine-
| retros...
|
| https://archive.org/details/input-hi-01
|
| Or if you prefer something more up to date,
|
| https://arcade.makecode.com/
| gustavopezzi wrote:
| Hi. Author here! I'll try to be unbiased and say that if
| she's just starting out I'm afraid there are better beginner-
| oriented resources out there for teens. Frankly, what I do is
| very niche and it's not really utilitarian for those starting
| out.
|
| I have a son and I asked the same question on how to start
| learning. I have decided to start with PICO-8 and then evolve
| to something else. Fingers crossed. :)
| johnnyanmac wrote:
| I haven't taken it, but looking at the curriculum [0], the
| concepts covered are easily college level. This is very low
| level programming.
|
| [0]: https://pikuma.com/courses/ps1-programming-mips-
| assembly-lan...
|
| If it was a few years later, I wouldn't be surprised if there
| were some courses for the recent Unreal Editor for Fornite
| that could ease a new programmer in as an interactive way to
| script, while learning a relevant industry tool (then again,
| it may also go the route of Roblox, so who knows?).
|
| Honestly, I'd defer to either mods or games with level
| editors as a way to help gauge how much a child would
| potentially enjoy programming. Then they could try sme visual
| scripting like Scratch to try and make something outside of
| that environment.
| moomin wrote:
| My kid did a Minecraft coding group. It started with a mod
| that had a rollercoaster on it. They taught you how to to
| modify it in exercises. My kid tapped out pretty fast, I came
| to the conclusion they liked Minecraft, but the experience of
| coding it was a whole other matter.
|
| Ironically, when I was a kid I used to read the code of
| computer games out of curiosity and that's exactly what got
| me into programming.
| graypegg wrote:
| The animation by Jordan West referenced near the end of the
| article is included in a really good video by him too!
|
| https://youtu.be/04oQ2jOUjkU
|
| It's worth a watch! I personally prefer Jordan's approach, which
| is more focused on the math than computation.
| jordwest wrote:
| That's me, thanks for the mention!
|
| In hindsight actually I'd probably have put a little more of
| the computation side in the video. Based on comments I've
| received I think a good portion of the audience is just looking
| to get something working and doesn't necessarily want to
| understand what a matrix is to get there. I think this article
| is a great resource for that.
| graypegg wrote:
| Totally fair! I do think it leads people down a more
| interesting path though, transform matrices and processing
| big bitmaps lead folks to shaders! Though a DIY-with-a-
| scripting-language-and-iteration would definitely be a fun
| follow up video if you ever feel like it!
| kookamamie wrote:
| Most "isometric" games are in fact "dimetric", i.e. follow a
| projection where 2 horizontal pixels match 1 vertical pixel when
| tracing straight horizontal or vertical lines.
| Animats wrote:
| That is a really clever hack. Who first used it?
| underwater wrote:
| It's not really a hack, it's more the obvious implementation
| when you're doing any pixel art.
| kookamamie wrote:
| It's been widely used since the 80s or 90s - just kind of a
| clean way of doing it, as the other choices are not as
| pleasing, visually. Although, e.g. Ultima Online went with
| 1:1 military perspective, which looks pretty skewed in some
| ways.
| kragen wrote:
| since 01981 i think
|
| > _The use of isometric graphics in video games began with
| Data East 's DECO Cassette System arcade game Treasure
| Island,[6] released in Japan in September 1981,[7] but it
| was not released internationally until June 1982.[8] The
| first isometric game to be released internationally was
| Sega's Zaxxon, which was significantly more popular and
| influential;[9][10] it was released in Japan in December
| 1981[11] and internationally in April 1982.[8] Zaxxon is an
| isometric shooter where the player flies a space plane
| through scrolling levels. It is also one of the first video
| games to display shadows.[9]_
|
| (...)
|
| > _In 1983, isometric games were no longer exclusive to the
| arcade market and also entered home computers, with the
| release of Blue Max for the Atari 8-bit computers and Ant
| Attack for the ZX Spectrum. In Ant Attack, the player can
| move forward in any direction of the scrolling game,
| offering complete free movement rather than fixed to one
| axis as with Zaxxon._
| cmiller1 wrote:
| Somewhere in storage I have a Colecovision and a copy of
| Zaxxon for it. The graphics in that game feel absolutely
| mind blowing for the era.
| js8 wrote:
| AFAIK https://en.m.wikipedia.org/wiki/Knight_Lore was among
| the first isometric 3D games, and it used this ratio.
| boredpudding wrote:
| Which... is also in the article.
| kookamamie wrote:
| You're correct, I was hasty and didn't read it thoroughly
| enough before posting.
| twelvechairs wrote:
| It's a relatively recent convention though. Isometric means
| "equal measurement". The measurement along each axis has
| nothing necissarily to do with angles.
|
| The only difference is if you "stack" tiles vertically they
| slightly offset in 2d space from ones that are offset 1x+1y.
| kragen wrote:
| i would say calling this projection isometric is 'a
| relatively recent error'
|
| in an isometric projection all the edges of an axis-aligned
| cube are the same length. in the axonometric projection
| discussed here, which is dimetric rather than isometric,
| the vertical edges are of length 1 while the horizontal
| edges are of length [?](1 + 1/22) [?] 1.118
|
| is the fact that this projection is not isometric the
| reason zaxxon was called zaxxon and not zisom?
| twelvechairs wrote:
| The horizontal edges are clearly measurable. The vertical
| (z) axis you are making a requirement that it has to show
| directly on top of a tile 1X and 1Y offset. That's on
| you.
| kragen wrote:
| ?
| Galanwe wrote:
| +1, that was essentially motivated because that allowed you to
| have power of 2s for your tiles, e.g. 64x32
| lifeisstillgood wrote:
| I have generally ignored game development but I honestly it's not
| for lack of respect - most of computer science is represented in
| good game dev
| hooby wrote:
| I used to say that video games do everything you might find in
| any other kind of software - only difference being, they do it
| 60 times a second.
| kragen wrote:
| they don't kill people when they crash
| daelon wrote:
| _yet_
| teo_zero wrote:
| What I don't like about TFA is the inconsistent, sloppy use of
| coordinates. Initially x,y,z are relative to the viewer with z
| going from the eye to the object. Some paragraphs later x,y are
| the horizontal plane with z going up. Then x and y are swapped
| (to overlap x onto y you have to rotate it 90deg clockwise, the
| opposite of trigonometry's standard), only to be swapped again in
| the picture that shows the value of the angles. Coming to screen
| coordinates, all formulas and text assumes that y grows down,
| which is customary, but not the pictures accompanying the
| explanation how to calculate screen position from y.
|
| Frankly, I'd expect more consistency from someone who invites his
| students to focus on the mathematical aspects, not only on the
| code.
| parasti wrote:
| Yeah, small inconsistencies and some hand wavy language put me
| off from reading the entire article. Like, what do you mean by
| "vertices appear bigger in perspective projection"? Vertices
| are just coordinates in space with no size.
| gustavopezzi wrote:
| Noted.
| gustavopezzi wrote:
| Author here. You're absolutely right. I got so used to reading
| resources on paper using Cartesian coordinates and having to
| _account_ for it in screen space that I overlooked this
| conversion in the explanations. I 'll go over it and amend it
| ASAP.
| stevengoodwin wrote:
| The third iteration of the PC strategy game, Grand Prix Manager,
| was meant to be in isometric. Instead of clicking on the
| "Designer" button, and going to a graphical database indicating
| how you'd proportional the designers work, you'd click on an
| isometric map of the office, and watch your PC walk there and
| discuss the new game plan.
|
| The iso engine worked at 60fps, in 1024x748, back in 1997. But it
| was pulled. It was the right tech, but for the wrong game. When
| released GPM3 became GP World, it reverted to the traditional
| spreadsheet views of GPM1 & 2. (At least it looks like they kept
| most of my "3D" race code intact.)
| Waterluvian wrote:
| Can anyone name an isometric 2D-rendered game they swear was 3D.
| Or a 3D game they swear was actually 2D? For some reason I find
| these most interesting.
|
| I could look up the answer but I swear Bastion is entirely 2D.
| Though the characters might be 3D models constrained to certain
| angles.
| Arelius wrote:
| Iirc, Bastion's characters are 3d characters rendered to 2d
| videos.or maybe that was just transistor and later?
| deathanatos wrote:
| > _Or a 3D game they swear was actually 2D?_
|
| Doom sort of fits in this category? The original[1] renderer
| cheated significantly in order to render the scene. It had to,
| for the hardware of the era. But it's not capable of arbitrary
| rooms/map layouts, and so, e.g., the maps are strictly 2D.
| IIRC, this is the reason the camera is locked on the pitch
| axis.
|
| Factorio is a 2D game, but the assets are 3D, sort of like the
| DK example. The fun comes in that the game is 2D grid of tiles
| (pretty normal) _but not top down_ , and that causes some
| associated havoc when things try to rotate:
| https://www.factorio.com/blog/post/fff-133
|
| [1]: many modern ports do, or can, use true 3D renderers, and
| are thus not quite the same as the original in this regard.
| Later ports are also capable of non-2D maps, including things
| like bridges and overlapping rooms that the OG renderer
| couldn't do.
| redbell wrote:
| Let me express my deep nostalgic feeling seeing _Donkey Kong
| Country_ from 1994 being mentioned!
|
| I was a huge fan of this game. When I was playing this game, I
| was always wondering how they were able to achieve such stunning
| 3D visuals where almost all of the other games in the SNES
| console couldn't. It turned out they are _pre-rendered_ , as per
| the article.
| 255kb wrote:
| Me too. It happens that I kept my Super Nintendo and play the
| game with my kid regularly. We have tons of fun. I still have
| the booklet where they say that they prerendered the graphics
| on "Silicon Graphics" computer, same that were used for
| Terminator. I also remember as a kid saying to myself "wow,
| it's 3D, it's so realistic"
|
| Booklet: https://imgur.com/a/6mUVpXm
| cmiller1 wrote:
| There are other fun projections that you can use in games not
| mentioned in this article too. I personally have released a small
| puzzle game using cavalier projection. Here's a good diagram from
| wikipedia
| https://en.wikipedia.org/wiki/Oblique_projection#/media/File...
| gustavopezzi wrote:
| Hello, Gustavo here (author). Thanks for sharing the article and
| for all tye feedback.
| actuallyalys wrote:
| Ironically, any isometric game nowadays would still use the 3D
| graphics capabilities under the hood so in a way you're faking 3D
| by faking 2D. (Although I suppose you could argue that you're not
| really faking 2D since you're just using two out of three
| dimensions.)
| jayd16 wrote:
| Add a few more to the list. We usually render to a 2d screen so
| we usually fake 3d in 2d.
| theandrewbailey wrote:
| What irritates me are the games that claim to be isometric but
| use perspective projection instead of orthographic projection.
| kkukshtel wrote:
| Shooting my shot here:
|
| I developed a large-scale, 2D isometric tactical strategy game
| called Cantata:
| https://store.steampowered.com/app/690370/Cantata/
|
| It's sort of like a 4X version of a smaller tactics game like
| Advance Wars. Supply lines, region capture, unique units, etc.
|
| It's isometric throughout, in part because I just love the
| aesthetics of pixel art isometric (having grown up on RTC, Age of
| Wonders, Simcity, Alpha Cen, Civ...).
|
| This article was (and is) still the gold standard on describing
| isometric math:
| https://clintbellanger.net/articles/isometric_math/
|
| We built a custom renderer for the game as well to support doing
| lots of crazy tile-layering steps that mix and match Z-depths
| based on various factors like specific units, terrain type,
| terrain decoration type, etc. Things like:
|
| If a human soldier is on grass, the grass should be rendered on
| top of them, but if its a tank the grass "makes sense" to be
| under the tank, etc.
|
| Art assets were based around 64x64 size tiles, and as someone
| else pointed out we were technically dimetric instead of
| isometric (as were most isometric games, dimetric feels too
| uniform).
| aschearer wrote:
| Beautiful game, incredible attention to detail. Sorry it hasn't
| sold 10x more copies but at least you got to make great art!
___________________________________________________________________
(page generated 2024-08-12 23:02 UTC)