Resurrected Entertainment

Archive for the 'PC' category

Playing Deadlight on the PC

April 1, 2020

I have been enjoying Deadlight on the PC. It’s a beautiful little action platformer with relatively simple mechanics, albeit with a frustrating mechanism when shooting and loading a pistol. It’s simple to shoot, but difficult to get the aim right. Luckily, most targets are large and relatively easy to hit. I hope there isn’t an upcoming situation where I need to shoot something in a hurry…

While reading some comments about the game the other day, it seems a lot of people had difficulty around the helicopter scene. Based on the comments, they seemed to found the difficulty spike to be out of the blue, to the point where the shock of it caused many of them to stop playing the game cold turkey. They just aborted it, claiming the scenario was unreasonably challenging. The thing is, I found it tricky too, but only for a short while. I needed to try it several times before I finished it. The point is that I did get through it, even when I screwed up one section royally and thought for sure I was a goner. Just to prove it wasn’t a fluke, I tried it again and completed it with no issues.

The comments in the thread seem a little too caustic, given the games average difficulty level. I am left wondering about the psychology at play here. If a game has established an easy to moderate level of difficulty, and then it bumps the difficulty up a few notches out of the blue, what does that do to the player’s opinion of the game? Are they statistically more likely to drop the game at this point? Do the majority push through these hiccups? Are players nowadays just a tad spoiled in our expectations around the difficulty of a game, once our notions about a title have been established?

Dead Space on PC

March 28, 2020

I finally had an opportunity to play and finish Dead Space for the PC. I had a lot of fun playing this game, and while the camera took some time to get use to and the VSYNC bug that took some time to diagnose, neither detracted measurably from the overall game play experience. I am not going to do a review on this game since the world doesn’t need another one of those. What I have been thinking about, though, is giving you a persona based list of key gaming elements that may help you decide if you want to play it:

  • Jumping about in 3D space doesn’t make you queasy (you will literally be jumping about in space with no gravity).
  • You like being told what to do and bossed around.
  • You can continue to snack while walking through pools of blood and guts.
  • You like games that allow you to kill things with visceral tools like bolt guns, saws, and fire.
  • You like it when you are low on ammo and there are baddies around the corner.
  • Detailed space ship environments make you happy.
  • You enjoy long load times as it gives you an opportunity to reflect on how you buggered it all up.

Beelink Gemini N41 as a simple gaming console?

January 13, 2019

I took a chance on this little Windows computer to solve a couple of problems:

  • I needed a portable Windows game platform
  • I needed something small with an appropriate number of USB ports (for joystick support)
  • I wanted it to be quiet with very few zero fans whirring and humming

Right out of the gate, I was impressed with this machine. Forget about gaming for a second, this is an excellent machine for those wanting a Windows “desktop” computer without wanting or needing a large machine or laptop. This machine is so small you could easily attach it to the back of most monitors. It has friendly set-up process that everyone in your family should be able to follow with little difficulty (assuming they’ve touched a Windows computer in the last 5 years). The performance is excellent for those wanting to do a little e-mail, web browsing, etc. I have an interest in using it for games, but nothing 3D or with extremely heavy weight processing requirements.


Multi-player DOOM on an IPX Network

June 7, 2014

If you want the feel of a light weight and efficient network protocol, then you can start a multi-player game of DOOM via the Ultimate DOOM Setup utility on one machine and the corresponding IPX setup tool on the other machine. The easiest way to do this is to use the Windows 98 protocol stack with the following components installed:

1. Client for Microsoft Networks
2. Appropriate network adapter
3. IPX/SPX-compatible Protocol
4. NetBEUI
5. TCP/IP (you won’t need this for DOOM, but you probably will want it)
6. File and printer sharing for Microsoft Networks

I have read that you may need to enable both file and printer sharing, but personally I haven’t verified that, and I don’t really see how the components are related. If by some chance they are required, the NetBEUI protocol seems to be a requirement for the sharing to work reliably on networks between two Windows 98 machines or a Windows 98 to a Windows XP machine. I was also running this over a wired network on the same router, so if you have one or more wireless routers, make sure that machines can see each other on the network (one reason to get file sharing working between the two machines). A couple of things to keep in mind:

