So, we’re building something

For some weeks now I am working on the design of something that is being built within the next couple of weeks out of wood and metal (and electronics).

It’s hopefully going to be as nice as I dream it up… What could it be?

I did this design based upon some pixel-material and pictures I’ve gathered around the internets – and took a lot of inspiration from them.

Although I had to create everything in vectors from those small pixel templates… But now everything above is going to be printed on vinyl in glorious vectors – no pixeljunk.

Blender 3D – December was full of content

So with the new year started it might be worth looking into some patterns different from the ones we are usually dealing with. So how about a bit of 3D graphics, shaders and modelling?!

Get your gear:

Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion tracking, video editing and 2D animation pipeline.

https://www.blender.org/

And then get a starting point. Be quick, as this is on Twitter it might fade away:

There’s so much interesting stuff in there – and lots to learn!

eXoDOS

eXoDOS is an attempt to catalog, obtain, and make playable every game developed for the DOS and PC Booter platform. Striving to find original media rather than using scene rips. This collection uses a combination of Dosbox and ScummVM to play these older titles on modern systems. All required emulators are included and have been setup to run all included titles with no prior knowledge or experience required on the users part.

This pack includes 7,000 DOS games. The focus is on games that were either released in English or are fairly easy to play without a knowledge of the native language. This is not every DOS game ever made, however it is a very high percentage of all commercial releases. There are thousands of freeware, homebrew, and shareware games that will continue to be added in future packs.

The games have already been configured to run in DosBOX. Games which are supported by ScummVM will give you the option at launch as to which emulator you would like to use.

https://exodos.the-eye.eu/

reverse engineered Gameboy CPU

This repo contains an annotated overlay for the Nintendo Game Boy DMG-CPU-B chip die and the extracted schematics.

This was done manually with only a few automated checks so THERE’S A HIGH RISK OF ERRORS. I’m in no way responsible if you made someone’s life depend on this and it fucked up.

https://github.com/furrtek/DMG-CPU-Inside

procedurally generated cities

This application generates a random medieval city layout of a requested size. The generation method is rather arbitrary, the goal is to produce a nice looking map, not an accurate model of a city. Maybe in the future I’ll use its code as a basis for some game or maybe not.

Medieval Fantasy City Generator

a 1980s style computer built today for fun

Can you display VGA and play audio on a Cortex-M4 in pure Rust? The short answer is yes, yes you can! Minus the hand-unrolled assembler loop for fixing the phase error in the RGB output. But we don’t talk about that in polite company.

Monotron project page

What currently is in place:

  • The Atari Joystick interface works, but two Joysticks would be more fun
  • The PS/2 Keyboard via the Atmega works, but the pinout was mirrored so you have to put the connector under the PCB :/
  • The RTC works
  • VGA Output works
  • The MIDI Out seems to work when looped to MIDI In, as does the MIDI Though.
  • The MIDI In seems to receive data when connected to my electronic drum kit
  • The Audio output seems to work quite nicely
  • The SD card works, but the power supply can’t handle hot-insertion of the SD card and it makes the TM4C reboot. More capacitors / some current limiting probably required.

I can load games and programs from the SD card into the 24 KiB of free Application RAM. You can interact with these games via the PS/2 Keyboard and Joystick. I can play simple games (like Snake) and play three channels of 8-bit wavetable audio simultaneously. I’ve even got a 6502 Emulator running a copy of 6502 Enhanced BASIC, if you want to go old school!

ASCII browser games

A lot is going on in browsers these days. They are becoming increasingly powerful and resource-demanding.

So it just feels natural to combine high resource usage infrastructure with low resource using graphics to get the worst of both worlds.

Not quite, but you get the idea.

There’s a guy on the internet (haha) who dedicates time to write ASCII / character based graphics engines and games with it.

Meet MrGumix:

Of course, what’s that games and graphics?

Exhibit #1:

And the more advanced Exhibit #2:

C# PlayStation emulation

After looking into the NES emulation written entirely in C# I came across a similar approach using C# to emulate a full and much more complex PlayStation 1.

Scott Hanselman wrote:

I then stumbled on this very early version of a PSX Emulator in C#.

