Coder Social home page Coder Social logo

barionleg / yodk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dbaumgarten/yodk

0.0 0.0 0.0 1019 KB

fork 15. Development Kit for Starbase's ingame programming language YOLOL

License: MIT License

Shell 0.48% JavaScript 0.25% Go 95.33% TypeScript 3.34% Makefile 0.60%

yodk's Introduction

YODK - YOLOL Development Kit

Build Status

What is YOLOL?

YOLOL is the ingame programming language for the upcoming game starbase.

What is the YODK?

The yodk aims to be a toolkit that helps with the development of YOLOL-Scripts. YOLOL is a pretty limited language and the lack of common features is really annoying for experienced programmers. The yodk (and in the future especially nolol) will try to mitigate this.

It mainly consists of:

  • A cli application that bundles helpful features for yolol-development (docs)
  • A vscode extension, that makes the features of the cli available directly in vscode (docs)
  • A new programming language called NOLOL, that extends YOLOL with a lot of features, experienced developers really miss when using yolol. Learn more about nolol.

Features

CLI

  • auto-format code
  • verify correctnes of code
  • automatically test yolol-code
  • interactively debug yolol
  • compile NOLOL code to YOLOL (also, all previous features also work with NOLOL)
  • start a Language Server Protocol Server
  • start a Debug Adapter Protocol Server

For more detailed information, see the documentation.

VSCODE-Extension

  • Syntax highlighting of yolol and nolol
  • Automatically find and highlight errors in your code in realtime
  • Automatically format your code
  • Debug your yolol/nolol-code directly inside vscode
  • Auto-type your scripts into the game
  • Use yodk commands directly from within vscode
    • Optimize YOLOL-code
    • Compile NOLOL to YOLOL

For more detailed information, see the documentation.

NOLOL

For an overview over the features of nolol, visit the documentation.

Installation

CLI - Binaries

You can find pre-build versions of the binaries here. Just download them, unpack the zip file and place the binary somewhere in your PATH.

(For help with adding things to PATH, see here: Windows, Linux, Mac)

CLI - From source

You will need to have the go-toolchain (>=v1.14) installed.
Run: go get -v github.com/dbaumgarten/yodk
This will download yodk and it's dependencies, compile it and store the binary in the bin folder of your gopath.

  • If $GOPATH is set: $GOPATH/bin/yodk
  • Default on linux: $HOME/go/yodk
  • Default on windows: %USERPROFILE%\go\yodk

It is helpful to add the yodk-binary to your path.

VScode extension

You can install vscode-yolol directly from the vscode marketplace. For more information, see the documentation.

Compatibility guarantees

Absolutely none. There could be breaking changes to the code at any time. If you want to use this project's code in your own project, you best use go-modules to pin your dependency to a fixed version number.

The goal is to be as compatible with the game as (reasonably) possible. Even if that means to re-implement weird bugs of the ingame-parser.
In cases where full compatibility is not feasible, yodk will try to be "downward-compatible" to the game: Everything that works in yodk SHOULD also work in-game. But a few weird edge-cases that work in the game will be treated as errors in yodk.

If you find differences between the game's implementation and yodk, please open an issue.

Supported Operating Systems

Yodk (and therefore also vscode-yolol) supports the following Systems:

  • Windows x86/64
  • Linux x86/64
  • MacOS x86/64 (experimental and barely tested)

Contributing

Found bugs, suggestions, want to add features? Just open an issue.

Check out the contribution-guidelines for information on how to contribute and/or how to set up a dev-environment.

You can, of course, fork this repo and create your own version of the yodk, but please consider working on this together. This way we will achieve more.

yodk's People

Contributors

dbaumgarten avatar azurethi avatar sparr avatar louga31 avatar woccz avatar dependabot[bot] avatar

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.