Giter VIP home page Giter VIP logo

nightmod's Introduction

screenshot

Introduction

Nightmod is a tool for making live-moddable games. You can view a game's code while it's running and inject changes by simply hitting "Save". With the powerful Clojure programming language, you'll see your game come to life as you type. Please see the website for more details.

Getting Started

Licensing

All files that originate from this project are dedicated to the public domain. I would love pull requests, and will assume that they are also dedicated to the public domain.

nightmod's People

Contributors

oakes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nightmod's Issues

Min requirements

After purchasing on Apple App Store (support FTW), went to install on our family (2007) mac mini for housemate's kid, and it said the gfx support was missing and couldn't install it. Would be good if minimum requirements other than Java 7 were mentioned on any of the sites, or on the App Store itself. Would consider updating computer, but I'm not sure what the actual requirements are - is it that it needs to have more than onboard graphics? Tried to download separately to see if that would actually install anyway, but that failed too - wouldn't open.

Add rainbow parens

Rainbow parens provide a nice visual cue about where you are in nesting them:

screenshot from 2015-07-23 09 08 36

Plus it's kind of cute, which can make nightmod even more fun ๐Ÿ˜‰

Possible memory leak?

On my computer, opening Nightmod and opening the default Arcade project, if I hold Command+R to trigger various resets, I can see memory usage go up pretty rapidly. I had memory usage go up from 450mb to 760mb after holding for a few seconds. Is this a memory leak?

java.security.PrivilegedActionException on Windows 7

This exception happens when in split screen with the repl open. When I switch to another windows and then switch back, the following exception happens and the repl prompt does not take input anymore. Tested on work computer and at home with windows 7. Java version does not seem to have an influence.

Exception in thread "AWT-EventQueue-0" java.security.PrivilegedActionException: java.security.PrivilegedActionException:
java.security.PrivilegedActionException: java.security.PrivilegedActionException: java.security.PrivilegedActionExcepti
on: java.security.PrivilegedActionException: java.io.IOException: Invalid argument
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.security.PrivilegedActionException: java.security.PrivilegedActionException: java.security.PrivilegedAct
ionException: java.security.PrivilegedActionException: java.security.PrivilegedActionException: java.io.IOException: Inv
alid argument
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
... 9 more
Caused by: java.security.PrivilegedActionException: java.security.PrivilegedActionException: java.security.PrivilegedAct
ionException: java.security.PrivilegedActionException: java.io.IOException: Invalid argument
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.SequencedEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
... 14 more
Caused by: java.security.PrivilegedActionException: java.security.PrivilegedActionException: java.security.PrivilegedAct
ionException: java.io.IOException: Invalid argument
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
... 22 more
Caused by: java.security.PrivilegedActionException: java.security.PrivilegedActionException: java.io.IOException: Invali
d argument
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.SentEvent.dispatch(Unknown Source)
at java.awt.DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent.dispatch(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.sendMessage(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
... 27 more
Caused by: java.security.PrivilegedActionException: java.io.IOException: Invalid argument
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
... 42 more
Caused by: java.io.IOException: Invalid argument
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.WinNTFileSystem.canonicalize(Unknown Source)
at java.io.File.getCanonicalPath(Unknown Source)
at nightcode.ui$get_node.invokeStatic(ui.clj:141)
at nightcode.ui$get_node.invoke(ui.clj:138)
at nightcode.file_browser$create_tiles.invokeStatic(file_browser.clj:178)
at nightcode.file_browser$create_tiles.invoke(file_browser.clj:175)
at nightcode.file_browser$update_card_BANG_.invokeStatic(file_browser.clj:199)
at nightcode.file_browser$update_card_BANG_.invoke(file_browser.clj:194)
at nightcode.file_browser$update_card_BANG_.invokeStatic(file_browser.clj:201)
at nightcode.file_browser$update_card_BANG_.invoke(file_browser.clj:194)
at nightcode.window$add_listener_BANG_$fn__19843.invoke(window.clj:94)
at nightcode.window.proxy$java.awt.event.WindowAdapter$ff19274a.windowActivated(Unknown Source)
at java.awt.AWTEventMulticaster.windowActivated(Unknown Source)
at java.awt.Window.processWindowEvent(Unknown Source)
at javax.swing.JFrame.processWindowEvent(Unknown Source)
at seesaw.core.proxy$javax.swing.JFrame$Tag$fd407141.processWindowEvent(Unknown Source)
at java.awt.Window.processEvent(Unknown Source)
at seesaw.core.proxy$javax.swing.JFrame$Tag$fd407141.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
... 47 more

Add pause and play button

It would be helpful to have a button for pausing and playing the game. This would help analyze the state at a particular moment in time, and also reduce distraction while coding. The main questions are, (1) how to implement it on a technical level (does libGDX allow you to stop the game loop?), and (2) how to avoid UI clutter (there are already six buttons at the top left of the game screen).

There is no way to exit a game from within

For fullscreen desktop games, a function to terminate execution should be provided.
Right now there is no documented function that can do that in Nightmod.
Mobile games don't need it and windowed desktop games don't need it, but it must be available for fullscreen desktop games or the player would have to go out of fullscreen in order to close the game.
Within the sandbox, it should terminate as if an error was thrown, but instead print "exited succesfully" or something similar.

java.awt.HeadlessException

I can't run the jar that I downloaded from the website ?

[stephen@localhost clojure]$ java -jar nightmod-1.3.2-standalone.jar
Exception in thread "main" java.awt.HeadlessException
at java.awt.SplashScreen.getSplashScreen(SplashScreen.java:117)
at nightmod.Nightmod.init(Nightmod.java:37)
at nightmod.Nightmod.main(Nightmod.java:70)
[stephen@localhost clojure]$ java -version
openjdk version "1.8.0_101"
OpenJDK Runtime Environment (build 1.8.0_101-b14)
OpenJDK 64-Bit Server VM (build 25.101-b14, mixed mode)
[stephen@localhost clojure]$ uname -a
Linux localhost.localdomain 4.6.6-300.fc24.x86_64 #1 SMP Wed Aug 10 21:07:35 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.