All Projects → tessi → LazyNethack

tessi / LazyNethack

Licence: other
A Nethack Screensaver for MacOS -- watch others play nethack when you're too lazy to play yourself :)

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to LazyNethack

NetHack-Android
NetHack 安卓汉化版源代码
Stars: ✭ 63 (+350%)
Mutual labels:  nethack
Flurry-WebGL
WebGL port of Flurry screensaver
Stars: ✭ 58 (+314.29%)
Mutual labels:  screensaver
MacOS-Developers-Excuses
A macOS screen saver that shows a random developer excuse over a beautiful photo background. Made with ❤
Stars: ✭ 53 (+278.57%)
Mutual labels:  screensaver
ColorClockSaver
A screensaver for macOS
Stars: ✭ 57 (+307.14%)
Mutual labels:  screensaver
HakkaSaver
a transparent screen saver trying to protect you instead of the monitor
Stars: ✭ 21 (+50%)
Mutual labels:  screensaver
AwesomeWallpaper
AwesomeWallpaper plays videos, shows images and system info on your desktop wallpaper
Stars: ✭ 74 (+428.57%)
Mutual labels:  screensaver
Cmatrix
Terminal based "The Matrix" like implementation
Stars: ✭ 2,366 (+16800%)
Mutual labels:  screensaver
word-clock-screensaver
macOS screensaver displaying the time in English words
Stars: ✭ 80 (+471.43%)
Mutual labels:  screensaver
LiteraryClockScreenSaver
MacOS screen saver to display time in the form of literary quotes. Based on way cooler https://www.instructables.com/id/Literary-Clock-Made-From-E-reader/
Stars: ✭ 64 (+357.14%)
Mutual labels:  screensaver
mamesaver
Mamesaver is a mame emulated screensaver - get all the good ol' games playing their demo modes while you procrastinate and enjoy!
Stars: ✭ 26 (+85.71%)
Mutual labels:  screensaver
langtons-ant
Langton’s Ant macOS screen saver written in Swift
Stars: ✭ 12 (-14.29%)
Mutual labels:  screensaver
MusaicFM
Screensaver inspired by Apple’s inbuilt iTunes Screensaver. It can display Artwork by Spotify or last.fm Profile Data.
Stars: ✭ 223 (+1492.86%)
Mutual labels:  screensaver
AerialForWindows
Aerial For Windows is a Windows screen saver based on the new Apple TV screen saver
Stars: ✭ 30 (+114.29%)
Mutual labels:  screensaver
rusty-rain
A cross platform matrix rain made with Rust.
Stars: ✭ 217 (+1450%)
Mutual labels:  screensaver
html5-screensaver-node-webkit
Screensaver made with HTML5, CSS, Javascript and NodeJS driven by node-webkit
Stars: ✭ 30 (+114.29%)
Mutual labels:  screensaver
SlashTHEM
Super Lotsa Added Stuff Hack - The Heavily Extended Mod: A variant of Slash'EM that adds a bunch of content.
Stars: ✭ 23 (+64.29%)
Mutual labels:  nethack
SpliceHack
An in-progress nethack variant based on version 3.7. An attempt to build a "kitchen sink" style variant that is easy to pick up and play.
Stars: ✭ 25 (+78.57%)
Mutual labels:  nethack
WordClock
A Word Clock Screen Saver for macOS
Stars: ✭ 20 (+42.86%)
Mutual labels:  screensaver
PolarClockElm
A colorful animated polar clock in the browser. Built with Elm and inspired by an infamous screensaver.
Stars: ✭ 29 (+107.14%)
Mutual labels:  screensaver
LockerScreen
Android lock screen,slide to unlock ! 安卓锁屏,上滑解锁,效果酷炫,值得拥有!
Stars: ✭ 81 (+478.57%)
Mutual labels:  screensaver

LazyNethack

A Screensaver for MacOS which let's you watch live nethack games

the running screensaver

Installation

Option 1: Download

  1. Download from https://github.com/tessi/LazyNethack/releases
  2. Unpack the LazyNethack-x.x.zip file.
  3. Double-click (Open) the LazyNethack.saver file and choose to install it.
  4. Open up System Preferences > Desktop and Screen Saver > Screen Saver
  5. Select "LazyNethack" (It'll be at the bottom of the Screen Savers list.)

Option 2: Build it yourself

  • Clone the repository
  • Open in Xcode and build the LazyNethack target
  • In the "Products" folder, right click on LazyNethack.saver and choose Open with External Editor
  • Follow the instructions on screen

Gotchas

  • It needs internet to connect to alt.org (the place where nethack people play online). If things don't load, chances are you're firewall blocks requests.
  • If you want to install a new version of this screensaver, please follow these exact steps (to avoid a MacOS bug which caches the old binary):
    • remove the old version of the screensaver
    • close the settings app
    • install the new version

Development and Contribution

Feel free to contribute by adding issues or opening pull requests. 🌷

Architecture

The screensaver consists of two parts:

  • A Swift part which hooks into the MacOS screensaver app and opens a WebView . Find the source in Source or open the project in XCode.
  • and a web page which is opened in that WebView. Find it in App/Ressources/index.html. It creates a terminal (hterm) and opens a websocket connection to a nethack server. gameControl.js is responsible to orchestrate that and contains the logic how to join nethack games and when to switch to new games.

Thanks

  • Alastair Tse - His screen saver project WebViewScreensaver helped me a lot with getting a web view to run.
  • Mattias Jahnke - His screen saver project WorldClock was my go to source for a nice SWIFT setup for screensavers.
  • alt.org/nethack - A place where fellow nethack'ians play nethack online for the viewing pleasure of the world. They have their own page where people can watch the game. This page heavily inspired me and my approach to base this screensaver on a WebView component.
  • The Nethack developers - Nethack is developed as open source. This allowed me to use the Nethack logo without inventing my own.

License

MIT licensed, the nethack logo is under the NETHACK GENERAL PUBLIC LICENSE

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].