Now, if you were to theoretically have a Playtation SCPH1001.BIN BIOS and then physically owned a Playstation (as I do) and then created a BIN file from your physical copy of Crash Bandicoot, you could happily run it as you can see in the screenshot below.

Emulation

Preserving old software is all about storing it and keeping it running.

With the most important part being the later one. The best way to keep things running is by emulating the old and obsolete hardware as accurate as possible.

In computing, an emulator is hardware or software that enables one computer system (called the host) to behave like another computer system (called the guest). An emulator typically enables the host system to run software or use peripheral devices designed for the guest system. Emulation refers to the ability of a computer program in an electronic device to emulate (or imitate) another program or device.

Wikipedia: Emulator

There are a lot of different types of emulators for all sorts of purposes.

There’s things like bochs which is effectively emulating the hardware of a PC on chip-level and can run virtually anywhere:

Bochs is a highly portable open source IA-32 (x86) PC emulator written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS. Bochs can be compiled to emulate many different x86 CPUs, from early 386 to the most recent x86-64 Intel and AMD processors which may even not reached the market yet. 

bochs: the Open Source IA-32 Emulation Project

Emulators of game consoles are alike that – they are emulating the whole system hardware and are able to run original and unchanged code by replicating the exact hardware. Sometimes more and sometimes less exactly.

Hardware emulation in itself an extremely interesting field of software engineering. There’s the hard way to emulate everything accurately (and slowly) by doing what the actual old hardware would have done but maybe in software (or even in replicated hardware).

And there is harder way to emulate the software and hardware by applying all sorts of optimization techniques like JIT (just in time) compilation and dynamic recompilation.

In regards of old game console hardware there are even now specialized distributions of lots of hardware/system emulators available for specific and readily available hardware like the RaspberryPi. Some of them recently have gotten some nice updates.

Retropi

supported systems

Recalbox

Bitmap & tilemap generation with the help of ideas from quantum mechanics

You can get a grasp at the beautiful side of science with visualizations and algorithms that output visual results.

This is the example of producing lots and lots of complex data (houses!) from a small set of input data. It is widely used in game development but also can be helpful to generate parameterized test and simulation environments for machine learning.

So before sending you over to the more detailed explanation the visual example:

This is a lot of different house images. Those are generated using a program called WaveFunctionCollapse:

WFC initializes output bitmap in a completely unobserved state, where each pixel value is in superposition of colors of the input bitmap (so if the input was black & white then the unobserved states are shown in different shades of grey). The coefficients in these superpositions are real numbers, not complex numbers, so it doesn’t do the actual quantum mechanics, but it was inspired by QM. Then the program goes into the observation-propagation cycle:

On each observation step an NxN region is chosen among the unobserved which has the lowest Shannon entropy. This region’s state then collapses into a definite state according to its coefficients and the distribution of NxN patterns in the input.

On each propagation step new information gained from the collapse on the previous step propagates through the output.

On each step the overall entropy decreases and in the end we have a completely observed state, the wave function has collapsed.

It may happen that during propagation all the coefficients for a certain pixel become zero. That means that the algorithm has run into a contradiction and can not continue. The problem of determining whether a certain bitmap allows other nontrivial bitmaps satisfying condition (C1) is NP-hard, so it’s impossible to create a fast solution that always finishes. In practice, however, the algorithm runs into contradictions surprisingly rarely.

Wave Function Collapse algorithm has been implemented in C++PythonKotlinRustJuliaGoHaxeJavaScript and adapted to Unity. You can download official executables from itch.io or run it in the browser. WFC generates levels in Bad NorthCaves of Qudseveral smaller games and many prototypes. It led to new research. For more related workexplanationsinteractive demosguidestutorials and examples see the ports, forks and spinoffs section.

how did games get to 82 Gbyte sizes?

Every month there are free games to download and try out with the Playstation Plus subscription. There was a game named “Conan Exiles” included and so my Playstation started the download.

After the download taking unexpectedly long I checked the download queue and found the reason why it would take so long to download. This game is over 82 Gbyte in size. This is quite unexpected.

Conan Exiles is an open-world survival game set in the brutal lands of Conan the Barbarian. Survive in a savage world, build your kingdom, and dominate your enemies in brutal combat and epic warfare.

