Part 3: The software side
Finally got round to tidying up the code. There's the arduino sketch which powers the lights, and a java application that runs in the background on the server, reads the server logs and will produce the serial commands that are sent to the arduino.
It uses the RXTX serial library, and the code itself is available on GitHub at https://github.com/darkmidnight/UnrealLANBox
There's still room for plenty of improvement, like getting the lights to flash when a flag has been taken.
I also put together a video showing the build process and a demo of it in action, see below
Showing posts with label networking. Show all posts
Showing posts with label networking. Show all posts
Monday, 4 September 2017
Tuesday, 25 July 2017
LAN-party in a box part 2
Part 2 - A new case
When thinking of a new case for the LAN box, I wanted to ensure it was easy to setup, and as portable as possible. As portable typically means 'small', it was necessary to consider the heat that would be generated by the computer when it was in use.
I purchased this ammo box from the local army surplus years ago, and it's only been used for storage, but it fits the bill nicely, it's fairly small in relation to the flight case I'd used before, has a handle for portability, and being metal should help dissipate the servers heat during use.
On top of all that, being an ammo tin, it fits the military/industrial aesthetic of Unreal well, but I wanted to do something to set it apart.
While I was planning this project, we were joking during our weekly games that we needed some kind of trophy that each weeks winner could keep on their desk, so I was looking at options for that, and I was toying with the idea of creating the iconic Unreal logo in brass, to create a shield-type trophy.
Then I figured we could combine the two ideas.
To start with I printed the logo to fit the 20x20cm brass that I ordered, and stuck the logo to the sheet to use as a template.
My original intent was to cut the brass on the bandsaw, but after a bit of testing, it was incredibly slow, and I found it easier to start by drilling around the logo, and then use a Dremel to cut out the shape by joining the holes together. From there it was just a case of grinding and filing down the edges.
The same process was used to cut a hole in the side of the ammo box for the window to be mounted, though as the metal was quite a bit thicker, I used an angle grinder for grinding down the edges.
The brass was glued and sandwiched between two sheets of clear acrylic, and mounted into the hole.
The original netbook that I used was too wide to fit the box, but I found another that just about fit - although I had to remove the screen, the battery, and pretty much anything else I could get away with ditching.
The next step was to add a band of WS2812 LEDs on the inside of the case, around the window, so that the logo could be backlit. To control them I used an Arduino Pro Micro, which I can in turn from the netbooks serial port. All the code will be covered in part 3.
Update: Part 3 available here
Labels:
gaming,
LAN,
networking,
Unreal,
Unreal Tournament,
UT99,
Videogames
Wednesday, 28 June 2017
LAN-party in a box, part 1
Part 1 - The Story So Far
The title’s pretty much self-explanatory. My colleague, Ray, and I were talking about “The good old days” of online gaming – before Call of Duty, when the dominant games were Unreal Tournament, Quake 3, Counterstrike and the like.
The title’s pretty much self-explanatory. My colleague, Ray, and I were talking about “The good old days” of online gaming – before Call of Duty, when the dominant games were Unreal Tournament, Quake 3, Counterstrike and the like.
We were toying with
the idea of trying to run a LAN game over the work network, but
figured the bureaucratic headache that would cause wasn’t worth it.
Then I got to
thinking about how to cram everything we’d need for a LAN game into
a single portable box, and could easily be set-up, used and torn down
again within a lunch hour.
The great thing
about returning to older games is that the system requirements, that
once required hi-end PCs will now run on pretty much any old
commodity hardware. What once meant lugging around heavy, bulky
desktops, separate monitors and keyboards, could be replaced with a
modern, lightweight laptop.
Ray was bringing in
his laptop, and I setup an old laptop for me to use.
I installed Fedora
25 from a live CD (no particular reason for this distro, other than I
had a live CD for it to hand – I’m sure others will work fine)
Installed WINE, and the game.
We also wanted to
use a dedicated server, so I dug through my stack of old hardware to
find something to use - and I setup the server using an old netbook.
The networking was
provided by an old home router of mine, which supplied DHCP
configuration, making the network a straightforward plug and play.
This whole setup was
stuffed into a metal flight-case for taking into work, and worked
well for a spot of lunchtime multi-player, but there were a few downsides:
- Cabling – lots of mains plugs and network cables.
- Size - it's quite a substantial amount of gear to lug around - the flight case measures 33x46x15 cm and is packed pretty full.
- Although UT runs quite well in WINE, there is definitely some latency. The server seems fine, but graphically on the client machine, it's noticeable
![]() | |
The original setup - the netbook in the background is the current server. |
Obviously something needs to be done to address the shortcomings, so this will form the basis of my next project - it should be a nice mix of DIY (for the case) and tech (hardware, software config, networking etc).
Update: Part 2 is now here
Labels:
gaming,
LAN,
networking,
server,
Unreal,
Unreal Tournament,
UT99
Subscribe to:
Posts (Atom)