Let a billion videogames bloom

Everything game development: news, lessons, discussion

Weekly Links #316

19 April 2020 — No Time To Play

Happy Easter, everyone! I have good news and bad news. The bad news is, my main PC suffered a hard drive failure on Tuesday. The good news is, I lost very little, and could pick up my projects from where they were. Ramus in particular is now at version 2.2 and counting. Even better, two out of three users have returned after all this time; in fact, one of them had never stopped using the original!

Oh, things won't be the same again. Ramus now requires a browser that follows standards, rather than relying on hacks to pull off various effects. And browsers like Safari or Internet Explorer still don't have a lot of features all others added long ago. Please don't ask. I'm uncomfortable enough with our over-reliance on web browsers for games and apps as it is.

That said, so far I've been doing a decent job of keeping requirements at a minimum, and the improvised scripting language added in the latest version offers a clear way forward. One that no longer depends on the moods of a library developer. It's not the most compact I could have added, nor the most friendly, but there had to be a compromise between implementation size and ease of use.

Still, years of interpreter construction practice are paying off big time right now, and I couldn't be happier.

In the way of news, this week we have a book excerpt about the making of Warcraft II, followed by a story about the origins of shareware, both the term and the practice. Details under the cut.

Read more...

Tags: interactive-fiction, programming, strategy, business

Comments? Tweet  

Weekly Links #315: Reviving Ramus edition

12 April 2020 — No Time To Play

Hello, everyone! I set aside one interactive fiction tool for the moment to work on another. Except the Ramus hypertext system isn't new; its first release was in 2011, fully nine years ago! At the time, various factors caused me to abandon it much too early, which was a shame because people had actually used it...

Well, now it's back, better than ever, and this time I plan to keep at it.

Like with so many other things, to write version 2.0 from scratch I needed one afternoon; what took years was the learning process. Barring a longer analysis, here's a few hints:

  • even tiny Javascript libraries of the sort listed at microjs.com are dangerous dependencies unless you're willing to take over maintenance yourself;
  • modern web standards are flexible; you don't need to invent your own tags and attributes, or twist them to the point of breaking to use them in novel ways;
  • for that matter, web browsers have all kinds of neat stuff built in; even smooth scrolling has been available in some browsers for maybe five years now.

A black box you can only drop into your project untouched isn't code reuse.

Come to think of it, that might as well be the motto of Ramus going forward. I now call it a template, and that changed my entire attitude towards the project. Just like that, I have a roadmap, with clear signposts along the way. Ride on.

The bad news is, no other topical news caught my eye this week, so the Weekly Links end here for now. See you next time!

Tags: interactive-fiction, tools, programming

Comments? Tweet  

Weekly Links #311

15 March 2020 — No Time To Play

Hello, everyone! After a meaty issue comes a thin one. It's in big part because I spent most of the week working on a desktop port of Laser Sky R, using C++ and SFML. Which is quite a bit of work because I have limited experience with the former, and none with the latter.

Mind you, it's working out. SFML proves to be just as easy to use in practice as it seemed at first sight, as it uses both OpenGL and C++ to its advantage. Maybe trying too hard to stay simple, by its lack of features that are needed in most projects, such as the ability to anchor a drawable from the center or any corner, or length and normalize operations on vectors. Both however should be easy to add. It seems to be intentional too, as even a simple framerate counter is left as an exercise to the programmer.

As for my next point: I've known C++ for years, but hadn't used it much before, preferring dynamic languages instead, not to mention something with garbage collection. But newer dialects are much better; between auto, move semantics and to_string, to mention just a few small things, the old workhorse is looking much better and turns out to be perfectly usable too. What differs from, say, Python is that C++ requires self-discipline. You have to plan out your code. It's still very flexible, allowing for a lot of freedom, but that has to happen in an orderly fashion. Which happens to suit me just fine. For prototyping I can always use something else.

In the way of news, this week we have a handful of links with only brief commentary. Details under the cut.

Read more...

Tags: programming, classics, adventure, interactive-fiction, business

Comments? Tweet  

Weekly Links #303

19 January 2020 — No Time To Play

Hello, everyone! Soon after posting my previous newsletter, I managed to figure out what game to make, exactly, out of the three or so ideas I had for my new prototype. It's going to be a sequel to Glittering Light, that will hopefully do the concept justice for a change.

Screenshot from a roguelike game using ASCII art in 3D to depict a palace interior with red brick walls and colorful markings on the floors.

In other news, it has recently come to my attention that keypress events are deprecated in modern browsers. Had to update my venerable keyboard handler, that I've used in half a dozen games or more by now. Which also improved compatibility with Chrome and derived browsers. You can see the new one at work in Electric Rogue (also on Itch.io and Game Jolt). Enjoy!

