No Time To Play

Tag: languages

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 #184

by on Aug.20, 2017, under News, Opinion

You’d think vacation season is on the way out in the northern hemisphere, but my newsfeeds are still suffering from a dearth of interesting gamedev news. Admittedly there have been at least a couple of major conventions recently, including the WorldCon; this could be a factor.

To start with interactive fiction, you can still vote in the Introcomp 2017, and the Elm Narrative Engine has a new version out, that promises to bring rule-based storytelling to a whole variety of game genres, if those beautiful demos are anything to go by. In related news, here’s an article about Alexis Kennedy’s life and inspirations.

Next we have an article about the most historical games on PC, and another on what fantasy can learn from history. (It’s telling how both of them praise Crusader Kings 2.) What can I say? It would be easy to blame the theme park “Middle Ages” so common in fantasy fiction on the Americanization of world culture, but remember Tolkien’s utopian, impossibly idealized Shire. This is nothing new. And The Witcher, for all it’s solidly rooted in a specific legendary — that of Medieval Poland — has been roundly criticized for indulging in many of the same cliches as more generic fantasy.

Me, I’d settle for more fantasy stories acknowledging the fact that a sword was goddamn expensive, hence a medieval fighter was a lot more likely to use an axe, or even just a club. The former not only uses much less metal, but can also double as a versatile tool (if suitably designed). And most fighters back then were in fact peasants 80% of the time if not more.

But this could be a much longer discussion. I’ll end with an intriguing find: a game programming tutorial that teaches how to implement a Tetris clone in Lua and ncurses in the form of a literate source code file. Well done!

Leave a Comment :, , , more...

A glance at the Nim programming language

by on Jun.08, 2017, under Off-topic

I love learning new things. That’s helped me stay on top of this ever-changing business we call IT. And part of the fun is how random it can be. Take the past two days: I was reading about the new zipapp module in Python; from that I moved to the setuptools suite, which in turn mentioned the reStructuredText file format. Curious to know what other tools support it, the next day I looked over a suitable list… which in turn mentioned the Nim programming language.

That made for a really busy evening.

Nim belongs to the new crop of application programming languages, like Go and Swift, that embrace garbage collection, type inference and high-level data structures to ease the burden of overworked software developers, while still providing the performance and simplified distribution that come with native code compilation. Unlike the others, however, Nim doesn’t have a powerful corporation behind it, instead being a community project.

First impression: for Unix-like platforms, Nim comes in a source package with few dependencies apart from a C compiler. It builds without a hitch, in a little more time than Python 3 (not that I measured), and runs out of the box without being installed. Setting up cross-compilation for Windows was as easy as installing MingW and adding a couple of lines to a configuration file; for other operating systems I’d need a virtual machine, but oh well. The generated executables aren’t too large despite the static linking, either.

(continue reading…)

Leave a Comment : more...

A first look at the Go programming language

by on Jan.12, 2017, under Off-topic

It’s not easy to keep up with new developments in IT, especially when you work long hours, or for that matter when you no longer learn quite as easily as you used to when you were twenty. So far I was lucky to pick my technologies well: expertise in Python, HTML5 and even Java (for now) has only grown more marketable in recent years. It still felt like falling into a rut as of late, and moreover I kept stumbling across projects written in the Go programming language. After some hesitation, I decided to take the plunge, and it turns out I can still learn a new programming language in a couple of days. Go me!

And what a language it is.

Go is mostly targeted at server-side software, which makes it less relevant for games unless you’re doing multiplayer. Then again, it’s just as good for command-line apps (think tools), and there’s a healthy choice of libraries for text-based user interfaces that don’t require separate DLLs.

But what’s it like, exactly?

  • It compiles to native code like C++;
  • has garbage collection like Java;
  • the package system resembles Python modules;
  • the object system resembles the one in Haskell;
  • control structure syntax is like in Perl 6.

