Browsed by
Category: Gaming

Battle Royale Rules of Engagement

Battle Royale Rules of Engagement

I have been playing a lot of Apex Legends as of late and I thought it might be fun to jot down some ideas I had after racking up so many hours.

Since many of these ideas were meant for that specific game they might not all apply to all battle royale games but most should be pretty universal.

I want to thank Jack Kerning for some great feedback. Keep it coming!

Steam Running in Windows Compatibility Mode

Steam Running in Windows Compatibility Mode

After a recent Steam update I started getting a warning about Windows Compatibility Mode. A quick check of both the shortcut and the executable itself revealed that no such setting was set. At first I was ignoring it as a fluke of Windows but it started screwing with my games… I need muh vida gumes!

The fix was simple, although annoying. Check the following regedit paths for the steam.exe executable. If you find any delete them and reboot.

  • HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
  • HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted

This fixed the issue for me. Good luck to you.

Unknown Armies Online?

Unknown Armies Online?

With all the (hopefully) useful information on this blog do you know what the most viewed article is? My Unknown Armies Online post. By far. I am talking by over 100% the views of my second place post. For years now.

It was just a thought. Just half a thought, really. Nothing was ever supposed to come of it unless I found the time. Perhaps there is a demand for it?

Persistent Worlds and Their Storage

Persistent Worlds and Their Storage

Over the past few months I have been putting together an MMO-style bit of software. Since it is more of an experiment than anything else I did not start with a design plan. That is not to say that most things are not planned before hand but I have no idea what will work best so I am trying a number of things off the hip first.

Right now I am working on the basis of what will make it multiplayer. The decision I have to make now is how will the data be stored and how will the clients access it?

  • I could store everything in an SQL database. This is attractive for its persistence and accessibility across multiple platforms and languages. The down side is I can not control what is cached and what is on disk as much as I would like. Every now and again I may take a huge hit in performance as it was not designed for this task. I may hit a bottle neck much sooner in a high concurrency situation than I otherwise would.
  • I could use memcached. This is attractive for the obvious reason: blinding speed. The down side is I would have to do so much more work in code since it does not guarantee stored data would exist when I need it. This increased work could place my bottleneck on my CPU when it is already pretty high from other tasks. I would not know the full effects of this until after the project is mostly complete leaving me in a chicken or egg situation.

I am sure there are many other options. These are the two that seem the best suited for my task right now that I am aware of.

No matter what I do I will build a very light-weight abstraction layer as to switch between different designs quickly. This will save a lot of time later on so I do not have to reinvent the wheel over and over again with each test.

Automatic Games

Automatic Games

I have always loved games that masterba… er, play themselves out. In such games the player sets the initial conditions– perhaps even writes a little code or designs something– and then lets it all hit the fan.

As of late I have been staring at Gratuitous Space Battles. In this one you design a small fleet of space ships, complete with hulls, engines, weapons, shields, and the like, and then set them against waves of enemies. The beauty of the game is no setup will work equally well against every enemy (at least once you are past the first few levels, that is).

This has re-sparked interest in my idea for something I am currently calling Evolution Battle (yes, yes, it is a dumb name). I envision it as SimLife mixed with something similar to Gratuitous Space Battles. Players would create the “life” with its basic attributes and then stick them in the world with other “life” to compete for resources. I think it would be a great project for me since it would involve a few technical challenges I am not sure I have encountered before.

Just an honorable mention for a few of my other favorites: Crazy Machines (a near-clone of The Incredible Machine), the classic Conway’s Game of Life, Robocode, Bloons Tower Defense 3, and Lemmings (sort of).

Dungeons Keeper 2 on Ubuntu with Wine

Dungeons Keeper 2 on Ubuntu with Wine

When Microsoft announced Windows 7 I went to my favorite retailer and pre-ordered my copy of Ultimate. Of course the more versions of Windows we get the less older games we can play on them.

Dungeon Keeper 2 was always one of my personal favorites. Seeing my lovely girl playing it on Windows Vista made me want to play a game so I dug it out from a pile of old discs and installed it on Windows 7. It would not start. I tried compatibility modes, sacrificing a dog, and a third thing. It simply, positively would not start. So I thought “screw this, I am going to Linux.”