From external sources, this week we have a write-up on the design of game verbs, vector font recommendations, and some links with little or no comment. Details below the cut.

Read more...

Tags: game-design, graphics, programming

Comments? Tweet  

Weekly Links #301

05 January 2020 — No Time To Play

Happy New Year, everyone, and welcome to 2020. I took some time over the holidays to release a small text adventure called Kitty and the Sea (IFDB link); you can read more details over there, since it's technically not a No Time To Play project, but I did use it as the prompt for an article about the link between walking simulators and interactive fiction.

Minimal, abstract art depicting a cat's paw print overimposed on a seascape: seagulls gliding over the water, under a warm sun.

On a related note, my previous newsletter was unusually popular for some reason, and that factors into my plans for the months ahead. Details below the cut, along with a couple of classic game retrospectives to give 2020 a good start.

Read more...

Tags: interactive-fiction, strategy, classics, graphics, programming

Comments? Tweet  

Weekly Links #281

04 August 2019 — No Time To Play

Hello, everyone! Work on the game picked up over the past week. It now looks better, has a title screen (and high scores), and different enemy types.

Montage of four screenshots from a videogame depicting a first-person dogfight against round spaceships, rendered in a retro, abstract style and neon colors.

Along with less visible additions such as gamepad support, this makes for everything I wanted in the initial release, apart from audio. Once that goes in, it's time to hit Publish and move on to other things for a while. No more burnout for me. At least this game has plenty of room for improvement, once I feel like working on it again. Besides, it will be open source as usual. So stay tuned!

In the way of news, this week we have:

  • some more thoughts on the slow death of Flash;
  • beginner mistakes with TCP;
  • To Pong or Not to Pong?;
  • a new interview with Al Lowe and
  • a retrospective of the Wing Commander series.

And that's about all. Details under the cut.

Read more...

Tags: news, preservation, programming, adventure, classics, interview

Comments? Tweet  

Weekly Links #270

19 May 2019 — No Time To Play

Hello, everyone! It was another week with nothing to post until Saturday. In my defense, I've been working hard on a visual edition of my game, which in turn uncovered some omissions in the prototype, so I had to go back and fix those too. Despite that, it took essentially as much time to make: another two weeks. Not bad at all, seeing how I had to make a GUI and it all took twice as much code overall.

So I give you Space Cruiser Orion. It was a bit rushed, to be ready in time for the newsletter. Still got to add sound effects and another small feature. But it's fully playable, even winnable, and doesn't it look gloriously retro?

And because this editorial is too short, let me announce that a sequel was planned from the beginning. Should be a lot easier to do, now that many details are all figured out, including a bunch of support libraries. Hopefully a few more ports, too, if this game proves popular enough, but somehow they never seem to be. Maybe some day.

In the way of news, we have a technical article about implementing game saves, and a couple of books about the implementation of classic first-person shooters. Details after the cut.

Read more...

Tags: graphics, programming, history

Comments? Tweet  

Weekly Links #264

07 April 2019 — No Time To Play

Hello, everyone! As of right now, Keep of the Mad Wizard is on the home stretch.

(Screenshot of a computer role-playing game showing a character sheet.)

Since last time, I implemented potions, added more content, and figured out what to do for the endgame. Even added a good chunk of it, apart from the ability to solve it with spells. Also a prologue and epilogue, that give the game at least the pretense of a story. The game is coming out shorter and easier than expected, but it's not automatic, and feels balanced enough. It even requires different play styles for the three classes!

And because working on a game is great for inspiration, I wrote yet another article about CRPGs, more exactly scope versus accessibility, for player and developer alike.

In the way of news, we have the long-awaited release of Pygame 1.9.5, Itch.io's new job board, a write-up about licensed games and a retrospective of the King's Quest series. Details after the cut.

Read more...

Tags: rpg, game-design, programming, business, classics

Comments? Tweet  

Weekly Links #260

10 March 2019 — No Time To Play

Hello, everyone! My adventures in teaching continued this week. And, you know...

Back in my day, any programming manual started with a crash course on things like base-2 and boolean math, and computer architecture. Now tutorials start with, "copy-paste this code into a new file". Guess the immediate consequences.

We desperately need to teach kids that game programming is 80% algebra, logic and analytic geometry. And that's a problem for two reasons: one, they've been conditioned to fear those in school, and two, language is a huge barrier.

Sure, about one third of the world's population speaks English these days, for better or worse. But how many of them are comfortable with English? Native speakers are a lot less numerous, and other people may lack the opportunity or inclination to practice much. On the other hand, translating books is a gigantic effort. The official Python tutorial is only available in four languages total, and the rest of the documentation is encyclopedic in size. I'm not sure what to do. Automatic translation doesn't really help. Crowdfunding concerted efforts, maybe?

Anyway, onward to the news.