I’d say Go is an odd duck of a language, except it’s more of a platypus. Good to see programming language designers having some guts, after decades of slavishly imitating C.

(continue reading…)

2 Comments : more...

Weekly Links #128

by on Jul.10, 2016, under Gamedev, News, Off-topic

Hello, everyone. This week I must confess to a couple of broken promises. I didn’t get around to uploading a fix for the bug found in the online version of Glittering Light. And last time I forgot to announce my decision to abandon the graphical port of Tomb of the Snake. Sorry, but an already overengineered game was only getting even more so, FreeBasic’s supposed portability turned out to be illusory where it mattered (though SDL carries part of the blame), and the community less than friendly. But I learned a few things; my next projects will be tools, not games. Hopefully you’ll find them useful.

In other news, early this week Konstantinos Dimopoulos alerted me about Procedural Content Generation in Games, an academic textbook on the topic that’s nevertheless an easy enough read overall. It seems the project was launched a few years ago, but it’s only now ready for publication. Grab it while it’s still free!

Also in the way of long reads, Hardcore Gaming 101 is running a six-part feature on the Fallout series. And for the impatient, my friend Chris Meadows compares two online games of Catan. Last but not least, a piece of news not related to games, but just too cool to pass up: the source code for the Apollo 11 mission is now on GitHub! Amusingly, lots of people have been submitting pull requests, some jocular, others not so much.

But that’s about it for the past week. See you around.

Comments Off on Weekly Links #128 :, more...

Weekly Links #122

by on May.29, 2016, under Gamedev, News

Hello, everyone! After bringing the desktop port of RogueBot to a playable state, I went back and redid the original online edition as well, to make it look better and bring it more in line with the new version. And while the results aren’t perfect, it’s a good time to take a break and give another project some love.

In the mean time, we have an interview with two Greek game developers about adventure games, and a feature about the founders of Id Software now that they moved on. In the way of hands-on gamedev articles, you can read some musings on making failure fun, and some more on the subtle differences between user interfaces. And while the latter uses examples from interactive fiction, the lessons it teachers are widely applicable.

(Since I mentioned interactive fiction, it’s worth nothing that the XYZZY Awards ceremony was last night, and Birdland, a Twine game, basically took all. Haven’t played it yet, but it’s at the top of my wishlist.)

And from the same Emily Short, who is active as always, stay tuned for the upcoming Bring Out Your Dead game jam, an event where you can show off your works in progress that never went anywhere, but you think are worth seeing anyway. Amusingly enough, another very similar jam is running right now, and I already entered my visual novel intro Before the Faire, that I made two years ago but couldn’t finish, despite a good start.

Last but not least, lately I’ve been circling a nice little gamedev platform called sdlBasic, that I hope to use in an upcoming project. While lurking on their forums, I found a link to this list of art asset resources, unknown to me until now. One link in particular grabbed my attention: game-icons.net, a sizable repository of monochrome vector icons with a variety of possible uses.

But I have to look more closely into it first. Have a great week.

 

1 Comment :, , , , , more...

Weekly Links #121

by on May.22, 2016, under Gamedev, News

codl-screenshotWhy does it always have to be a feast-or-famine sort of thing? After a year of working on anything but games, now I’m announcing two releases on the same week. First, my text adventure City of Dead Leaves, that I started last year, abandoned, then decided to finish anyway. It’s hardly epic — a slightly surreal mood piece with a bit of romance After The End — but I hope you’ll like it. Taught me a thing or two as well; stay tuned for a postmortem soon, if everything goes well.

Anyway, while the beta-testing process was taking place, I took the opportunity to bring one of my older games back to life. First released a year and a half ago for the first Procedural Generation Jam, RogueBot essentially lay forgotten while I dealt with various other projects. But many people don’t like playing games in the browser, and performance can be much better on the desktop as well. Besides, I’d been meaning to learn FreeBasic for a while now, and needed a reason. So in a ten-day coding marathon the original tech demo got a new life. See the official announcement on itch.io, and if you like the game please consider buying it.