Start with nothing but your bare hands and forge the legacy of your clan, building anything a small home to gigantic fortresses and entire cities. Wage war using swords, bows, siege weapons, and even take control of giant avatars of the gods and lay waste to enemy cities.

Explore a vast, seamless world full of challenge and opportunity. Hunt animals for resources, slay monsters for treasure, and delve deep underground to discover the secrets of ancient civilizations.

Conan Exiles: The Game

It’s still downloading. But what content could await if it only fits into 82 Gbyte of (assuming) compressed data?!

from now on console emulation will look much better

A modder going by the handle DerKoun has released an “HD Mode 7” patch for the accuracy-focused SNES emulator bsnes. In their own words, the patch “performs Mode 7 transformations… at up to 4 times the horizontal and vertical resolution” of the original hardware.

The results, as you can see in the above gallery and the below YouTube video, are practically miraculous. Pieces of Mode 7 maps that used to be boxy smears of color far in the distance are now sharp, straight lines with distinct borders and distinguishable features. It’s like looking at a brand-new game.

ArsTechnica

“Kowloon Walled City” themed arcade in Kawasaki (あなたのウエアハウス)

While we were visiting Japan we usually stay quite close to Kawasaki. And with some hints we found that a replication of “Kowloon Walled City” had been put up as a video game arcade there.

Kowloon Walled City was a largely ungoverned, densely populated settlement in Kowloon City, Hong Kong. Originally a Chinese military fort, the Walled City became an enclave after the New Territories was leased to Britain by China in 1898. Its population increased dramatically following the Japanese occupation of Hong Kong during World War II. By 1990, the walled city contained 50,000 residents within its 2.6-hectare (6.4-acre) borders. 

Wikipedia: Kowloon Walled City

A partial recreation of the Kowloon Walled City exists in the Anata No Warehouse, an amusement arcade that opened in 2009 in the Japanese suburb of Kawasaki, Kanagawa. The designer’s desire to accurately replicate the atmosphere of the Walled City is reflected in the arcade’s narrow corridors, electrical wires, pipes, postboxes, sign boards, neon lights, frayed posters, and various other small touches that 

Wikipedia: Anata No Warehouse

I did not know a lot about the Kowloon Walled City before we found this arcade. And it’s – as you can imagine – a very colorful reproduction of the ambiance that you – according to documentations and reports from the time – would have experienced. Especially in the entrance area, the theming of the rooms and some game cabinets as well as for example the rest-rooms.

Of course there is a full blown quite nice but – as it is good custom – extremely noisy arcade in there as well. We’ve easily ‘lost’ 3 hours in there. Be aware that smoking is allowed in these places in Japan.

The first floor contained the UFO catcher machines and a good portion of vintage and modern arcade cabinets. I’ve had a go and Gradius and greatly enjoyed it. There’s a battery of Mech-Pods as well as racing and rythm games.

The second floor had lots of pachinko and other medal and slot machines. Even more noise than any arcade cabinets could do.

The third floor finally contains Dart and Snooker / Billard tables.

All in all it was one of the nicer arcades. Much nicer than others because there was a lot more room. It did not feel half als claustrophobic as an arcade usually feels in Japan.

Purple Tentacle

There are some things that influenced us over time. I’ve never played a lot of computer games. But I’ve played adventure games. Most notably those of LucasArts.

The “Day of the Tentacle” – being the sequel to “Maniac Mansion” – was one adventure game that I have a lot of great memories of. I have played it through a lot of times since it’s release.

At the beginning of the game the main villain (the purple tentacle) of the game is making a statement:

Bernard: Ok, you’re free to go.
Green Tentacle: Thanks Bernard!
Purple Tentacle: Yes, thank you, naive human! Now I can finish taking over the world! Ha ha ha!
Green Tentacle: Wait!
Bernard: Oh, yeah. Now I remember. He’s incredibly evil, isn’t he?
Green Tentacle: Uh… I’ll try to talk him out of it.

LucasArts (June 1993). Day of the TentacleDOS.

And because of his aspiration to take over the world the picture of the scene this is being said ended up as my phones unlock screen background (and if lots of other places) ever since.