These are the steps I took to get Dungeon Keeper 2 1.7 working on Ubuntu 9.10 x64:

  • Prepare Apt: In a terminal type sudo add-apt-repository ppa:ubuntu-wine/ppa
  • Update Apt: In a terminal type sudo apt-get update
  • Update Wine: In a terminal type sudo apt-get upgrade
    (Note that this will upgrade everything. You can use System -> Administration -> Update Manager to upgrade only the related Wine packages.)
  • Fire up regedit and set the following keys: In a terminal type wine regedit

    HKEY_CURRENT_USER -> Software -> Bullfrog Productions Ltd -> Dungeon Keeper II -> Configuration -> Video -> EngineID = 4
    HKEY_CURRENT_USER -> Software -> Bullfrog Productions Ltd – >Dungeon Keeper II -> Configuration -> Video -> ScreenHardware3D = 0
    HKEY_CURRENT_USER -> Software -> Wine -> DirectInput -> MouseWarpOverride = “disable”

    If any of these keys do not exist create them. Running the game and using Alt-F4 to exit it will create most of– if not all of– these. MouseWarpOverride had to be created in my case and I set it as a string.

  • Run the game: In a terminal browse to the Dungeon Keeper 2 directory and type wine DKII.exe

One might note that I never actually installed the game. I had it installed on Windows and I simply moved the files over to my EXT4 partition (running them off of my NTFS partition probably would have worked just as well). I also grabbed a no-CD crack so I would not need the disc (buy the game because it is damn well worth it). I have not yet gotten the mouse perfect but I am pretty happy with it right now. All the applications I had open at the time seemed to disappear but were still running. I do not know why this was and I currently have no idea where to look to fix it.

[Source]

Update 2011.04.22
As of Ubuntu 10.10 there is no need to add the Wine repositories (the Prepare Apt step).

RoboCode Tournament

RoboCode Tournament

I have become very interested in playing with RoboCode as of late. Wikipedia sums it up pretty nicley:

Competitors write software that controls a miniature tank that fights other identically-built (but differently programmed) tanks in a playing field. Robots can move, shoot at each other, scan for each other, and hit the walls (or other robots) if they aren’t careful. Though the idea of this “game” may seem simple, the actual strategy needed to win is not. Good robots can have thousands of lines in their code dedicated to strategy. Some of the more successful robots use techniques such as statistical analysis or attempts at neural networks in their designs.

I do go on with my rants about Java however I have gone as far as proposing an in-house tournament between friends. I have even drawn up game types and rules for this tournament. This could prove to be a great introduction to programming for them and a lot of fun for everyone.

Also I get to crush their robots with great prejudice in robo-combat.

Nick’s Choose Your Own Adventure

Nick’s Choose Your Own Adventure

There has been a surprising amount of activity in my Choose Your Own Adventure game. The most popular page? The one where a robot “looks at you… [and] beeps in an obnoxious manner…”

This activity makes me want to reboot the project while keeping the already-created user data. The project was never finished and still lacks a decent user management system and proper linking facilities (IE linking to other, already created pages). Plus once it is finished I will feel comfortable releasing the code and whoever wants to will be able to host their own version.

Creating is Hard 2

Creating is Hard 2

In a previous post I talked about a failed board game idea and I implied I might try it as a web-based game. Well after a lot of work on that I decided to take a break and try a game on Steam. Turns out I bought a game a while ago by the name of Mayhem Intergalactic but never played it.

Upon reading the text on the Help screen is when I realised this is basically the same game. Liking the basic concept– obviously– I started up a quick single player game versus the AI. Turns out it is nearly identical to my vision. Sure, I previously figured out my ideas were not all that original, but how many clones of the same game can the public tolerate? If someone likes my game over the competitions I would like to think it has to do with the features. Not because they simply did not already have alliance to another, similar game.

I still feel my version brings something to the table that the others lack (at least as far as I have seen). However, I need to ask myself if I still want to continue; Time is not something I have a lot of and I might rather work on something a bit more unique. After all, the sub-systems I have already built (login, chat, security mechanisms, ect) could be moved to another project virtually unmodified so it is not like scraping this project would mean I wasted most of my time…

Creating is Hard

Creating is Hard

I was working on a combat-based board game for a number of months. I started off with some ideas I thought were unique and built from there. After a lot of work and begging threatening bribing asking people to help me play test I was slowly forced to either modify or remove my unique ideas (it turns out that it is difficult to be objective in these situations). It became clear that no matter how cool my ideas were they may simply not work. It seems, in retrospect, that these ideas were never all that unique in the first place but were absent from the market place because of the same problems I ran into.

I grew up playing video games a lot more than playing board games. As such while designing board games I brought to the table a lot of odd things; Some were good, some were bad. One of my biggest problem to this day is the limitation of the human brain for computation vs a computer. When I think of the gears of gameplay I think in numbers. Numbers, however useful, are not fun. I need a way to mix these two worlds.

One idea that comes to mind is the web as a gaming platform. I am not necessarily talking about Web 2.0 or AJAX. I am talking about a technology that even mobile phones have access to. The World Wide Web is so ubiquitous and easy to script for that I would be dumb not to at least consider it. A lot of my ideas transfer very well to this platform and I think I may give an old, failed idea a shot in this medium.