Terminal emulator control for Godot engine

Terminal for Godot

This is simple terminal emulator like control for Godot engine. It might be useful for projects like

  • rougelikes
  • game about hacking/hackers
  • game about programming
  • game with ASCII graphics
  • game when you have to interact with computers
  • editor plugins
  • cheat/debug console
  • think of something yourself

Notice: This control is still under development. While It's quite usable, the API may change without warning until 1.0

Screenshot

Screenshot of demo.tscn | Gif - Input | Gif - Font resize | Gif - Terminal resize

Screenshot of demo scene

Project Setup

Godot Engine version >= 2.1 is required.

Testing

Todo

How to use

To install these, copy terminal to a folder addons/ inside your projects, like this addons/terminal

and then activate it in Scene > Project Settings > Plugins Now you can create terminal control from Create new Node menu.

OR instance terminal.tscn somewhere in your scene.

Owner
Daniel Lewan
Visual artist, programmer.
Daniel Lewan
Similar Resources

Program to generate ruins using the Numenera Ruin Mapping Engine

Ruin Generator This is my attempt to build a program to generate ruins for Numenera using the rules from the Jade Colossus splatbook. The output only

Nov 7, 2021

An experimental vulkan 3d engine for linux (raspberry 4)

protomatter an experimental vulkan 3d engine for linux (raspberry 4).

Nov 14, 2021

Rule engine implementation in Golang

Rule engine implementation in Golang

Rule engine implementation in Golang

Dec 30, 2022

A search engine for XKCD

xkcd_searchtool a search engine for XKCD What is it? This tool can crawling the comic transcripts from XKCD.com Users can search a comic using key wor

Sep 29, 2021

Nune - High-performance numerical engine based on generic tensors

Nune (v0.1) Numerical engine is a library for performing numerical computation i

Nov 9, 2022

Nune-go - High-performance numerical engine based on generic tensors

Nune (v0.1) Numerical engine is a library for performing numerical computation i

Nov 9, 2022

Zinc Search engine. A lightweight alternative to elasticsearch that requires minimal resources, written in Go.

Zinc Search engine. A lightweight alternative to elasticsearch that requires minimal resources, written in Go.

Zinc Search Engine Zinc is a search engine that does full text indexing. It is a lightweight alternative to Elasticsearch and runs using a fraction of

Jan 1, 2023

A modern and intuitive terminal-based text editor

A modern and intuitive terminal-based text editor

micro is a terminal-based text editor that aims to be easy to use and intuitive, while also taking advantage of the capabilities of modern terminals.

Jan 5, 2023

Wordle - A terminal Wordle written in Go

Wordle - A terminal Wordle written in Go

Wordle A terminal Wordle written in Go. Running If you couldn't tell from the im

Dec 26, 2022
Comments
  • Not showing anything

    Not showing anything

    Hey Teddy,

    Great project u have here. But, nothing seems to show when launched:

    image

    I'm using the latest nightly build here http://fixnum.org/godot/

    Any idea? Thx

  • What is the status of this project?

    What is the status of this project?

    I just wanted to check what the status was on this project? I am in need of this functionality for a Godot project of mine and was considering continuing work on gterm to get it up and running on Godot 3/4. If this project is technically still alive and accepting contributions I would probably issue pull requests back to this repo, but if this is dead I will probably just focus on my own fork.

  • Performance decrease proportional to the length of last string write

    Performance decrease proportional to the length of last string write

    Using write_string() slows projects down to a crawl. FPS penalty stays until you use redraw_terminal() again, and is once again dependent on the size of the string being passed. write_all() drops frames down to 2-5 (on my admittedly pitiful machine) and write_string() with a string of length 1 produces no noticeable slowdown. Note that:

    terminal.write_all('#')
    terminal.redraw_terminal()
    #sneaky workaround?
    terminal.redraw_terminal()
    

    does not work. You must call_deferred() the last line for the performance gain to take effect. My guess would be that some kind of buffer is being continuously redrawn to the screen or otherwise processed.

    EDIT: branch godot3porting.

  • Update Readme at godot3porting brach

    Update Readme at godot3porting brach

    Readme should state clearly that current development is focused on 3.x version of Godot. It should link to https://github.com/TeddyDD/gterm/tree/godot2 branch (last 2.1.x release) for people who want use Godot 2.1.x

Configuration agent for BFE control plane

conf-agent conf-agent 说明 conf-agent 从 api-server 获取最新的配置并触发bfe热加载。 获取方式 获取 conf-agent 工具。获取 conf-agent 有多种方式: 在 releases 页面下载对应平台的可执行文件 通过 go get 工具本地

Oct 28, 2022
Joy2Mouse is a program that allows you to control your computer mouse with a joystick.
Joy2Mouse is a program that allows you to control your computer mouse with a joystick.

Joy2Mouse Joy2Mouse is a program that allows you to control your computer mouse with a joystick. Features Control your mouse with a joystick Mouse dow

Dec 26, 2021
Sa818 - Sa818 UHF/VHF walkie talkie module control library for golang
Sa818 - Sa818 UHF/VHF walkie talkie module control library for golang

SA818 golang library for serial control This library written in Go programming l

Jan 23, 2022
Control QEMU like magic!
Control QEMU like magic!

Qemantra Qemantra is a command-line tool for creating and managing QEMU Virtual Machines. QEMU is better and sometimes faster than VirtualBox , but do

Dec 26, 2022
Go library for hardware I/O control, in the programming style of Arduino

hwio Introduction hwio is a Go library for interfacing with hardware I/O, particularly on SoC-based boards such as BeagleBone Black, Raspberry Pi and

Dec 9, 2022
community search engine

Lieu an alternative search engine Created in response to the environs of apathy concerning the use of hypertext search and discovery.

Dec 24, 2022
Weaviate is a cloud-native, modular, real-time vector search engine
Weaviate is a cloud-native, modular, real-time vector search engine

Weaviate is a cloud-native, real-time vector search engine (aka neural search engine or deep search engine). There are modules for specific use cases such as semantic search, plugins to integrate Weaviate in any application of your choice, and a console to visualize your data.

Jan 5, 2023
Self hosted search engine for data leaks and password dumps
Self hosted search engine for data leaks and password dumps

Self hosted search engine for data leaks and password dumps. Upload and parse multiple files, then quickly search through all stored items with the power of Elasticsearch.

Aug 2, 2021
IBus Engine for GoVarnam. An easy way to type Indian languages on GNU/Linux systems.

IBus Engine For GoVarnam An easy way to type Indian languages on GNU/Linux systems. goibus - golang implementation of libibus Thanks to sarim and haun

Feb 10, 2022
A BPMN engine, meant to be embedded in Go applications with minim hurdles, and a pleasant developer experience using it.

A BPMN engine, meant to be embedded in Go applications with minim hurdles, and a pleasant developer experience using it. This approach can increase transparency for non-developers.

Dec 29, 2022