1. Make sure they are on the same Gateway (mine is, which is just my router)
2. Make sure they are using the same sub-net mask (I use

A few notes on the IPX configuration:

1. Make sure the frame type is set to “Auto”
2. Make sure the network address is the same on both machines, I use the default address “0”

I have been trying off and on for a few days to get two machines using DOS-compatible IPX protocol stacks to talk to one another, and it has not been easy. I will post about that once I get them working.

2D Scrolling and EGA Support

May 29, 2014

Originally, I was using a Matrox Millennium PCI graphics card in my DOS gaming box, but I found the 2D scrolling performance to be somewhat lacking as games like The Lost Vikings would shear while playing. The card also has virtually no EGA graphics mode support, which was important to me since I wanted to run games like Crystal Caves from Apogee, and I also wanted the development option of writing computer graphics programs written for this video mode.

Enter the S3 ViRGE (Virtual Reality Graphics Engine).

Interestingly, this was S3’s first attempt at a 3D graphics accelerator card. The performance was somewhat lower than expected, however, making the card only slightly faster than the best software renderers at the time, and equal to those renderers when anything other than the simplest 3D techniques were used. Because of the card’s poor performance, it was dubbed the “Worlds First Graphics Decelerator” by critics in the graphics and gaming communities.

I own the “DX” model of this card which is somewhat more performant than its predecessor, but I didn’t buy the card for how well it could render 3D graphics so it matters very little to me. I bought the card for how well it could accelerate 2D graphics and its support for lower end video modes, and it is very impressive thus far.

Day of the Tentacle Quote

June 26, 2013

“Behold, children!” shouted Doctor Fred behind them. “The Chron-O-John!”
“Doc, can’t you just send Bernard?” said Hoagie.
“No,” said Doctor Fred, “you must all go to increase the odds that one of you will make it there alive!”
“Have any people ever been hurt in this thing?” asked Bernard.
“Of course not!” said Doctor Fred dismissively. The three students cheered up. “This is the first time I’ve ever tried it on people!”


March 27, 2013

This game was first released on Xbox Live 360 in 2010, but I have been playing it on Windows 7 via Steam for the last few days. The title was the third-highest selling game on the XBLA, generating around $7.5 million in revenue during the first year of its release. The title won several awards from industry groups after its release, and was named as one of the top games for 2010 by several publications.I absolutely love the design of this game. It plays contrasting light and dark scenes perfectly, and the filter effect shaders which are used to apply a film grain look to the game are top notch. The continuous level and puzzle system is simply fantastic as each chapter flows easily into the next. The few enemies in the game are moody and fit in perfectly with the game environment. The controls couldn’t be simpler: arrow keys for movement and jumping + the control key to interact with the environment.

Baldur’s Gate Mystery

March 15, 2012

This could be just another Internet hoax created by someone with a few skills in Photoshop, but the domain “” has popped up with a count down timer. If you scan through the source code for the web page there are some clues hidden within. Searching around brought up nothing concrete, including from the company who now owns the rights. Oooh baby, very exciting!

Update: It seems Atari, Wizards of the Coast, and Overhaul games are enhancing this timeless classic. You can bet there will be updates to the Infinity Engine, which I have yet to determine if this is a good thing (I love that engine). But a boost in resolution and definition would be very welcome, especially when our 27″ monitor arrives…

Thomson-Davis Editor (TDE)

November 6, 2011

TDE - PE of ChoiceThe Thomson-Davis Editor, or TDE, was the first programmer’s editor to ever grace my hard drive. A programmer’s editor (PE) can be somewhat different than a typical text editor used for typing up README files or other user-level documents. A good PE will usually have a large assortment of features which makes the job of editing source code a little easier. Ironically, these editors can be some of the most obtuse software installed on a desktop system. To use them effectively, you must memorize several obscure key combinations and commands. Once committed to memory, these commands can be very powerful, allowing you to perform several complex editing or searching operations.

As an aside, the usability goals for an editor within an IDE such as Borland C++, seem to be the exact opposite for the goals set out by the authors of many PEs. The editing within IDE is almost universally easy to use, while performing the same tasks within a PE requires practice and certain degree of research. Approaching this from the viewpoint of a novice looking into the dark world of a seasoned, and perhaps a little cynical UNIX-computer programmer, it would seem a little odd since the interface of an IDE can do so many different tasks (and thus have so many opportunities to botch things up), whereas a PE tends to be targeted to one task: editing source code. Surely, with fewer features, it must be easier to craft something which is even easier? It’s almost as if the author of a PE is trying to compensate for lack of development features by throwing in additional editing complexity. For example, how many standard forms of regular expression syntax does your PE support? If you answered anything other than “as many as I want since I can simply write a plug-in to support it,” then you’re not using the right editor.

I stumbled across TDE while browsing the download area for a local BBS. It included the source code for the program which was written in C, and it seemed to have a variety of interesting features; it certainly had more technical features than the QuickC editor I was using at the time. I guess I gravitated towards complexity at the time, and I quickly grew to love TDE and began modifying the source code to suit my needs. If I were to use the latest version of TDE today, I’m betting a lot of those hacked-in features would already be implemented.

The code for TDE was a great learning experience for me. It was organized fairly well so it made for relatively easy modifications and creative hacks. I lost the source code for my modified version during The Great Hard-drive Crash in the mid-1990’s. For some odd reason, I didn’t have a single back-up. It was particularly strange since most of my favourite projects were copied onto a floppy disk at some point. Frustratingly, I think I still have a working copy of the original 3.X code on disk! Anyway, the source code had excellent implementation details like fancy text and syntax handling, decorated windows, and reasonably tidy data structures. I don’t remember using any code from the editor in any future project, but I certainly took away a number of ideas. Doublely-linked lists may not seem like a big deal to me now, but I hadn’t read that many books at this point, so glimpses of real implementations using these data structures was very cool and inspiring. I found the windowing classes and structures particularly interesting since some of the windows were used for configuration, others for editing, and some for help. This was the first abstraction for a windowing system within an application I had run across. It was beautiful and gave me a lot of ideas for HoundDog – a future project which was used to track the contents of recordable media like floppies and CD-ROMs, so that I could find that one file or project quickly without needing to use those floppy labels.

The QuickBASIC and the 0xDEAD

November 2, 2011

QuickBASIC is very similar to QBasic since the latter is just a stripped down version of the former. It had a few functions QBasic did not have — such as the ability to compile programs and libraries, allowed for more than one module, and could create programs which were larger in size. It also had this annoying bug where the memory management model in the interpreter was different than the one used by the compiler; this was a problem when your program worked in the debugger, which used the interpreter, but not when the program was actually compiled and run from the shell.

QBasic shipped with MS-DOS 5 and consisted of only an interpreter, meaning it translated small chunks of code into machine code as they were executed (I believe it did cache the translated portions, so it wouldn’t need to translate them again). QuickBASIC was more advanced and had a compiler as well as an interpreter, which allowed it to translate and optimize the machine code it generated before you ran it. It had only one dependency during compilation, and that was the QB.LIB library. Using the QuickBASIC IDE or the command line, you could compile multiple modules into a single target which could be a library or an executable program.

QuickBASIC was handy for prototyping and demos. I didn’t need to do many of these for my own projects; although, I did a lot of experimentation with network interrupts before porting those routines and programs to C. QuickBASIC was mainly used for projects and demos at school and eventually college; many of them were also written in C due to a few course requirements.

While in college, I had written a chat application over a local area network for DOS before the concept became popular. It was using the SPX protocol for some parts, and the IPX protocol for others. It only supported peer-to-peer communication and only with one other person, bit it served as a demo for simple network communication, and many of the students used it quite regularly.

In other programs, I was using Novell Netware interrupts for communication, broadcasts and client machine discovery. I loved it and found coding these applications fun and exciting; my Ralph Brown textbook was well used during this time. I think my interest in programming these network applications stemmed from my days playing DOOM over similar networks. Basically, I just loved lot the potential for interactivity, which is a tad ironic since I was fairly quiet programmer back then. A few of my friends became interested in the software I was writing and one day we decided to play a few practical jokes on my fellow students. We created a custom program for sending messages via the Netware API. These messages could be broadcast to every machine on the network, a group of machines, or a specific machine. When a machine received one of these messages, it would display a dialog and show the user a message. Pretty simple concept, but many people were not aware their machines could even do that, or what it meant to even be on a network.

Simply using the network software which came with Netware wasn’t an option, since the message dialogs produced by those tools contained the name or address of the machine from which the message originated. According to Steve Wozniak, co-founder of Apple Computers and well-known prankster, the most important element to any gag is not to get caught. We needed to customize the message being sent so that it included only the details we wanted to send, and the only way to do that was to write a custom program. This was fairly easy since I had been writing software on Netware for several months, and when the packets were sent off through the network, our machine name was carefully omitted and our address forged.

We used the program to send funny or confusing messages to some of the students. No profanity or crude humour, mind you… well nothing too crude anyway. My goal was always to get the user to believe what the machine was telling them. I had convinced one student her computer didn’t like the way she typed; her keystrokes were always too hard or fast for the computer’s liking. She had actually phoned the administrator’s office and asked them for a computer which didn’t complain so much! Several computers were being used by students to view pornography, so I did my best to make them feel uncomfortable in a public setting. Many of them believed they were being watched by the network administrators, which could have been true (although network monitoring software was generally never used or not available). Anyway, these people quickly shuffled out of the room red-faced, hoping not to get caught on there way out. I still get a giggle out of it even now, when I think about it.

In a way, I am kind of saddened by the complexity of today’s operating systems. Trying to write the same software on modern machines would be extraordinarily more difficult today, mostly because of new operating system features and application stacks. They just aren’t managed in the same way anymore, so a programmer’s ability to exploit a network so directly has disappeared. That being said, I don’t particularly disapprove, it’s just not as easy to have a little fun.