No Time To Play

Gamedev

Making simple games in sdlBasic

by on Sep.14, 2017, under Gamedev

When I first seriously got into making games for the desktop (it wasn’t my first attempt), the biggest problem appeared to be finding a cross-platform development system that would be reasonably easy to use. No C/SDL for me, sorry. I want to make games, not fiddle with bits and worry about memory leaks.

Turns out, an even bigger problem is ease of distribution, because any framework or library for games seems to be composed of countless DLLs, that in turn depend on other DLLs, and putting them all together is like herding cats.

This quickly led me to check out the various Basic compilers out there, which normally practice static linking, and whose runtimes include support for graphics and input as a matter of fact. Most of them however are Windows-only, some quite expensive, or with an ugly API, or no built-in sound support…

After a failed experiment or two, the situation seemed desperate, when I happened upon something a bit different: sdlBasic, an interpreter (not compiler!) that packages a complete set of bindings to the eponymous library into a stand-alone executable you can just copy around without a worry. It’s even open source!

Don’t be put off by the age of official packages: newer, unofficial builds can be found on the forums. Which, by the way, I warmly recommend. The community is small, but very friendly and helpful, always up for discussing and improving a cool demo, or suggesting workarounds for any issues you might run into.

(continue reading…)

Leave a Comment :, more...

Weekly Links #182

by on Aug.06, 2017, under Gamedev, News

Hello, everyone. Having been away for a couple of days, I was left with few links for the week. It’s for the best, then, to announce a surprise project:

Yep, it’s a desktop port of Escape From Cnossus, an exercise in figuring out just how much to update now that all those 8-bit limitations are entirely gone. Not going to say much more right now; hopefully next week.

In other news, it’s game jam season (not that it ever ends anymore). Ludum Dare 39 took place last weekend, and while I didn’t follow, this rogue-lite for the Pico-8 is surprisingly good. But one a year is plenty enough for me.

Last but not least, Emily Short reviews Chris Crawford’s latest book — always an interesting discussion — and Konstatinos Dimopoulos continues his series of articles on medieval cities, with many lessons to take home. But the gist is: keep in mind that cities are alive, born out of the needs and dreams and day-to-day existence of people who use them for a home, temporary refuge or simply a pit stop. Treat them as the result of ongoing social processes at work, not as static artifacts born whole, and you’ll do fine.

Leave a Comment :, , , , more...

Weekly Links #178: retrogaming edition

by on Jul.09, 2017, under Gamedev, News

Hello, everyone, and welcome to another week with lots of links about gaming old-style. But I’ll start with something different: my friend fluffy is at it again, this time with a kind of super-Arkanoid focused on music and physics. Watch the latest video below:

Next, we have news for fans of adventure gaming. For one thing, as of this week Double Fine Productions has a presence on itch.io, with remastered editions of many classics. How appropriate then that PCGamer would run a new interview with Tim Schafer about the making of Full Throttle. Then there’s an article about the music of Sierra games, and I know all too well how music can bring a game to life. One more reason for me to value free culture.

On a related note, nominations for the XYZZY Awards are in, and you can now vote on round two. Then we have some more musings on CYOA books and the importance of bad endings in making choices meaningful. And while I agree in principle, most bad endings in CYOA books (or for that matter most text adventures) are 1) barely hinted if at all, and 2) completely unsatisfying non-conclusions that just cut the story short without giving anything like closure. And that’s not even counting the ability to lose on a single bad roll of the dice, through no fault of your own. So much for meaningful choice.

Last but not least, Vintage is the New Old covers and Eurogamer write-up about the reasons people still make NES games. And if you’ve been paying attention lately, you know it’s not just nostalgia.

But I’m over quota again. See you next week!

Leave a Comment :, , , , more...

Weekly Links #177

by on Jul.02, 2017, under Gamedev, News

Hello, everyone. After its relative success in the recent game jam, I felt compelled to make an improved Lost in the Jungle (also on itch.io and on Game Jolt) in HTML5, that improves pretty much every aspect of the game. Many thanks to the friends who tested it and provided feedback! In related news, as of this week the book of the blog is two years old, and still half off for the month of July.

For the game developers out there, while Konstantinos Dimopoulos describes the labyrinthine realities of the medieval city, Mark Johnson muses about burnout and doing too much. Having suffered from that repeatedly, I can only agree.

It’s also been another good week for retrogaming, with a story on the renewed popularity of classic games and another on how the Magnetic Scrolls games were recovered from ancient backup tapes (via Vintage is the New Old and Gamasutra, respectively). Last but not least, while on the topic of text adventures, the Interactive Fiction Technology Foundation just announced taking over the Interactive Fiction Archive.

Gee, who would have thought that just as we can still appreciate 80-years-old silent movies in grainy black and white, so can we still play and enjoy games from the 8-bit era, so it’s worth preserving them for the public?

Good news for the future, then. Enjoy the week.

Leave a Comment :, , , more...

Encounter-based game design

by on Jun.15, 2017, under Case study, Gamedev

Perhaps the most infamous feature of roleplaying games, computer and tabletop alike, is the random encounter. Dreaded by players, panned by reviewers, it’s nevertheless been a constant presence in the genre, ever since its original appearance in Dungeons & Dragons. It made sense in the latter, which was always at least partly a resource management game, but few modern RPGs preserve that aspect (except for roguelikes). And in a game that tries to tell a story, random encounters are just an annoyance, regularly getting in the way for no good reason.

