Git Product home page Git Product logo

cosplay's Introduction

_________            ______________               
__  ____/_______________  __ \__  /_____ _____  __
_  /    _  __ \_  ___/_  /_/ /_  /_  __ `/_  / / /
/ /___  / /_/ /(__  )_  ____/_  / / /_/ /_  /_/ /
\____/  \____//____/ /_/     /_/  \__,_/ _\__, /  
                                         /____/
        ASCII Game Engine for Scala3             

License build Maven Central

Check out www.cosplayengine.com for the full documentation.

What is CosPlay?

CosPlay is 2D ASCII game engine written in Scala3:

  • Free, open source and royalty free
  • First truly native ASCII/ANSI game engine
  • Freedom of JVM runtime ecosystem
  • Native support for any ANSI terminal on macOS, Windows, Linux, Unix, or z/OS
  • 8-bit and "True Color" 24-bit color modes
  • Advanced sprite-based animation
  • Camera focus tracking
  • Extensive 2D ASCII graphics support
  • Powerful user-programmable shaders
  • Built-in particle effects support
  • Extensive imaging support including REXPaint format
  • Multi-channel audio & ASCII-video support
  • 277 built-in FIGLet fonts with full rendering
  • Built-in log viewer, debugger and terminal emulator
  • CosPlay also comes with many examples for each functional area:
    • The source code for these examples is shipped with the project (see org.cosplay.examples package).

Install and Use Cosplay

Prerequisites:

Using SBT:

libraryDependencies += "org.cosplayengine" % "cosplay" % "0.9.5"

Using Maven:

<dependency>
  <groupId>org.cosplayengine</groupId>
  <artifactId>cosplay</artifactId>
  <version>0.9.5</version>
</dependency>

One-Time Git Clone & Build:

$ git clone https://github.com/nivanov/cosplay.git
$ cd cosplay
$ sbt package

For developers interested in contributing to the project, you can work within your own feature off-master branches and create pull requests. For those just interested in using CosPlay to create games - you can just get the most recent version via SBT or Maven.

Development

  • First, fork the repository and clone to your own machine.
  • Create new feature branch off the master branch.
  • Work on your changes in that branch and submit pull requests with your proposed changes.

Questions?

Copyright

Copyright (C) 2023 Rowan Games, Inc.

CosPlay Logo

cosplay's People

Contributors

aradzinski avatar leo94582 avatar nivanov avatar phillipsmax14 avatar scala-steward avatar terdong avatar vlad94568 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

cosplay's Issues

JDK17 does not work.

โฏ java -cp modules/cosplay/target/cosplay-0.1.1-all-deps.jar org.cosplay.games.pong.CPPongGame
Exception in thread "main" java.lang.IllegalAccessError: class org.cosplay.CPEngine$ (in unnamed module @0x71ea80a6) cannot access class com.sun.javafx.application.PlatformImpl (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.application to unnamed module @0x71ea80a6
at org.cosplay.CPEngine$.init(CPEngine.scala:268)
at org.cosplay.games.pong.CPPongGame$.main(CPPongGame.scala:76)
at org.cosplay.games.pong.CPPongGame.main(CPPongGame.scala)

AWT error while debugging.

C:\Users\Vlad.jdks\openjdk-17.0.2\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.3.1\lib\idea_rt.jar=62899:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.3.1\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\Vlad\Documents\GitHub\cosplay\modules\cosplay\target\classes;C:\Users\Vlad.m2\repository\org\apache\commons\commons-math3\3.6.1\commons-math3-3.6.1.jar;C:\Users\Vlad.m2\repository\org\apache\logging\log4j\log4j-core\2.17.1\log4j-core-2.17.1.jar;C:\Users\Vlad.m2\repository\org\apache\logging\log4j\log4j-api\2.17.1\log4j-api-2.17.1.jar;C:\Users\Vlad.m2\repository\com\miglayout\miglayout-swing\11.0\miglayout-swing-11.0.jar;C:\Users\Vlad.m2\repository\com\miglayout\miglayout-core\11.0\miglayout-core-11.0.jar;C:\Users\Vlad.m2\repository\org\kordamp\ikonli\ikonli-swing\12.3.0\ikonli-swing-12.3.0.jar;C:\Users\Vlad.m2\repository\org\kordamp\ikonli\ikonli-core\12.3.0\ikonli-core-12.3.0.jar;C:\Users\Vlad.m2\repository\org\kordamp\ikonli\ikonli-lineawesome-pack\12.3.0\ikonli-lineawesome-pack-12.3.0.jar;C:\Users\Vlad.m2\repository\com\formdev\flatlaf\1.6.5\flatlaf-1.6.5.jar;C:\Users\Vlad.m2\repository\com\formdev\flatlaf-intellij-themes\1.6.5\flatlaf-intellij-themes-1.6.5.jar;C:\Users\Vlad.m2\repository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar;C:\Users\Vlad.m2\repository\co\blocke\scala-reflection_3\1.1.4\scala-reflection_3-1.1.4.jar;C:\Users\Vlad.m2\repository\org\scala-lang\scala3-compiler_3\3.0.2\scala3-compiler_3-3.0.2.jar;C:\Users\Vlad.m2\repository\org\scala-lang\scala3-interfaces\3.0.2\scala3-interfaces-3.0.2.jar;C:\Users\Vlad.m2\repository\org\scala-lang\tasty-core_3\3.0.2\tasty-core_3-3.0.2.jar;C:\Users\Vlad.m2\repository\org\scala-lang\modules\scala-asm\9.1.0-scala-1\scala-asm-9.1.0-scala-1.jar;C:\Users\Vlad.m2\repository\org\scala-sbt\compiler-interface\1.3.5\compiler-interface-1.3.5.jar;C:\Users\Vlad.m2\repository\com\google\protobuf\protobuf-java\3.7.0\protobuf-java-3.7.0.jar;C:\Users\Vlad.m2\repository\org\scala-sbt\util-interface\1.3.0\util-interface-1.3.0.jar;C:\Users\Vlad.m2\repository\org\jline\jline-reader\3.19.0\jline-reader-3.19.0.jar;C:\Users\Vlad.m2\repository\org\jline\jline-terminal\3.21.0\jline-terminal-3.21.0.jar;C:\Users\Vlad.m2\repository\org\jline\jline-terminal-jna\3.19.0\jline-terminal-jna-3.19.0.jar;C:\Users\Vlad.m2\repository\net\java\dev\jna\jna\5.3.1\jna-5.3.1.jar;C:\Users\Vlad.m2\repository\org\scala-lang\scala3-tasty-inspector_3\3.0.2\scala3-tasty-inspector_3-3.0.2.jar;C:\Users\Vlad.m2\repository\org\scala-lang\scala3-staging_3\3.0.2\scala3-staging_3-3.0.2.jar;C:\Users\Vlad.m2\repository\org\openjfx\javafx-media\17.0.0.1\javafx-media-17.0.0.1.jar;C:\Users\Vlad.m2\repository\org\openjfx\javafx-media\17.0.0.1\javafx-media-17.0.0.1-win.jar;C:\Users\Vlad.m2\repository\org\openjfx\javafx-graphics\17.0.0.1\javafx-graphics-17.0.0.1.jar;C:\Users\Vlad.m2\repository\org\openjfx\javafx-graphics\17.0.0.1\javafx-graphics-17.0.0.1-win.jar;C:\Users\Vlad.m2\repository\org\openjfx\javafx-base\17.0.0.1\javafx-base-17.0.0.1.jar;C:\Users\Vlad.m2\repository\org\openjfx\javafx-base\17.0.0.1\javafx-base-17.0.0.1-win.jar;C:\Users\Vlad.m2\repository\org\scala-lang\scala3-library_3\3.1.0\scala3-library_3-3.1.0.jar;C:\Users\Vlad.m2\repository\org\scala-lang\scala-library\2.13.8\scala-library-2.13.8.jar;C:\Users\Vlad.m2\repository\org\scala-lang\modules\scala-parallel-collections_3\1.0.4\scala-parallel-collections_3-1.0.4.jar;C:\Users\Vlad.m2\repository\com\typesafe\scala-logging\scala-logging_3\3.9.4\scala-logging_3-3.9.4.jar;C:\Users\Vlad.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;C:\Users\Vlad.m2\repository\org\jline\jline\3.21.0\jline-3.21.0.jar org.cosplay.examples.games.pong.CPPongGame
Feb 05, 2022 3:31:34 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @17211155'
Exception in thread "AWT-EventQueue-0" org.cosplay.CPException: Game must be paused for debugging.
at org.cosplay.CPEngine$package$.E(CPEngine.scala:51)
at org.cosplay.CPEngine$.debugStep(CPEngine.scala:403)
at org.cosplay.impl.guilog.CPGuiLog$.$init$$$anonfun$24(CPGuiLog.scala:414)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at org.cosplay.impl.guilog.CPGuiLog$$anon$2.actionPerformed(CPGuiLog.scala:997)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
at java.desktop/java.awt.Component.processEvent(Component.java:6391)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Exception in thread "AWT-EventQueue-0" org.cosplay.CPException: Game must be paused for debugging.
at org.cosplay.CPEngine$package$.E(CPEngine.scala:51)
at org.cosplay.CPEngine$.debugStep(CPEngine.scala:403)
at org.cosplay.impl.guilog.CPGuiLog$.$init$$$anonfun$24(CPGuiLog.scala:414)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at org.cosplay.impl.guilog.CPGuiLog$$anon$2.actionPerformed(CPGuiLog.scala:997)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
at java.desktop/java.awt.Component.processEvent(Component.java:6391)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

org.cosplay.CPException: Failed to interpolate Lagrange polynomial.

Mar 18, 2022 8:25:07 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @1da51a35'
org.cosplay.CPException: Failed to interpolate Lagrange polynomial.
at org.cosplay.CPEngine$package$.E(CPEngine.scala:51)
at org.cosplay.CPCurve$.lagrangePoly(CPCurve.scala:74)
at org.cosplay.games.pong.particles.CPPongScoreParticle.(CPPongScoreParticle.scala:55)
at org.cosplay.games.pong.particles.CPPongScoreEmitter.emit$$anonfun$1(CPPongScoreEmitter.scala:55)
at org.cosplay.games.pong.particles.CPPongScoreEmitter.emit$$anonfun$adapted$1(CPPongScoreEmitter.scala:56)
at scala.collection.immutable.Range.map(Range.scala:59)
at org.cosplay.games.pong.particles.CPPongScoreEmitter.emit(CPPongScoreEmitter.scala:56)
at org.cosplay.CPParticleSprite.update$$anonfun$2(CPParticleSprite.scala:169)
at scala.collection.immutable.List.foreach(List.scala:333)
at org.cosplay.CPParticleSprite.update(CPParticleSprite.scala:169)
at org.cosplay.CPEngine$.gameLoop$$anonfun$4(CPEngine.scala:964)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
at scala.collection.AbstractIterable.foreach(Iterable.scala:919)
at scala.collection.IterableOps$WithFilter.foreach(Iterable.scala:889)
at org.cosplay.CPEngine$.gameLoop(CPEngine.scala:964)
at org.cosplay.CPEngine$.startGame(CPEngine.scala:461)
at org.cosplay.CPEngine$.startGame(CPEngine.scala:478)
at org.cosplay.games.pong.CPPongGame$.main(CPPongGame.scala:82)
at org.cosplay.games.pong.CPPongGame.main(CPPongGame.scala)
Caused by: org.apache.commons.math3.exception.NonMonotonicSequenceException: points 0 and 1 are not strictly increasing (73 >= 73)
at org.apache.commons.math3.util.MathArrays.checkOrder(MathArrays.java:521)
at org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.verifyInterpolationArray(PolynomialFunctionLagrangeForm.java:324)
at org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm.(PolynomialFunctionLagrangeForm.java:82)
at org.cosplay.CPCurve$.lagrangePoly(CPCurve.scala:70)
... 20 more

ArrayIndexOutOfBoundsException in CPSlideInShader

java.lang.ArrayIndexOutOfBoundsException: Index 48 out of bounds for length 46
at org.cosplay.prefabs.shaders.CPSlideInShader.render$$anonfun$1(CPSlideInShader.scala:127)
at org.cosplay.CPRect.loop(CPRect.scala:214)
at org.cosplay.prefabs.shaders.CPSlideInShader.render(CPSlideInShader.scala:140)
at org.cosplay.CPEngine$.gameLoop$$anonfun$10$$anonfun$2(CPEngine.scala:1045)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
at scala.collection.AbstractIterable.foreach(Iterable.scala:926)
at scala.collection.IterableOps$WithFilter.foreach(Iterable.scala:896)
at org.cosplay.CPEngine$.gameLoop$$anonfun$10(CPEngine.scala:1045)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
at scala.collection.AbstractIterable.foreach(Iterable.scala:926)
at scala.collection.IterableOps$WithFilter.foreach(Iterable.scala:896)
at org.cosplay.CPEngine$.gameLoop(CPEngine.scala:1045)
at org.cosplay.CPEngine$.startGame(CPEngine.scala:463)
at org.cosplay.CPEngine$.startGame(CPEngine.scala:480)
at org.cosplay.games.pong.CPPongGame$.main(CPPongGame.scala:77)
at org.cosplay.games.pong.CPPongGame.main(CPPongGame.scala)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:254)
at java.base/java.lang.Thread.run(Thread.java:834)

Built-in Snake game issues:

  1. Confetti effect spills over the border
  2. Need a hotkey for audio on/off
  3. Need help on Ctrl-L and Ctrl-Q hotkeys
  4. Yam needs better design & animation

java.lang.IllegalArgumentException: requirement failed: src: [x=0,y=0,w=81,h=0], cam: [x=0,y=0,w=0,h=0]

Mar 18, 2022 8:34:40 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @548ad73b'
java.lang.IllegalArgumentException: requirement failed: src: [x=0,y=0,w=81,h=0], cam: [x=0,y=0,w=0,h=0]
at scala.Predef$.require(Predef.scala:337)
at org.cosplay.impl.emuterm.CPEmuTerminal.render(CPEmuTerminal.scala:438)
at org.cosplay.CPEngine$.gameLoop(CPEngine.scala:1040)
at org.cosplay.CPEngine$.startGame(CPEngine.scala:461)
at org.cosplay.CPEngine$.startGame(CPEngine.scala:478)
at org.cosplay.games.pong.CPPongGame$.main(CPPongGame.scala:82)
at org.cosplay.games.pong.CPPongGame.main(CPPongGame.scala)

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.