csanyk.com

video games, programming, the internet, and stuff

If I could design the AtariBox…

Atari’s crowdfunding campaign for the AtariBox (or VCS, as they’ve taken to calling it) is underway and has reached the $2.5 million mark, with 25 days left in its IndieGoGo campaign.

My initial interest in the new console has been dimmed by the lack of concrete information about what it would be and what games would be available for it.

We now have some of that information, at least in terms of hardware specs. But we still haven’t seen much in the way of a list of new game titles that will be accompanying the launch. AtariBox will not be compelling enough to gamers if it does not offer a library of exclusive new game titles that are fun to play, and not available on existing platforms.

I’m not opposed to the idea of a new Atari console at all; done right, I think it could be great. The concept of a neo-retro game console is appealing. Atari’s approach is to use emulation to deliver the retro, and commodity x64 hardware to provide the modern.

The problem with this is that the specs aren’t impressive to modern gamers, and this amounts to a “me too” approach that will not provide Atari a means to differentiate themselves in the market. History has shown that the home console market can support at best 3 major competitors, and it’s unthinkable that a rebooted Atari can knock any of the established Big 3 out of the market.

Home consoles are dominated by Sony, Microsoft, and Nintendo. Desktop gaming is dominated by Windows. Mobile device gaming is dominated by Google and Apple. I’m very doubtful that nostalgia alone can give Atari the leverage it needs to re-enter the market. Not when Atari’s IP has already been re-packaged and sold on every available platform to be launched since the NES.

And we still don’t really know what new games will be launched on the console.

Atari needs to deliver something unique. And it has to be good.

Here’s what I’d do, if I were Atari.

Best Legacy

To properly honor Atari’s legacy platforms, I would include FPGA implementations of the Atari 2600, 5200, 7800, and 8-bit computer line. FPGA implementation of original hardware is the best way to provide the most authentic experience of Atari’s legacy. It would quiet objections of “But I can already run an emulator!” The state of emulation is very, very good, but an FPGA would be the ultimate.

I don’t think it would be too difficult to implement, either. The Atari 7800 was backward-compatible with the 2600, and achieved this by including the complete 2600 system in its hardware design. So by implementing an FPGA-based 7800, you get the 2600 as well. The Atari 5200 was essentially an Atari 8-bit computer, stripped down to remove the disk drives and keyboard to make it a dedicated gaming console. So a FPGA solution for the 5200/8-bit computers can share a lot of common components as well. Make both FPGAs a superset of the hardware needed to support the largest system, while keeping compatibile with all systems.

We can’t forget about Atari Coin-op’s legacy. Here, there’s too many unique system architectures to be able to re-implement each of them in an FPGA, so here I think we can accept emulation.

It would be neat if Atari would sell actual arcade cabinets that you can dock an AtariBox into, and use it to drive a more authentic arcade experience for those who have the budget and floor space for it. Modular, interchangeable control decks that can plug into the cabinet and provide the exact control set and layouts for classic arcade games would be amazing. Even just selling kits or blueprints to enable enterprising hobbyists to build-their-own cabinets to an Atari-defined standard would be great.

For less well-heeled fans of the arade, the AtariBox could still be played through a normal TV, with a gamepad-type controller adapting to each Coin-op title as best it can.

What legacy game titles should be included?

Ideally, all of them, of course. First party, third party, everything.

Copyright won’t allow that, of course. But it would be great if the entire Atari library, including third party releases, could be included.

But undoutedly, any list of essential games for Atari consoles would include games published by third parties, and they deserve to be included. The rights to these games would be a nightmare to properly secure. Personally, I’m in favor of expiring copyright on old computer software much earlier than the law currently does. A 10 or 12 year copyright, non-renewable, is more than reasonable. It’s just a dream, but then this entire post is just a dream.

I suppose if we had to accept a curated list of game titles, I wouldn’t miss the terrible games, but I don’t know that everyone can agree on what’s terrible. Since the size on disk for these games is tiny, there’s no technical reason not to include everything.

While I’m thinking about it, I also want the ability to install my own ROMs. Hacks and homebrews are a part of the Atari ecosystem, and should be embraced by the new console. Installing them should be as simple as copying the files to a directory.

Along with the ROM images, customers should expect high-quality digital copies of the manuals, original box art, etc. Since this is a fully modern console, why not develop a robust social community around each game title, as well? Online high score leaderboards, discussion forums, built-in streamcasting support, the works. The community integration features would make owning an AtariBox a must even for gamers who already own all the original hardware.

What peripherals devices should be supported?

This is a tougher question. I’m inclined to want every port and connector to be replicated on the new box, so that the old devices can be plugged in and work, since it’s unlikely that Atari would ever resume manufacturing all of them. But that’s highly impractical, and cost-prohibitive.

Perhaps some kind of USB-to-legacy port adapters could be produced, so that the console itself can have just a small number of USB ports, and any legacy hardware can be routed through it.

Better would be modern production of updated classic designs. I really like Atari’s new take on the CX-40 joystick, and I wish they’d also produce a modern paddle controller as well.

Retro Modern

I really don’t want to play Skyrim or PUBG on an AtariBox. If I want to play modern games, I already have plenty of systems to do that. If it can do it on the AtariBox, then fine, whatever, but I don’t care.