Which is a shame, because encounters have been the basic unit of storytelling since ancient times. What else is a fairy tale than a string of encounters the protagonist runs into along a linear road?

(And the protagonist’s journey in a fairy tale is linear. Plotted on a map, it may well meander all over, but it must still be followed strictly from end to end. Straying from the path always leads into trouble, and turning back is the worst sort of failure.)

Having recognized this basic truth, about a year ago (as of June 2017) I started thinking how to take advantage of it in game design, because unless open-ended exploration is part of a game’s appeal, the map can turn into a dead weight. Players can easily tell when they’re being presented with false choice. Making good maps is hard; can you afford to waste time and effort only to have the results rejected for being pointless?

(continue reading…)

1 Comment :, , more...

Weekly Links #174: public announcement edition

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

Hello, dear readers. Despite the doubts I was expressing last time, not only I got another entry into the soon-to-end game jam, but also made a game design breakthrough on the same occasion, as detailed on Tumblr. Exciting times ahead!

Speaking of last time, I forgot to announce that for two months, June and July, the book of the blog is half-off to mark its second anniversary. In a similar vein, RogueBot is now free — I should probably mirror the desktop edition here — and another price cut is coming.

I’ll conclude early today with a couple of retrograming news. While Jimmy Maher just posted the first article in a new series on Soviet computing, I very belatedly discovered a modern magazine dedicated to the ZX Spectrum, that’s both free and high-quality. Issue #17 just came out, so don’t let the backlog grow too long!

For now, however, I have a couple of older projects to revive, and a new one to massively expand. See you around.

Leave a Comment :, more...

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 itch.io 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 itch.io 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.

3 Comments :, , more...

A brief guide to Pygame

by on Jun.01, 2017, under Gamedev

For a web developer moving into games, HTML5 was a natural first choice. Doubly so for a Linux user who wanted his games to run on other operating systems without much fuss. But browser compatibility wasn’t so great either (it still isn’t even in 2017), and many people don’t like playing games in their browser, for all the convenience it brings.

Having just discovered the joys of Python, and happening to like a game made with it — called Monsterz — the Pygame library was an obvious choice. It’s ported to all the major platforms, well-documented, and very easy to use while still powerful. I remember seeing complaints about the Pygame community online, but my experience has been good.

One downside is that up until the recent revival Pygame only worked with Python 2.7, but then it’s what Mac users get by default; I’ll try to keep my code forward-compatible in case you have version 1.9.2 or newer. I was also surprised to see just how many Pygame functions I use in practice: over seventy! And that’s still only part of the API.

If you happen to be on Linux or Mac, you already have Python installed, but Windows users need to get a suitable runtime from python.org; either way, you also need to install the library, either through a package manager or directly from pygame.org. Make sure you get compatible versions for both.

(continue reading…)

2 Comments :, , more...

Brief guide to the 2D canvas in HTML5

by on May.18, 2017, under Gamedev

I started making web games using the 2D canvas API in 2009, early enough that people still went “I can’t believe it’s not Flash”. A year or two later, everybody and their dog was making canvas-based games, so mine weren’t special for long, but oh well. On the plus side, my skills are still entirely relevant eight years down the road — a lucky break in this world where we all have to run as fast as we can just to stay in place.

The canvas API isn’t exactly huge or obscure, and the Mozilla Developer Network covers it well. It can still be daunting to learn from scratch, especially if you don’t yet know what you’re going to need in actual game development.

As it turns out, I only ever use about two dozen fields and methods of the canvas element’s 2D context; you may be able to make do with even fewer. Of course, that’s just for the graphics — setting up a game loop and accepting input is another story.

(continue reading…)

1 Comment :, , more...

Weekly Links #170

by on May.14, 2017, under Gamedev, News

Hello, everyone. I have good news and bad news. The good news is, I’ve been working on a game based on my recently revived 2.5D engine. The bad news is, I’m running out of steam and might switch tracks for a while. So for now, have some screenshots:

Yeah, yeah, I went right back to first-person after explaining how it doesn’t really work, but the visible pathways should help. As for the limited draw distance, I already had to redo the backgrounds once as it is, and anything further away looks bad in the first place. The theme just requires first person here, it can’t be helped. As for the map generator, you might recognize the one from RogueBot, somewhat refined. It feels kind of cramped in a game with tile-by-tile motion, but enemies and limited moves should fix that. Whenever I get to it, that is.

On the plus side, hey, I got to practice my Inkscape some more, and people seem to like the look. Also, refactoring code can be very fun, not to mention good practice. So yay.

In the way of news, we have an interview with Sid Meyer, then a history of hit points, that turns out to be quite complex and unexpected. And while Konstantinos Dimopoulos kicks offa series on medieval urbanism that’s equally useful to fantasy writers and game developers, Bruno Dias shares some thoughts about replacing the interactive fiction parser, that complement my own from a while ago. Clearly these ideas — which have been floating around for a while — are coalescing into something solid. It was about time, too.

Last but not least, via Vintage Is the New Old comes the news that next month there will be a Sinclair Basic game jam, which is especially tempting to someone like me. I even know what game I’d like to try and make. But whether I’ll actually take part is another story entirely.

Until next week, stay motivated.

1 Comment :, , , , more...

Posts by date

September 2017
M T W T F S S
« Aug    
 123
45678910
11121314151617
18192021222324
252627282930  

Posts by month