On Monday, Konstantinos Dimoupoulos shares his Wireframe Magazine article on how to plan horror cities. Not much to say there, this is all excellent advice.

On Tuesday, I finally got around to preparing a download package for Ramus 2. It only took me two years! Since then, I've been slowly working on a command-line runner for the same, that I hope will open up new possibilities.

On Wednesday, things got interesting. Just last week, I was talking about the unfortunate implications of humans-as-default in fantasy roleplaying. Well, look what just crossed my Tumblr dashboard: a discussion of the "common" language trope. And I love the proposed solution. There! Was it hard to make your ISO Standard Fantasy Setting not be a repeat of the British Empire except with elves and dwarves for colonized people?

On Friday Rock, Paper, Shotgun has words about the way space trading games have evolved as the future proved a lot less glamorous than once thought, from the freewheeling optimism of Elite to the disheartening realism of games like the recent (and acclaimed) Diaries of a Spaceport Janitor. A poingnant reminder of how my generation's dreams were shattered, to say the least.

Enjoy this Sunday. While times aren't too bad yet.

Tags: game-design, rpg, programming, philosophy

Comments? Tweet  

Weekly Links #256

10 February 2019 — No Time To Play

Hello, everyone. Some weeks I get so caught up in a project or other that it leaves me little attention to spare for gaming news worth commenting on. This time it was the interpreter architecture mentioned last week. Figured I'd give it a good workout, you see, and work out it did, a lot better than expected. As of this writing I'm on the way to releasing a real-world, if not very useful, version. People are already interested in the online preview, so my hopes are high for once. And damn if it doesn't feel good to have a scripting language that can be ported to a new platform literally in hours, even as it's grown enough to not really be a toy anymore.

In the way of news, I hear the big publishers are all complaining about a terrible 2018, financially speaking. By which they mean profits are a few percent below their unreasonable expectations, so they're firing hundreds of people to keep the obscene bonuses of CEOs intact. Cue a "meanwhile, in Japan" moment: it was just last month, if memory serves, that Nintendo management cut their own wages in half so they'd have enough to keep paying their employees. Again.

That's why they continue to be so successful, folks: for all their sins, Nintendo is a humane business, and it shows in everything they do. Including games.

One other topic this week: at the very last moment, fluffy alerts me of a new game development tool called Môsi. It's inspired by Bitsy, except with a lot more features and designed for making games on a smartphone.

Or so it's supposed to; on mobile Chrome all I got was a blank screen. On desktop I can play the example, and browse through the various editor tabs, though actually editing sprites and rooms doesn't work in either Opera or Firefox. Oh well, Môsi is in early development. And there's quite a bit to look at: you can choose the size of your game world, that of a screen, a sprite, and even how many colors your game will have. Sprites can have multiple animation frames, and rich interactions are possible, including branching and looping. In other words... programming (cue finger wiggling), though it's all visual.

Not much more to say about it at this point, but this right here is a thing to watch closely. Could easily take off in a big way. And did I mention it's open source?

Thanks for reading, and enjoy the Sunday!

Tags: tools, programming, business

Comments? Tweet  

Weekly Links #255

03 February 2019 — No Time To Play

Hello, everyone! It's been another week when I didn't work on games. Instead, my attention has been consumed by yet another scripting language. Or rather, a framework for making any number of them very easily, in tiny amounts of code. This is more important than it seems. For one thing, it will finally allow me to put one in Adventure Prompt, a goal that drove much of my research in recent years. And then, the radical simplicity of the system opens up opportunities I couldn't even consider before. Enter the guerilla scripting engine, that you can add to mostly any software on a whim. It's that easy.

Details soon. In the mean time, lets see what's new in the gaming world.

Not reporting, in any event. Dear game journalists, do you realize that various platforms get exclusive titles all the time? That's not a "war", it's business as usual. And the only result is that the rights holders soon discover how much money they're leaving on the table, so they back out of the exclusivity arrangement. Hopefully.

People do it all the time with Steam and nobody bats an eyelid. But enter Epic's new store, and people seem unable to think clearly all of a sudden. For some reason.

(Also, duuudes. Can you please stop with the 60FPS snobbery already? It's getting tiresome AF. And damaging.)

On a more cheerful note, Ren'Py just turned 15, and its amazing journey gives no signs of slowing down quite yet. Which fills me with joy. Maybe one of these days I'll manage to pick it up again, too.

Last but not least, this weekend Hardcore Gaming 101 covers Dune (Cryo's 1991 game), in their usual detailed manner. I'm yet to finish reading as of this writing, but it brings back all kinds of memories. Funny how the Dune game that didn't span a major, enduring genre remains the one that's fondly remembered, and amply discussed when it comes up.

With that, I'll let you enjoy the Sunday. Bye!

Tags: programming, business, adventure

Comments? Tweet