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!
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.
Of course, what’s that games and graphics?
And the more advanced Exhibit #2:
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.
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.
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).
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.
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.
A very nice use of 3D printing technology: Print your own set of “Settlers of Catan” board game!
This is my new low-poly settlers of catan-style boardgame. Especially made for multicolor printers like the prusa mk2 multimaterial upgrade ore the palette from mosaic.https://www.thingiverse.com/thing:2525047
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?!
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
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 thatWikipedia: 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.
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.LucasArts (June 1993). Day of the Tentacle. DOS.
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.
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.
The vectorized purple tentacle above has been kindly provided by: Chalda Pnuzig
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.Video Game History Foundation
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.
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.
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. (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/
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:
So it happened again: the 360 which I was using since the last RRoD in 2007 died today. Just when you want to play a game in months it’s dying… damn!
“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/
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.
“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.”
It’s good looking, fun, the music is great and it’s free…
And it’s got it’s own Level Editor:
AdventureClassicGaming blog has a very cool article about the could-have-been Full Throttle sequel:
“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.”
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?). ”
It’s like lego for electronic circuits:
“littleBits is an opensource library of discrete electronic components pre-assembled in tiny circuit boards. Just as Legos allow you to create complex structures with very little engineering knowledge, littleBits are simple, intuitive, space-sensitive blocks that make prototyping with sophisticated electronics a matter of snapping small magnets together. With a growing number of available modules, littleBits aims to move electronics from late stages of the design process to its earliest ones, and from the hands of experts, to those of artists, makers and designers.”
If you – just like me – played Duke Nukem 3D excessively in times when there was “CompuServe” instead of “Internet”, mailboxes instead of social websites and when there was 1on1 dial-up modem multiplayer instead of MMOs you may recognize those cool quotes you could hear while playing Duke Nukem 3D in single player or the ones you could say to your multiplayer opponent… there’s a list of many of them:
“Uh, Uh, Uh. Where is it?”
Small games that simulate real-world physics are just fantastic – I already wrote about a very similar game but this one has far more options :-)
“This sandbox contains a variety of elements which the player can scatter at a mouse-click. Ice, water, fire, the titular “powder” (which serves as the sand). The heart of Powder Game is the way these elements interact. Water that touches ice will freeze. Ice that touches fire will melt. Drop a seed onto some powder and a plant will sprout. Water the plant and it will grow. Touch a flame to it and it will catch fire and burn.
The other key element that defines Powder Game is wind. Powder stacks in neat piles, but a click of the mouse (a right click by default, but this can be changed) sends it spiralling into the air. Currents coalesce, rub against each other, create eddies in the air. Fire creates wind, as does exploding gunpowder. Wind turns ice into snow, creates rivers of particles in the air. When the background effect is set to “BG-shade,” it becomes entrancing to watch.”
There is even a whole website around those physic games:
You may have heard about Levelhead – an augmented reality game made by Julian Oliver – if you did not hear about it? No problem:
“Augmented reality (AR) is a field of computer research which deals with the combination of real-world and computer-generated data. At present, most AR research is concerned with the use of live video imagery which is digitally processed and “augmented” by the addition of computer-generated graphics. Advanced research includes the use of motion-tracking data, fiducial marker recognition using machine vision, and the construction of controlled environments containing any number of sensors and actuators.”
So – Augmented reality mixes the reality and the computer graphics and creates a new reality for you. That’s a lot of theoretical…so let’s talk about Levelhead:
It’s a game where you have to move plastic cubes with printed-on patterns in front of a camera – the computer now renders a new world inside of the plastic cubes – when you move the cube, the world inside the cube moves too… it looks like this:
“levelHead uses a hand-held solid-plastic cube as its only interface. On-screen it appears each face of the cube contains a little room, each of which are logically connected by doors.
In one of these rooms is a character. By tilting the cube the player directs this character from room to room in an effort to find the exit.
Some doors lead nowhere and will send the character back to the room they started in, a trick designed to challenge the player’s spatial memory. Which doors belong to which rooms?
There are three cubes (levels) in total, each of which are connected by a single door. Players have the goal of moving the character from room to room, cube to cube in an attempt to find the final exit door of all three cubes. If this door is found the character will appear to leave the cube, walk across the table surface and vanish.. The game then begins again.
Someone once said levelHead may have something to do with a story from Borges.. For a description of the conceptual basis of this project, see below. “
If you are not amazed now? You should watch this:
The thing is – this cool game and technology will be available at the end of this month as full open-source. I suggest to check Julians site back at the end of the month at last.
It’s really a piece of art with only 256 pixels space – it’s the remake of the Defender game you won’t be able to play in Full HD:
To be clear: This is not a joke – it’s an actual game… the size of:
You would need:
- an old yet powerful enough notebook to play MAME games
“MAME is an emulator application designed to recreate the hardware of arcade game systems in software, with the intent of preserving gaming history and preventing vintage games from being lost or forgotten. The name is an acronym for Multiple Arcade Machine Emulator.”
- an IKEA RAMVIK sideboard
- go to the homepage of the project to get the details how to build it :-)
“”Zak McKracken: between time and space” is an unofficial sequel to the adventure game “Zak McKracken and the Alien Mindbenders” released in 1988. We, the “Artificial Hair Bros.” have devoted our time to create a worthy follow up to this all-time-classic. Capturing the mood and of the original game and creating something new nonetheless.
It’s been a while since Zak’s last adventure. People have forgotten all about our hero who saved humanity from enslavement. His five minutes of fame went by way too quick and the money he earned with his award winning book went down the drains when Zak decided to get his own newspaper off the ground.
But now Zak has to prove his worth once again. Stumbling into his next adventure, Zak gets yet another chance to show the world what real heroes are made of…
Why a sequel to ZakMcKracken?
Zak McKracken is one of the few adventure games that never got a proper sequel. There are no high-res backgrounds and no sweeping soundtrack, this left us with a lot of freedom when we started working on this game.
Handmade backgrounds, elaborate cut-scenes
We think that hand-drawn backgrounds made some of the old adventure games something very special. This is why we decided to keep the gameplay stricly 2D. But Zak:btas isn’t just a pixel-adventure, we have created the scenery and characters in our own graphical style and added 3D cut-scenes to add some diversity.
How long did it take to develop this game?
Work on the project began in 2002. In the beginning starting out as an amateur-game, we soon found ourselves reaching higher levels of quality step by step. By the time we are done 5 years of hard work will lay behind us.
What problems had to be solved when making this game?
One of the biggest challenges has been recruiting a team one could rely on and keeping the members of the team motivated to work on their respective parts. Unfortunately not everyone is motivated and passionate enough to work on a project for free over such a long period of time. But we were lucky enough to find reliable members for each part of development. You really do need a good working team to master a project like this.”