Oyua tried to court Indie game developers, hoping that an open platform with low barrier to entry would be attractive. This approach had merit, but utlimately failed, and so I don’t endorse Atari taking the same approach.

I think it’s interesting and worth a sidebar to examine why Ouya failed.  There were more reasons than what I’ll go into here, but I think these are the ones that are most relevant to Atari in 2018.

First, Ouya tried to market itself as an indie-friendly console, that was easy to develop and publish for.  Every Ouya was a devkit.  The thing was, Ouya came at a time when it had already become incredibly easy for indie game developers to publish games. This wasn’t true several years previous to Ouya’s launch, but it was true by the time Ouya hit the market, and is even more true today. Maybe consoles were still hard to develop and publish on in 2012, but in the PC and mobile space, self-publishing has been very easy, and that’s where indie developers had thrived.

It still remains difficult, however, for indie developers to publish games that are financial successes.  There are a tiny number of notable successes where indie games have made their developers wealthy.  Most developers struggle to make enough money to cover development and operating expenses. Designing and making a very good game is still fairly difficult, but publishing it is comparatively easy. But it’s not enough to simply publish a very good game. You have to know how to market it. A lone indie developer has an almost impossible time doing it all well enough to stand out among thousands of games being released every year.  Many newly released games drown in a maelstrom of other new releases, failing to secure the attention they perhaps deserved.

Second, Ouya didn’t provide indies with a compelling reason to release their games exclusively on Ouya, and the lack of exclusive titles gave gamers little reason to pay attention to Ouya. Ouya started with a lot of crowdfunding hype, but tiny marketshare, and it needed to grow marketshare quickly to be viable.  But they lacked first-party games, and this was a major mistake.  Ouya failed to command market attention, didn’t build marketshare, and thus wasn’t attractive as a market for third party game developers to target with exclusives. It could run games that already ran on other platforms.  But it wasn’t particularly powerful, so couldn’t play everything.  Atari seems to be doing exactly the same thing with AtariBox.

Ouya was based on Android, which in turn was based on Linux, so game developers who wanted to reach the widest possible market were better off developing games for Android which has hundreds of millions of devices, or Linux.  AtariBox is also based on Linux. Ouya lacked the deep pockets that would have been needed to pay developers for exclusive rights to a game, so Ouya never had a “killer app” that would compel gamers to buy Ouya.

Until I see them announce some exclusive new first-party titles, I see the same happening to Atari. Atari can and must learn from this if it wants the AtariBox to be successful, and I haven’t yet seen indication that it has.

The AtariBox we’re getting from Atari is just a nice looking x86/64 system, meaning it’s generic PC hardware that can play games developed to run on this hardware, which means potentially a very large library of pre-existing games. But pre-existing games aren’t enough to compel users to buy a new device. It’s good for developers because they don’t really have to do much to make a game run on the AtariBox, but it’s bad for AtariBox because the same games can be compiled to run on Xbox One, or Playstation 4, or Nintendo Switch, or Windows, or Android, or iOS, and people already own those.

What I would have liked from Atari would be imaginative interpretations of what could have been, if Atari had stayed in business.