With the help of the internet, you can have it on yours as well. And since screen resolutions improve over time, have it in timeless vectors:

vectorialized by Chalda Pnuzig

The vectorized purple tentacle above has been kindly provided by: Chalda Pnuzig

Video Game History

Have you ever asked yourself what those generations coming after us will know about what was part of our culture when we grew up? As much as computers are a part of my story a bit of gaming also is.

From games on tape to games on floppy disks to CDs to no-media game streaming it has been quite a couple of decades. And with the demise of physical media access to the actual games will become harder for those games never delivered outside of online platforms. Those platforms will die. None of them will remain forever.

Hardware platforms follow the same logic: Today it’s the new hype. Tomorrow the software from yesterday won’t be supported by hardware and/or operating systems. Everything is in constant flux.

Emulation is a great tool for many use-cases. But it probably won’t solve all challenges. Preserving access to software and the knowledge around the required dependencies is the mission of the Video Game History Foundation.

Video game preservation matters because video games matter. Games are deeply ingrained in our culture, and they’re here to stay. They generated an unprecedented $91 billion dollars in revenue in 2016. They’re being collected by the Smithsonian, the Museum of Modern Art, and the Library of Congress. They’ve inspired dozens of feature films and even more books. They’re used as a medium of personal expression, as the means for raising money for charity, as educational tools, and in therapy.
And yet, despite all this, video game history is disappearing. The majority of games that have been created throughout history are no longer easily accessible to study and play. And even when we can play games, that playable code is only a part of the story.

Video Game History Foundation

the interesting bit about googles game streaming

In 2012 I’ve experienced streamed game play for the first time. I was a beta-user of the OnLive service which created a bit of fuzz back then.

Last week Google had announced to step into the game streaming business as well. They’ve announce Google Stadia as the Google powered game streaming platform. It would come with it’s own controller.

3 color variants

And this controller is the most interesting bit. We have seen video live streaming. We have seen and played streamed games. But every time we needed some piece of software or hardware that brought screen, controller and player together.

The Google Stadia controllers now do not connect to the screen in front of you. The screen, by all it knows, just shows a low-latency video/audio stream.

The controller connects to your wifi and directly to the game session. Everything you input with the controller will be directly sent to the Google Stadia session in a Google datacenter. No dedicated console hardware in between. And this will make a huge difference. Because all of a sudden the screen only is a screen. And the controller will connect to the “cloud-console” far-far away. As if it was sitting right below the screen. This will make a huge difference!

0 A.D. – A free, open-source game

0 A.D. (pronounced “zero-ey-dee”) is a free, open-source, historical Real Time Strategy (RTS) game currently under development by Wildfire Games, a global group of volunteer game developers. As the leader of an ancient civilization, you must gather the resources you need to raise a military force and dominate your enemies.”

Source 1: http://play0ad.com/

What happened to: realtime Radiosity lighting

Back in 2006 I wrote about a new technology which the also new company Geomerics was demoeing.

Back in 2006 everything was just a demo. Now it seems that Geomerics found some very well known customers and without noticing a lot of the current generation games graphics beauty comes from the capabilities real time radiosity lighting is adding to the graphics.

“Geomerics delivers cutting-edge graphics technology to customers in the games and entertainment industries. Geomerics’ Enlighten technology is behind the lighting in best-selling titles including Battlefield 3, Need for Speed: The Run, Eve Online and Quantum Conundrum. Enlighten has been licensed by many of the top developers in the industry, including EA DICE, EA Bioware, THQ, Take 2 and Square Enix.” (Source)

There even is a more updated version of the demo video:

Source 1: real time radiosity lighting article from 2006
Source 2: Geomerics Presentations
Source 3: More Geomerics Media

type to win

In the dusk of Flash it’s nice to see that HTML 5 and JavaScript are here to bring small and fun games to our browsers.

“Z-Type was specifically created for Mozilla’s Game On. I immediately wanted to participate in the competition when I first heard of it, but the deadline seemed so far away that I didn’t bother to begin working on a game back then. Fast forward to this tweet announcing that the deadline was only one week away – it took me by surprise. I still hadn’t even began working on anything. The thought of just submitting my earlier game Biolab Disaster crossed my mind but was immediately dismissed again.”

