No Time To Play

Weekly Links #173

by on Jun.04, 2017, under Gamedev, News

Hello, everyone! The ZX Spectrum BASIC game jam that I announced three weeks ago started on on Thursday. As my own entry was ready much earlier than expected (and there’s a blog post already lined up), getting another one in is very tempting. But deciding what to make that would work well in slow, line-number Basic yet still be compelling isn’t so easy. Stay tuned.

In unrelated news, open source strategy game FreeCiv has had a HTML5 client for a while. But now they’ve been working on a WebGL-based version (via the Dragonfly BSD Digest). And you know what? Never mind all the problems they’ve been running into, that simply wouldn’t exist in 2D. Never mind that they’re doing everything with shaders — presumably because “it’s easier” — so a lot of players stuck with on-board graphics adapters won’t be able to play it. Notice how this new, “improved” version is a muddled mess compared to the cartoony, pixelated art of the past. Like modern 3D almost always is.

If this is progress, I want a Nintendo 64.

Moving on to the game design department, from the IGN we learn why the world needs more trash games, while points out what every developer can learn from short games. More specific is Bruno Dias’ search for an ideal quality-based narrative system, that complements Emily Short’s from last week. I’ve been forming my own ideas about it, but that’s a story for another time.

Until next week, embrace imperfection.

:, ,

2 Comments for this entry

  • fluffy

    I agree that the WebGL version of FreeCiv looks like a horribly muddled mess, but I thought I should point out that everything in WebGL uses shaders, as it’s based on OpenGL ES2 which did away with the legacy fixed-function pipeline. Which is to say that ALL rendering (no matter how basic) must go through custom shaders.

    Now, that doesn’t mean those custom shaders have to be ridiculously heavyweight or anything, and from the brief description it sounds like they’re using the shader itself to parse up the texture sheet – which is hard to do in a performant manner even on mid-level GPUs, and does indeed perform like crap on low-end ones (as does anything which relies on dependent texture lookups).

    Shaders themselves aren’t the problem though. If your machine supports WebGL, then it supports shaders – because it has to. And shaders have been a standard part of OpenGL since 2.0, which was ratified in 2004 (and the old fixed-function pipeline was considered “legacy” by then and deprecated by 3.0 in 2008). The most recent GPU I can think of which doesn’t use shaders in its core operation is the one from the original Wii, and it was considered outmoded even when it was released in 2006.

    • Felix

      It’s true that a very basic procedural scene made with three.js renders on my box. Your average Unity game, however, doesn’t — I get a blank screen. That my *drivers* may be able to handle very basic “pass-through” shaders, just enough to emulate OpenGL 1.x, doesn’t mean it works. And there’s a difference between using shaders for effects you can’t achieve otherwise, and using them instead of actual 3D rendering, like all the “clever” developers and engines seem to do nowadays.

      No offense, but I remain opposed to anything that can’t be coded in a straightforward, portable way. Got burned way too many times.

1 Trackback or Pingback for this entry

Leave a Reply

Posts by date

June 2017
« May   Jul »

Posts by month