roguebot-desktop

Last but not least, this week Sam Kabo Ashwell posted an article about narrow parsers, that connects surprisingly well with my recent write-up on verb-oriented game design. Which, considering the long list of examples he gives, is an idea that has troubled many developers along the years.

And on that note, I bid you a good week. Cheers!

Comments Off on Weekly Links #121 :, , more...

On cross-pollination in text-based games

by on Apr.28, 2016, under Case study

Having recently played a very nice text-based RPG made in Twine of all things, and tested a new (to me) authoring system in addition to resuming work on a text adventure, I was once more prompted to think about the similarities between different genres of text-based games. For example, nowadays we associate parser-based interfaces with brainy puzzlefests, or else sophisticated story games, but Adventure and Zork had RPG elements and a strong exploration component. And while works like Hunter, in Darkness or Kerkerkruip are generally seen as experimental, Eamon has always explicitly been an RPG engine, and proudly so (yes, I know people who still swear by it), despite looking for all the world like an interactive fiction authoring system. After all, is there really that much of a difference, mechanically speaking? It’s still a world model based on a graph of discrete locations, with objects that can be manipulated in the same basic ways: examine / take / drop. And the parser itself, as a mode of interaction, has inherent appeal to at least some players, orthogonally to the content. We shouldn’t mix up genre and medium here, like we do with videogames at large, where Heretic and Doom are seen as largely interchangeable simply because they’re based on the same engine and core verbs.

(I’d give newer examples, but I’m not aware of any fantasy first-person shooters this side of Hexen; all the famous titles appear to be sci-fi. Did the Daikatana debacle scare off everyone, or have games like the Elder Scrolls and Might&Magic series been covering the demand for first-person fantasy fans? Oh wait, there was Hellgate: London, another commercial flop. Fair enough, there’s a pattern.) (continue reading…)

1 Comment :, , , , , more...

Weekly Links #111

by on Mar.13, 2016, under Gamedev, News

Hello, everyone. Another very short newsletter today, featuring a retrospective of Double Dragon in three parts (with two more to come), and the big news of the week: the scripting language used to code the mega-success 80 Days has been released to the public, and under a liberal open source license, no less! It runs on Unity, so I can’t try it out, and the tutorial on GitHub is overwhelming, but my first impression is that of a modern, friendly language that’s more markup than code, in the same spirit as the one used in Ren’Py or for that matter Choice of Games. Too bad it also looks kind of cryptic. Still, anything that makes game development more friendly is always welcome. Thanks for reading, and see you next week.

Comments Off on Weekly Links #111 : more...

Weekly Links #86

by on Sep.06, 2015, under News

Welcome, readers. We’re having a short newsletter again, and all the news are about programming. Let’s start with Jay Barnson telling a war story about the perils of assumptions and arbitrary limits. I already shared my opinion in a comment over there, so I won’t insist. Speaking of opinions, John Carmack has one about the best programming language for beginners, and it turns out to be Racket, a Scheme dialect and IDE. And while on the topic of great programmers, Nature magazine of all places has a feature on Ada Augusta Lovelace, who was born exactly 200 years ago (minus four months), and went on to theorize the very notion of a programmable computer, and what programs might look like — including, if I understand correctly, the three fundamental control structures!

Last but not least, not feeling up to tackling a big project, I worked on another toy library this week. VGForm is a very simple JSON-based format for vector graphics, designed to be easily rendered with common graphics APIs such as the HTML5 canvas or AWT’s Graphics2D. It’s born from my early struggles with using vector graphics in games — too bad the idea didn’t occur to me earlier! But the best course of action is always obvious in retrospect…

On this note, thanks for reading and see you next week.

Comments Off on Weekly Links #86 :, more...

Posts by date

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

Posts by month