Great sound, great graphics and in the higher levels quite difficult.

Source 1: http://www.phoboslab.org/ztype/

freebie day? Another Vista Ultimate game is available…

It seems that today it’s the freebie day (well… for some of us). Because today the next Windows Vista Ultimate Extra is available: Tinker.

Tinker – to shorten up things – is a Sokoban interpretation with some interesting twists.

tinker_update

“Being a small robot isn’t always easy. Being a small robot marooned in a surreal world of clockwork, obscure mechanisms and infuriating puzzles, even less so. In Tinker, a puzzle game that pushes the boundaries of robot frustration, you’ll guide your robot through switches, lasers, teleporters, and a host of other contraptions to reach the exit. He’ll only do what you command. He’ll only go where you tell him to. Will you lead him home, or will you doom him to eternal confusion?

Featuring captivating visuals, an original music score, and 60 levels that range from the facile to the infuriating, Tinker is an isometric, two-dimensional puzzler published exclusively as an Ultimate Extra for Windows Vista Ultimate Users. Tinker features tutorial level, and will include regularly released level packs to expand the experience. Want even more? Download the level builder, and create masterworks of ingenuity to keep your friends scratching their heads. What are you waiting for? Start Tinkering.”

tinkergame

It’s good looking, fun, the music is great and it’s free…

And it’s got it’s own Level Editor:

tinkereditor

Source: http://www.fuelgames.com/

What could have been: Full Throttle sequel

AdventureClassicGaming blog has a very cool article about the could-have-been Full Throttle sequel:

376_9_medium[1]

“Playing Full Throttle is like tasting a rich bowl of roadhouse chili filled to the rim with biker gangs, chick mechanics (covered in engine grease too), and truckers with badass tattoos. An action packed, comical (albeit short), animated graphical adventure set in the backdrop of an apocalyptic future, Full Throttle touches on the subculture of motorcycle gangs and their steel horses. It is also a story about Ben, a renegade biker who lives and dies by his own rules. Ben’s voice (played by the late Roy Conrad) is every bit as gravelly as the Old Mine Road where he does battle. In this alternate world, cars hover, transport trucks are armored, and desolate towns like Melonweed are sinking fast into the sand. It is a land with many strange locales and even stranger inhabitants.”

Source: http://www.adventureclassicgaming.com/index.php/site/features/376/

Widelands – an opensource Settlers II clone

Logo

Widelands-Screen

From the wiki about section:

“In Widelands, you are the regent of a small tribe. You start out with nothing but your headquarters, a kind of castle in which all your resources are stored. In the course of the game, you will build an ever growing settlement. Every member of your tribe will do his or her part to produce more resources – wood, food, iron, gold and more – to further this growth. But you are not alone in the world, and you will meet other tribes sooner or later. Some of them may be friendly and trade with you. However, if you want to rule the world, you will have to train soldiers and fight.

Widelands offers a unique style of play. For example, a system of roads plays the central role of your economy: all the goods that are harvested and processed by the tribe must be transported from one building to the next. This is done by carriers, and those carriers always walk along the roads. It is your job to lay out the roads as efficiently as possible.

Another refreshing aspect of the game is the way you command your tribe. There is no need to tell every single one of your subjects what to do – that would be impossible, because there can be thousands of them! Instead, all you’ve got to do is order them to build a building somewhere, and the builders will come. Similarly, whenever you want to attack an enemy, just place an order to attack one of their barracks, and your soldiers will march to fight. You’re really a ruler: You delegate in times of war and in times of peace!

Widelands offers single-player mode with different campaigns; the campaigns all tell storys of tribes or Empires and their struggle in the Widelands universe! However, settling really starts when you unite with friends over the Internet or LAN to build up new empires together – or to crush each other in the dusts of war. Widelands also offers an Artifical Intelligence to challenge you.

In the end, Widelands will be extensible, so that you can create your own type of tribe with their own sets of buildings. You can create new worlds to play in, and you could even create new types of worlds (who says you can’t build a settlement on the moon?). ”

Source: http://xoops.widelands.org/