In the early 80’s, the differences between different systems were much more apparent. A game might be developed and released on Atari 2600, 5200, ColecoVision, IntelliVision, Oddyssey2, Commodore 64, Apple ][, and IBM PC, ZX Spectrum, MSX, etc. but it would be written from scratch, or ported to each specific hardware architecture, each of which had its own distinct capabilities and limitations. Limitations which, especially for the more primitive sysetms, gave all games for that system a somewhat distinct appearance. This meant that, even if you had never seen a particular game before, you could look at a screen shot for a game and have a pretty good chance of being able to guess what system it was running on.

With today’s computers, and their 64-bit, multi-core, multi-gigaHertz CPUs, multiple gigabytes of RAM and Terabytes of Storage, 32-bit color and 1080P or 4K resolution, there is nearly limitless capability, but barely any constraints. Game developers are free to make games that look like anything. But yet they mostly make games that look the same — only, the constraint is the market success of whatever the best selling games are — design tends to converge on the look of the top AAA titles.

Those constraints that the old systems had often served to inspire creativity, out of necessity to work around the limitations of tiny, slow systems. In recent years, “fantasy consoles” such as the PICO-8 have turned back to this idea that small systems with harsh constraints can inspire creativity while achieving a greater unity of aesthetic.

It would be very cool if Atari embraced this, by designing a “fantasy console” to run neo-retro Atari games on. This fantasy console could be a virtual machine, and run on commodity hardware, which would help keep costs down and also give the AtariBox capabilities where and when it needs them — for things like media streaming and so forth.

I think that Atari could design a flexible fantasy console, with soft constraints that are configurable, to be managed by the game developer, who could relax them by degrees to simulate hardware constraints that would have been in place in 1977, or 1982, or 1984, etc. A configurable fantasy console could impose limitations such as: number of sprites that can be drawn to the screen, number of colors per sprite, number of colors displayed simultaneously in one frame, number and type of sound channels, specific color palettes available to the graphics system, amount of memory available to the game program, and on and on.

This would give AtariBox games a specific flavor, and make its games look and feel distinctly unique from the current modern-day look.

We won’t be getting any of that, but I think it’s an interesting idea. And there’s no reason Atari couldn’t give us a neo-retro fantasy console to develop for and run exclusively on the AtariBox hardware, without changing anything else about how they’re doing the actual AtariBox.

The way to attract developers to create exclusive titles for the AtariBox is simple: Pay them, and respect them. I doubt that Atari has the pocket book for this, but if they could pay indie developers say, six figure salaries, and/or royalties, to create unique and exclusive games for an AtariBox fantasy console, I’d be very excited — both as a gamer and as a developer. The current industry is incredibly competitive and harsh, and the way it treats developers is not sustainable.

What about the GAMES?

The most important thing about the AtariBox, as with any game console ever released, is the games it plays.  AtariBox must have good, unique, exclusive games that excite the market and make people feel compelled to own the console, or it will be a flop.

I can’t answer the question, “what do people want?”  But I can say, if AtariBox’s new games are just the same modern titles that are available on existing consoles, it will not excite the market or compel buyers.

I can better answer the question “what do I want?”

I don’t really want Atari to try to do modern AAA games with old classic IP.  You can easily envision Atari putting a Pitfall Harry skin over Lara Croft Tomb Raider, or making “Combat 2018” as a Call of Duty/Medal of Honor/Battlefield FPS.  I don’t want more of the same, “me too” games like that.

What I would rather have is new games that continue the aesthetic and style of the early 80’s Atari. That’s the main reason I suggest AtariBox use a “fantasy console” approach, to constrain developers to those limits.  There isn’t really a word for it — I guess retro is it — but if you can imagine what Steampunk did for science fiction based on an 1890s world, I’d like AtariBox to do for videogames based on a 1980s world.  I want games that answer questions like: “What would Pitfall 3 have been like, if they’d done it on the 7800?” “What kind of games could have been made for an Atari with 1 megabyte cartridges and 128 kilobytes of RAM?”

Games like Solaroids and Rashlander would be right at home on a console like this.  Pac Man: Championship Edition, which came out over a decade ago on Xbox 360, would also be a natural fit for this console.  (I bought my Xbox 360 solely because of Pac Man CE.) These titles already exist though, and that kindof begs the question of why the AtariBox is even needed.  Retro games already exist, and exist on multiple modern platforms.

But I do think AtariBox would be best off targeting the market that wants to play that kind of game.  Atari has trademarks that they can reboot, and if they do it the retro way, rather than trying to bring them up to date, with the right talent behind it, it could be awesome.  As AtariBox exclusive titles, it could make the system a success.  And without them, I don’t see how it can be.

Atari launches IndiGoGo pre-order for AtariBox (VCS)

Atari’s crowdfunding campaign for the AtariBox (VCS) launched earlier today.  [Editor’s Note: I am refusing to call it the VCS in order to avoid polluting the namespace with the original Atari VCS, launched in 1977.]  With a fundraising goal of just $100k, by 10AM they had already exceeded their funding goal by almost 8x.  $100,000 is barely one full-time employee salary for a project like this.

Despite the lack of detailed information about what the AtariBox is, and the loud skepticism of most of the gamer community, it seems that thousands of suckers are eagerly lining up to pre-order a videogame console that Atari don’t plan to release  until mid-2019.

The announced specs for this system are more than adequate to serve as an emulation box for vintage 80’s game systems, but that’s hardly surprising, considering that emulation of the Atari 2600 has been around for at least 22 years (Stella was released in 1996, when computers were considered fast if they had 133Mhz CPU and 16 MB of RAM.  The MOS 6507 CPU that drove the Atari 2600 had a 1Mhz CPU and could access up to 128 bytes of on-board RAM.  That’s bytes, not kilobytes.)  But as to its “modern” gaming capabilties, thehardware specs of the AtariBox is about on par with a high end gaming PC from 2006 (4GB RAM, 32GB onboard storage).  The AMD Bristol Ridge CPU and Radeon R7 GPU — I would have to assume based on Atari’s form factor this will be an R7 240 — are obviously more current, but still old (AMD’s Bristol Ridge was launched in 2016, so still pretty current, but the Radeon R7 line dates from 2014, and is decidedly midrange and budget at a sub-$100 pricepoint today).

It appears that coincident with the launch of the pre-order, Atari is also, only just now, starting to work out a process for game developers to submit titles to Atari for publishing on the AtariBox platform. This gives the console a distinctly OUYA-like feel. I liked the idea of a console that was open to publishing for any indie developer, but in practice this strategy proved unsuccessful as Ouya attempted it, with hordes of low-quality shovelware published to the system by developers who weren’t yet ready for prime time.

AtariBox Developers Announcement... This seems rather vague and "to be determined" for getting third-party developers on board, and they're ALREADY taking pre-orders?

This seems rather vague and “to be determined” for getting third-party developers on board, and they’re ALREADY taking pre-orders?

This gives me the feeling that Atari have no real clue about how to successfully launch a console in 2018.

Still, you can pre-order just the controllers, and I do kindof like the design of Atari’s contemporary take on the classic CX10/CX40 joystick.  If the build quality is good, and if it will work with any PC over USB or Bluetooth, then it might be worthwhile to get one.  But putting $$$ down on a pre-order and then waiting at least year for it, if they are able to launch on time, is definitely a gamble.

Beyond that, I can’t recommend pre-ordering anything.  Wait for launch, and see whether Atari has any decent first-party launch titles supporting the AtariBox, and if there are any killer exclusive titles that make the console a must-own device.  It seems unlikely to me — pretty much any game developer wants to maximize sales, and you do that by publishing to any and every platform that you can, not by going exclusive.  Exclusive titles tend to happen only when the owner of the platform wants to pay the developer a mountain of cash to keep the title exclusive.  Think Microsoft buying Bungie in order to keep Halo exclusive on the XBox.  I haven’t seen any indication from Atari that they have the inclination or the deep pockets to do this.

YoYoGames to enter Game Publishing

A few days ago, YoYoGames announced a new game publishing program for games produced with GameMaker Studio.

Not a lot of details are to be found in the announcement.  With established, already-existing services such as Steam, Itch.io, CartrdgeGoogle Play, and Apple’s App Store it’s not yet clear what advantages YoYoGames are able to offer to GameMaker developers over other publishing platforms.

Ludum Dare 41 results

Ratings have been posted for Ludum Dare 41.  InvadTris received these scores:

Overall: 761st (3.298 average from 54 ratings)
Fun: 537th (3.346 average from 54 ratings)
Innovation: 659th (3.265 average from 53 ratings)
Theme: 554th (3.647 average from 53 ratings)
Graphics: 930th (2.817 average from 54 ratings)
Audio: 755th (1.894 average from 35 ratings)
Humor: 935th (2.162 average from 39 ratings)
Mood: 1002nd (2.689 average from 47 ratings)

The rankings may not look very high, but the numbers I earned in Overall, Fun, Innovation, and Theme are all solidly above a 3, which I am proud of.  I think I might have done even better in the ratings had I completed the project in the window of the jam weekend.  Due to my schedule, I was only able to put in 17 hours during the Jam, and submitted a game after deadline, which was playable but lacked considerable polish that I added over the next week+.   A lot of people rated the 1.0 release, which according to the rules is proper, but I can infer from the score I received in the Audio category that at least some reviewers rated one of the later builds.

InvadTris 1.0

InvadTris 1.0

InvadTris 1.8

InvadTris 1.8

Considering I wasn’t necessarily planning on completing anything more than a design document this time around, I think this is more than OK.  I received ratings from as many as 54 peers this time, which I think might be a record.

Importantly, I took away from the weekend a renewed enthusiasm for game development and took great joy in the work.  This project was very fun to work on, and progress was steady and came more easily than in many of my other Ludum Dare projects.

I have still more planned for InvadTris, and will continue to develop it in the days ahead.

How I lost 3.5 hrs of sleep last night by being dumb

I use GitHub, like a lot of developers, to handle my project files.

I like GitHub a lot.  It’s great. I don’t understand it as well as I’d like, but what I do know and use, works very well, and is very useful.

I don’t really know git, the command-line program that GitHub is based around, which does all the version control magic you need. Because I’m a dummy, I only use GitHub Desktop for Windows.  But that’s fine; it does exactly what I need it to do, I haven’t hit any limits with it as yet, and I’m able to understand/figure out its interface to do what I need.  That’s the whole point of a tool. Who has time to read all the docs and learn the muscle memory to type all the commands manually, am I right?

But I say this because I need to make it clear, I’m not entirely clear where git ends and GitHub begins. I’d been hearing about git and how good it is for, I don’t know, years and years, before I finally started using it. About a year ago, I grew tired of all the obstacles that were preventing me from just sitting down and forcing myself to learn to use git from the command line, and decided to just jump in and use GitHub rather than figure out how to set up git on my own server and then do stuff with it via shell commands. I was still worried about doing something that made me look dumb in public, so I didn’t use my GitHub account much at first, until I grew tired of that fear blocking me, and decided to just spend the $7/mo on an account so I could set up private repositories and enjoy the ability to screw things up as much as I dared, without it being on full public view.

This was when I started to make serious progress with getting into GitHub. And I found that with GitHub Desktop, the Windows app that wraps a bunch of command line magic that I wish I knew, but don’t, was amazing. It took a little bit of trial and error to learn the ins and outs, and a very small number of minutes watching tutorial videos.  But that was what was so great about it.  If I had a question, I could search GitHub’s help, and most often I’d find a video that was, at most, about 2 minutes long, that answered my exact question. Most IT tutorial videos feel like they need to spend 20-30 minutes going through some process, and it’s too much to follow, but these bite sized videos were just what I needed.

Anyway, now that my background is explained, I’ll talk about something that happened last night.

I have a project that I’m managing in GitHub, my Ludum Dare 41 project, InvadTris. I had just spent the evening going over the project and made a few minor edits, which I checked in.  As I did my commit, GitHub Desktop notified me that it had an upgrade available.  Without thinking, I clicked the button to install the update.  It installed in a few seconds, and then I noticed that while I’d submitted the commit, I hadn’t yet synced it with GitHub.  So I went to do that, when GitHub prompted me to log in.  I entered my credentials, and authentication failed.  GitHub Desktop showed me as being logged in (I guess locally?) but authentication to github.com through GitHub Desktop was failing.

I tried logging out, then logging back in, as the interface recommended, but this did not fix the problem. I logged out of GitHub in my browser, and logged back in, just to verify that I did indeed have valid credentials, and this was successful.  I wasn’t sure what else it could be, so I tried removing my SSH key in my GitHub account settings, but this didn’t help, either.

I figured I’d open up a ticket with GitHub Support, and they’d give me a solution, so I started writing up a ticket.  I went to check the version number of GitHub Desktop, and in the About screen it told me that I was on the last version of this particular tool, which was no longer actively being developed.  I learned also from this that there was a new GitHub Desktop, and downloaded and installed that.

The New GitHub Desktop had no problem authenticating me.  Problem solved, right? Well, almost.  For some reason, the new GitHub Desktop didn’t pick up any of the local repositories that my old GitHub Desktop knew about.  So, to complete syncing, I’d need to manually add my repository, then I could sync.  Later, I could introduce all my other local repositories into the new Desktop, and then I could just use the new version from now on.

Well, for some reason, the New GitHub and the Old GitHub didn’t seem to agree with each other on the status of my local repositories.  This is where intricate understanding of how git and GitHub works would have come in very handy, but I didn’t have that.  All I had was Old GitHub telling me that I had a recent commit locally that was pending sync, and New GitHub telling me that it saw no changes, so had nothing to commit, nor anything to sync.

WTF? I still don’t know. I quickly went through some of my other local repositories, and found that they also disagreed with their check-in/sync status according to Old GitHub as well.

Fortunately, I eventually discovered that I could simply roll back the update to the old GitHub Desktop, and once I had done so, it was once again able to authenticate me to GitHub’s server, and I was then able to sync up my local files with the server.

I understand that the whole point of git is to have de-centralized version control, but I still think of the repository on GitHub’s server as The Repository.  The files there are backed up, are offsite relative to me, and I feel comfortable knowing that they exist somewhere else in case of disaster.

Now that I have everything synced with the server, I can switch over to using the New GitHub Desktop, and life will be good.  If my other repositories still have disagreements between the Old and New GitHub Desktop, I can resolve them, and it won’t be a problem.

In all, this took me about 3 and a half hours to resolve, from the time that I applied the bad update to Old GitHub, to restoring Old GitHub to the version that works and completing my sync.  Unfortunately, I was up half the night doing this.  I was in a panic, and whenever I have problems with a computer that means I am at risk of losing data, I just can’t sleep until the problem is solved.

So, my takeaway from this experience is that the primary cause of the problem was a failure of the tool, but it was compounded by my stupidly not completing my check-in/sync work before applying an update.  In recent years, software quality has gotten so good across the board that I’ve grown accustomed to upgrades going without a hitch.  I can install Chrome upgrades, relaunch, and it’ll remember all my preferences, all my tabs and sessions, and it’s not even a concern at all anymore. 10, 15 years ago, when I’d upgrade my web browser, it was this big ordeal of bookmarking any open tabs that I wanted to return to, checking all my extensions for compatibility with the new version, installing the upgrade, re-checking all my configuration customization, etc.  Such a pain.  It’s good to remember how much better things have gotten over the years.  This time, though, it bit me.  If I’d simply completed the work I was doing before applying the upgrade, I could have went to be a lot earlier, and worried about the authentication bug later.  So, that’s a good lesson to remember.

Also, as this article shows, I don’t mind being dumb in public after the fact, if once I’ve learned from the mistake, I can share what I’ve learned.  I still don’t know git, or GitHub as well as I’d like, and I’m sure I’ll never have perfect, full understanding of either, but they’re very good tools, and I’m glad I can use them well enough.

InvadTris: A Ludum Dare 41 Game

Over the weekend, I participated in Ludum Dare 41. The theme for this Ludum Dare was “Combine 2 incompatible genres”.  The game I produced, InvadTris, is a mashup of Space Invaders and Tetris, combining the static shooter with a block puzzle game.  I’m very happy with it, and am continuing to develop it. It’s already a lot of fun to play.InvadTris

Play and Rate InvadTris

Post-mortem article

 

Site update

I’ve done a little re-design to the menu for the site. My goal was to make older content more visible to visitors, and to make my projects more visible. I’m not done with this yet, but the first two menus (Game Development Tutorials, Projects) now have sub-entries.  Some of the entries under Projects all leave the site to go directly to where the project page is found on the GameMaker Marketplace, or elsewhere.  This seems to work ok in a desktop browser, however, on mobile or narrow screens the sub-menu entries don’t seem to be visible.  I will have to see what I can do about that. Please report if you have a problem navigating the site.

AtariBox/VCS smells like vapor, poop

Today, UK news source The Register published an article on the new Atari VCS, formerly known as the AtariBox.  I refuse to call it the VCS, because that name is already in use, so I’ll just stick to calling it the AtariBox, to avoid confusion.

http://www.theregister.co.uk/2018/03/22/atari_lempty_box/

I love the URL for the story.  “Atari Lempty Box” has such a nice ring to it. Like a French existentialist “L’empty Box” that smokes cigarettes in Parisian cafes, complaining bitterly about the meaninglessness of life.

Lol. OK. Here’s CNet’s slightly more forgiving coverage.

The Atari fan communities that I follow on Atari Age and Facebook have been roasting this system for months. There’s so much to signal that this is going to be a disaster.  The biggest is the lack of any hard information about hardware specs, developers, games, capabilities, etc.  What has been announced is either vague or very uninspiring.

And now this article.  After months of feeble, empty pre-launch hype, and an aborted attempt at a crowdfunded pre-order, “Atari” shows up at GDC 2018 with an inert piece of plastic shaped like their new console, and no new information.  The CNet article at least explains why — according to Atari, they couldn’t agree on the controller, and ended up rethinking the whole project, which is why they canceled their crowdfunding campaign last year, and why they still don’t have a lot to show for themselves yet.  But that’s still not a very good sign.

Putting aside the obvious con job that this is turning out to be, let’s look at why AtariBox is such a bad idea. Let’s take a look at AtariBox’s selling points:

  1. OMG the case! It has real wood grain! An Atari Logo! And lights!

    By far, the biggest selling point that Atari have presented was the attractive design of the case.  It looks nice, I’ll give it that.

    But that’s it. It has an Atari logo on it, and real wood grain.  I’m pretty sure the original Atari used fake wood grain. The hardware inside the case is what matters, though, and we still know nothing about that, other than some very vague mention that it’s going to be AMD-based.

    It looks like an original woodgrain Atari 2600 was crossbred with an  old cable TV channel selector boxes they used to have in the 80s.
    Atari 2600

    +

    Image result for 80s cable tv box

    =

    AtariBox
    I’ll grant it does look nice.  But, I don’t really care that it looks nice.  When I play a game console, I’m looking at the screen, not the case. I play the console for the games it can run, not for its brand. A game company creates a good brand by consistently creating great games.

    Focus on the games. AtariBox has revealed almost nothing about the games it will run. Over a year of hyping the new console. That’s troubling.

    We’re teased that they’re talking to developers about creating new games based on classic Atari IP.  We’re told that AtariBox will run hundreds of “old games”.  We’re told it will run “new games” too.  We’re told it will cost ~$300, so we don’t expect it to be capable of running cutting edge games, at least not at high framerates with all the bells and whistles.

  2. It runs Linux!

    Nothing against Linux, I love open source software. It’s a good choice. But so what? In 2018, anything can run Linux. It’s not a big deal.

    The real selling point of a game console isn’t the OS, it’s the Games.

    IT’S THE GAMES, STUPID.

    A nice Atari-themed desktop environment would be cool, but inherently whatever they build to run on Linux could be run on any other hardware running a build of Linux compiled for that hardware. Thanks to the GPL, Atari is required to make available the source code for this Linux build.

    Like, I could take a commodity AMD PC, slap AtariBox’s Linux distro on it, and then I could run the same software on it.

    But perhaps they’ll keep their applications that run on top of the Linux layer proprietary. (Of course they will, who am I kidding?)

    In that case, what do I care that they made use of some open source stuff? As an open source proponent, I like when open source propagates and begets more open source. Open source being leveraged as a platform from which unfree software is sold isn’t exciting if you’re attracted to the openness aspect of the system.

  3. It streams video as well as plays video games!

    Yeah? So does my TV. So does my phone. So does my car. So does everything.

    This is 2018. Streaming video over the internet is not amazing anymore, it’s basic. And just like how every home appliance in the 1980s had to have a digital clock, which no one cared about, because they already had a dozen appliances that all had digital clocks built into them, not including it would be weird because everything has it.

    But do you need to buy another thing that streams video?

    No, you don’t.

  4. It plays old games AND new games!

    Old games:

    I like old games. I’m glad new devices can play old games. If you didn’t have that, old games would die off. So I’m glad there are new devices that can play old games.

    But here’s the thing: This is another solved problem. We have Stella. In fact, it’s pretty much guaranteed that the old games that you can play on an AtariBox will be played through Stella. After all, why would they bother to develop a competing system to run Atari games, when Stella is stable, mature, open source, and amazing?

    It’s remotely conceivable that rather than emulating the Atari 2600 in software, they could have their hardware include an FPGA implementation of the Atari 2600 hardware, which would be pretty cool, since it would be that much closer to the original hardware, and could perhaps do things that Stella can’t do. But I can’t think of anything that Stella can’t do. I’m sure Stella must not be 100% perfect, because nothing is, but I have been using it since at least 1996, so 22 years, and it was pretty damn good even back then, and I couldn’t tell you something that I wished it did, but doesn’t do as well as I want it to. Granted, I’m not a hard core user who deeply groks the hardware it emulates and can discern imperceptible differences between original hardware vs. emulator. It’s possible that there’s something Stella can’t do, or can’t do well, that would make an FPGA Atari worth it.

    But it’s probably useless to speculate about it, because it’s all but given that the AtariBox isn’t going to be an FPGA system.

    Even if it was, AtariBox almost certainly won’t be selling you every ROM ever released. No single entity, not even Atari, owns the IP rights to the entire Atari 2600 library. At best, they’ll be offering a good chunk of the total library. And granted, out of the 700+ titles developed for the Atari 2600, a huge proportion of them are not good enough that anyone is going to miss them. Still, the entire library is under a megabyte. So what the hell, you might as well include everything.

    But this is where “abandonware” (software “piracy” of “dead” systems) shines.

    (Of course, Atari never died, if people never stopped playing it, did it?)

    But it did exit the market, and that’s what I mean by a “dead system”. Even notwithstanding a brilliant homebrew community continuing to publish new titles for the system, I still think it’s reasonable to consider the Atari 2600 dead, and not just dead, but long dead.

    Once it was no longer viable to sell in the mass retail market and sustain a company, if our copyright laws were just, old obsolete games should have been ceded to the public domain, say abandonware proponents.

    Of course, legally, that never happened.

    And so, year after year, we see various attempts at re-incarnating Atari’s classic library of games. This never really stopped happening.  NES killed Atari, but many classic titles of the Atari era have NES ports.  And SNES.  And anthology collections on every generation of game console since then, until now.

    See what I’m getting at?  Why do we need an AtariBox to “bring back” the classics, when this stuff has never gone away?

    But the thing is, these commercial repackagings that we get re-sold again and again, are always inferior to what you can get if you aren’t encumbered by intellectual property laws and can treat 30-40 year old software as having entered into the public domain.  Go to a ROM site, download 700+ Atari 2600 ROMs in one click, unzip, launch Stella.  You’re good to go.

    New games:

    I like new games, too!  But there’s no shortage of platforms to play them on already!  What does AtariBox offer that’s new or different from XBox, Playstation, Switch, PC, Android, iOS?  What could it offer? The company calling itself “Atari” doesn’t have the deep pockets of Microsoft, Sony, Nintendo, Apple, Google.

    Exclusives? Nobody wants to be exclusive on the smallest upstart competitor’s box.  Successful games that people want to play are generally ported to as many platforms as possible.

    Nintendo doesn’t port their first-party titles to Xbox and PlayStation, but that’s because they’re very well established, and well-heeled, and they can afford to.  That’s what it’s like when you never went bankrupt.

    Atari has some very iconic, classic IP, which they could conceivably bring back, but it’s not nearly as attractive as Nintendo’s A-list. Tempest 4000 looks pretty cool, but Tempest is not Mario, Zelda, or Metroid caliber, not even close.

    Various incarnations of Atari already have re-packaged and licensed that IP to anyone and everyone over the last 20+ years.  They could try to create some brand new titles inspired by their old IP, and keep it reserved as exclusive content to help sell their platform. This is probably what I would be most interested in.  Not playing “new games” from a couple years ago, like Skyrim or Hotline Miami on AtariBox, but playing an all-new Pitfall! that looks and feels like the Atari 2600 game, and just has some more to it. Give it to the guy who did Spelunky, maybe.  Let him see what he can do with it. Or maybe bring back David Crane if you can get him, and see what he can come up with now.

    But the thing is, if those games are any good, they would sell far better, wider, and more copies if they were made available on every platform. We learned this a few years ago from Ouya. Ouya courted indie developers, but indies released anywhere and everywhere they could, and in the end no one gave a shit about Ouya.

    The AtariBox hardware is all but certain to be less powerful than the XBox One, PS4, or even the Switch.  So it’s not going to play cutting edge new games, but will play “new-ish” games from 2-5 years ago that we’ve already seen and played through.  Why would we want to buy them again, just to play them on a box with a Fuji logo on it?

As much as I would love for there to be a viable Atari console in 2018, I just don’t see what possible niche they could occupy that would work for them well enough to enable the company to compete in today’s market.

Visual theory of the Z3D Engine

Editor’s note: [I originally wrote this as an Appendix to the documentation for Z3D Engine, but I think it’s interesting enough to deserve a slightly wider audience.]

I have to preface this section by saying that I have no idea what I’m talking about here, but am trying to learn.  I like math, but I didn’t go to school primarily for it, and that was decades ago. I haven’t studied 3D geometry, or optics, or computer graphics in any formal sense. I’m figuring this out more or less by myself, learning as I teach myself.

So if someone who knows more than I do wants to explain this stuff better than I can, I’d love to hear from you. You can send me an email at the Contact page, or tweet at me @csanyk, or just comment on this article

Thanks in advance!

I’ve called Z3D Engine a “Fake 3D” engine and “2.5D” engine, because those are fairly vague terms that I don’t have to worry about being right about. Someone asked me what type of view it is, and I couldn’t tell them. That bothered me, so I started reading a bit. I still don’t really know for sure.

or·tho·graph·ic pro·jec·tion
ˌôrTHəˈɡrafik prəˈjekSHən/
noun

  1. a method of projection in which an object is depicted or a surface mapped using parallel lines to project its shape onto a plane.
    • a drawing or map made using orthographic projection.

I think this is sortof close to what Z3D is… maybe.  What I can tell you about Z3D is this:  You can see the full front side and the full top side of (most) objects.  These do not foreshorten.

fore·short·en
fôrˈSHôrtn,fərˈSHôrtn/
verb
gerund or present participle: foreshortening

  1. portray or show (an object or view) as closer than it is or as having less depth or distance, as an effect of perspective or the angle of vision.
  2. “seen from the road, the mountain is greatly foreshortened”

The blue rectangle that represents the “player” in the demo is intended to show the player as a side view only, with no pixels in the sprite representing the top surface of the player. This is because I’m intending Z3D to be used for games drawn in a visual style similar to the top-down Legend of Zelda games, and in those games, no matter which way Link is facing, you can only see pixels in his sprite that represent his side, and nothing that represents the top of him, even though you’re viewing most of the rest of the terrain in the room from this weird view where you can see both the top and side of things like blocks and chests, and for other things like bushes you can only see the side.

Things in Z3D do not appear to get smaller as they recede into the background, or get bigger as they get closer to the foreground.  As well, the tops of objects (that have tops), the top is drawn 1 visual pixel “deep” (in the Y-dimension) for every pixel of distance.

This doesn’t look correct, strictly speaking; if you’re looking for “correct” visuals this engine likely isn’t for you.  But it is visually easy to understand for the player, and it is very simple.

What I’m doing in Z3D Engine is showing the top of everything (that has a top) as though you’re looking at it’s top from a vantage point that is exactly perpendicular to the top, while at the same time you’re also seeing the side of everything as though you’re looking at the side from a vantage point that is exactly perpendicular to the side.  This is an impossible perspective in real life, but it works in 2D graphics that are trying to create a sort of “fake” 3D look, which is what Z3D does.

Imagine you’re looking at this cube:

Cube

At most, assuming the cube is opaque, you can see only three faces of the cube from any given vantage point outside the cube; the other three faces are occluded on the other side of the cube.

Cube with occluded faces

(That image above is properly called Isometric, by the way. Z3D is not isometric).

If you were looking at the cube from a vantage point where you were perpendicular to one of the faces, you could only see that one face, and it would look like a square:

Square

(Since the faces of this cube are all nondescript, we can’t tell if we’re looking at the side or the top of the cube.)

Now, if it were possible to be at a vantage point that is exactly perpendicular to the both the side and the top of the cube simultaneously, the cube would look like this:

Flattened Bi-perspective cube

This is weird and wrong, but yet it is easy to understand, and it turns out that it is also very easy to compute the position and movement along 3 dimensional axes if you allow this wrong way of drawing.  This is view is (or perhaps is similar to) a method of visualization known as a oblique projection.

More properly, if you were positioned at a vantage point somewhere between the two points that are perfectly perpendicular to the top and side faces, the cube would look like this:

Cube in perspective

Here, obviously, we are looking at the cube mostly from the side, but our eye is slightly above, so we can see the top of the cube as well.  But notice, since we are not viewing the top face of the cube from a perpendicular vantage point, it does not appear to be a square any longer — it foreshortens, so that the far end of the top of the cube appears narrower than the closer end.

This is perhaps obvious, because we’re using to seeing it, because we see it every day, because that’s what real life looks like.  But it’s because we see this every day that we take it for granted, and when we have to explicitly understand what’s going on visually with geometry, we have to unpack a lot of assumptions and intuitions that we don’t normally think consciously about.

If we were to put our eye at the exact middle point between the points that are perpendicular to the side face and the top face, the cube should look to us like this:

Cube at 45°

Notice that both the bottom of the side face and the far edge of the top face are foreshortened due to perspective.

This is how they “should” look in a “correct” 3D graphics system, but Z3D “cheats” to show both the side and top faces without doing any foreshortening, which means that it can draw an instance as it moves through any of the three dimensions using extremely simple math.

Visually moving 1 pixel left or right is always done at a hspeed of -1 or 1, regardless of whether the object is near (at a high y position) or far away (at a low y position).  Likewise, moving near or far is also always done at a rate of one distance pixel per apparent visual pixel. And moving up and down in the z-dimension is also always done at a rate of 1 distance pixel per apparent visual pixel.

If we wanted to draw more convincingly realistic 3D graphics, we need to understand what’s going on with the eye, with perspective, and things at a distance.

Eye viewing the cube at a 45° angle

The same object viewed in Z3D’s perspective is something like this:

Eye looking at Z3D rendering

(We’ve omitted the occluded faces on the back end of the cube relative to the viewer, for simplicity.)

These two “apparent” perspectives are combined at the point where the player’s real eye is, resulting in something like this fake-3D perspective:

Z3D Flattened Orthographic bi-perspective rendering

So, in conclusion I’m not 100% sure that my terminology is correct, but I think we can call this perspective “flattened orthographic bi-perspective” or perhaps “oblique projection”.

(From this, we can begin to see how a corrected view might be possible, using trigonometry to calculate the amount of foreshortening/skew a given position in the Z3D space would need in order to appear correct for a single-POV perspective.  But this is something well beyond what I am planning to do with the engine; if you wanted this, you would be far better off creating your game with a real 3D engine.)

It gets weirder when you realize that for certain objects, such as the player, we’re going to draw only the side view, meaning that the player will be drawn a flat 2D representation in a fake 3D space.  Yet the player’s “footprint” collision box will likely have some y-dimension height to it.

AtariBox rebrands itself to “Atari VCS” in an apparent attempt to sew confusion^H^H^H^H^H^H^H^H^H^H^H^H^H reboot brand

Ataribox is now Atari VCS, preorder date revealed soon

In a move that endears me to the new gaming console not the slightest bit, Atari has announced that they are re-naming their upcoming AtariBox console to the already-taken name, “Atari VCS”.  Henceforth, people who want to search for the 1977 Atari VCS, later renamed the Atari 2600, will have to wade through hits for the modern AtariBox-Atari VCS that will be released sometime in 2018 (maybe). And vice versa.

That won’t be completely annoying to fans of either console.

csanyk.com © 2016
%d bloggers like this: