Git Product home page Git Product logo

nesbox / tic-80 Goto Github PK

View Code? Open in Web Editor NEW
4.8K 120.0 458.0 124.83 MB

TIC-80 is a fantasy computer for making, playing and sharing tiny games.

Home Page: https://tic80.com

License: MIT License

C 80.78% C++ 2.97% Makefile 0.22% Java 9.25% HTML 0.37% Objective-C 0.06% CMake 2.26% Shell 0.06% JavaScript 1.73% Dockerfile 0.09% Ruby 0.08% Zig 0.80% D 0.24% Rust 0.89% Batchfile 0.20%
tic80 retro gamedev gameengine tiny 8bit tic-80 fantasy-console fantasy-computer

tic-80's Issues

Add new console command 'folder'

As the Pico-8 FOLDER command, it is really convenient.
'FOLDER open the current directory in the host operating system's file browser'

pbtn clarification

Not sure if pbtn is working as it should. If I keep pressed a key pbtn return true every odd frame.
I was expecting to only receive true again after releasing and pressing again the button.
Try in Win10 64Bit with 0.0.13 and 0.0.12

Cartridge metadata editor

add following metadata to cart:

  1. title
  2. author
  3. description
  4. tags
  5. input method (gamepad/mouse)
  6. ...

and implement method to edit meta info

HOTKEYS rectification

Hi,
Left bracket on french windows keyboard use Alt+4 , when I use Alt 4 it's change screen to go sfx editor. Can you remove this hotkey and leave only alt+F4 hotkey or fix this bug.

Thanks

Can't save clean cart

It's a bit odd but here how to reproduce it:

  • make a new cart
  • save with a name
  • -->can't save

Open the code editor write just one char (or more), now you can save. It seems like the modification can come from any editor.

What about if the NEW cart will contain at least the TIC function definition? At the end TIC function is strictly required.

Sockets support

Add luasocket support please for multiplayer games.

(I hope, I will able to download more than 64k of code from the server) :Ь

Add copy/cut/paste buttons to code and sprite editor

Being able to use TIC on Android is great, however CTRL+C, CTRL+V do not work making it difficult to create animations, or fixing some code issues without redrawing and retyping.
Maybe we can have cut, copy and paste buttons along the top right of the header bar? Or with the other tools in the sprite editor?

Undo and redo would be a nice touch as well.

[Web export] Sound lags

When playing a sound, after some time, it starts lag. And every time you keep playing sounds it lags more and more.

How to reproduce:
Any sound will starts to lag. Just open the sfx editor and press a key on the piano. At first there is a small lag. Keep pressing more keys, and the lag time starts to increase with every key pressed.
After some time, it will be a lag like 2 or 3 seconds on each key press.

Tested in Windows 7 with Chrome, Firefox and Opera. All with the same result.

VERSION command for dekstop

I'd find it nice to have a command for downloading a specific version of TIC from the console so I don't have to visit the itch.io site every time it is updated.
Its one parameter would be the version name/number.

Other Api method

Hello,

I saw snippet function in the wiki
Have you plan for other api function like circ functions in native api in the future?

And have you got a roadmap? if yes can you share it? :-)

Configuration for startup sound

The sound on startup is quite loud.
It would be nice to change the volume of TIC-80 (in the config file)

And why not being able to create a custom startup sound.
So that the user can reproduce the startup sound of the gameboy or other systems.

Crash on attempt to export

Linux 64-bit executable, crashes silently for all of "export", "export html", and "export native" after flashing screen for save destination.

Make config.lua editable from TIC

The new config.lua file is visible with the dir command but is not editable from TIC.

image

It would be nice to allow edit it. It doesn't look so bad in the editor:
image

set back 'demo' command on 0.16.0

On startup, all examples are download on folder.
Even if I use 'del' command or delete manually on ".local/share/TIC-tiny computer/0.16.0 dev/" (on linux system)

mouse scroll

Hello,

I don't know if I'm alone, but I have a problem with the trackpad scroll on my mac.
The scroll down only and doesn't up.

But it is not blocking, it's just a little bug.

font customization for all characters

in the config.lua file, we should be able to customize the TAB character in order to avoid mistakes in moonscript.
Character customization could be extended to all ASCII characters (from 0 to 127).

Moonscript support

  • If the first line of the script as the exact tag "--[moonscript]" then all the code is in moonscript,
  • otherwise it is in LUA

shake screen API function

add a function to draw entire screen buffer with XY offset
shake [x y]
the offset will reset every frame to 0:0 if you won't call the shake api

sprites flag

Hello,

Can you add in the sprite editor a sprite flags like pico8?

Syntax coloring for moonscript

This is not important, but it would be nice to have syntax coloring for moonscript.

And since we can change the symbols for whitespace characters, those characters should be colored lightly relatively to the text.
I mean by that the background of the text editor use color 0, regular text use color 15, so whitespaces should use color 1 rather than color 15 to be darker.

A bug in Android version

My Android phone is connected to the keyboard.
I can't use other than the arrow keys to control when I running my code.
And if I switch the apps, when I open the TIC again, it will not be able to input, only can restart.

Ненулевое начальное смещение в редакторе карт

Приветствую! При загрузке картриджа и последующем переходе в редактор карт, текущая карта отображается не со смещением 0,0 и не последняя редактируемая, а по середине и со сдвигом. В равом нижнем углу окна выбора карты возникает небольшой прямоугольный артефакт.

Mouse support

Would it be possible to add an API function for polling mouse coords and buttons? Or maybe a memory location one could use to peek() the mouse data?

Black borders

As you requested i'm creating an issue here about the black borders that are present in some resolutions.

fullscreen font size

Hi,

It's possible, when you are in fullscreen (or not) to decrease font size?
or implement a increase/decrease font size?
increase: ctrl+ +
decrease: ctrl+ -

DIR console command

Good day! I saw that the DIR console command does not work in the local version of Win XP. Reports: file system is empty try to use ADD command. Although the files are located in the working directory C:\Documents and Settings\cito1\Application Data\TIC - tiny computer\0.16.0 dev

Bugs in the windows store version 0.15.0

It seems that the windows store version is quite bugged.
for example:

  • the key 'O' open the search function in the text editor.
  • whatever we run in the terminal, it will interpret it as 'run'

There might other bugs, but I cannot look further.

Second gamepad not processed correctly.

I used this test program.
Clicking on the keyboard work out okay, but both of the gamepad are displayed as the first gamepad. Secondary gamepad displayed as first.
For example in the pico-8 both worked )
The operating system is Windows 7, if it is important.

--Key Test Project
--By Rain_Effect
local x=70
local y=25
local btnLabel={"Up","Down","Left","Right","Btn A","Btn B"}
function TIC()
    cls(0)
    print("Key Test Project",x,y)
 print("Btn",x,y+15,2)
    print("1P",x+50,y+15,2)
    print("2P",x+80,y+15,2)
    for i=1,6 do
     print(btnLabel[i],x,y+(i+1)*10+5)
        if btn(i-1) then
      print("On",x+50,y+(i+1)*10+5,11)
        else
      print("Off",x+47,y+(i+1)*10+5,6)
        end
        if btn(i+7) then
      print("On",x+80,y+(i+1)*10+5,11)
        else
      print("Off",x+77,y+(i+1)*10+5,6)
        end
    end
end

Hotkeys for Mac (again :-)

Can you add hotkeys for mac ?

normally for mac user:
cut it's cmd+x
copy it's cmd+c
paste it's cmd+v

have you plan to implement undo , redo ?
undo: windows : ctrl+z / mac: cmd+z
redo: windows : ctrl+shift+z or ctrl+y / mac: cmd+shift+z or cmd+y

What if I want to make big multiplayer game?

Hello, Vadim. Your project is awesome! I fell in love at first sight, thank you very much for your work! :3

I actually have a question - what if I want to make something more than little 64k game? I want to make online game with udp-server. Can you add socket support and remove 64k limit? It is possible theoretically?

Camera operator

Maybe implemented camera operator for a smooth scrolling like as PICO-8?. If the camera operator is not specified in the user program(script), use the only map operator for backward compatibility.

Configure buttons mapping

Make a tool to configure keyboard and gamepad buttons mapping.
Save the mapping settings in local storage.

Add some buttons/change axis buttons

Sorry for my bad language, I'm french ! :)

Change axis buttons

I requesting to change axis buttons (left,up,right,down).
I think, it's would be more user-friendly if btn(0) and btn(1) return a integer variable for axis pressed:

  • btn(0) return -1 => left pressed
  • btn(0) return 1 => right pressed
  • btn(0) return 0 => left or right are unpressed

Why ?

more realistic

In fact, on a joypad NES joypad reference, it's impossible to press left and right in same time.

But with the current buttons configuration, I can do this:
if btn(2) and btn(3) then x=x+1 end

more useful for moving object in axis

With -1 to 1, we can moving object in TIC axis:

-- 'hello world' demo

function btnAxis(which)
	if which==0 then --x axis
		a=2
		b=3
	elseif which==1 then --y axis
		a=0
		b=1
	end
	
	if btn(a) and btn(b) then
		return 0
	elseif btn(a) then
		return -1
	elseif btn(b) then
		return 1
	else
		return 0
	end
end

t=0
x=104
y=24

function TIC()
	--[[ old dummy code :)
	
	if btn(0) then y=y-1 end
	if btn(1) then y=y+1 end
	if btn(2) then x=x-1 end
	if btn(3) then x=x+1 end
	--]]
	
	-- new super function
	x=x+btnAxis(0)
	y=y+btnAxis(1)
	
	cls(12)
	spr(1+(t%60)/30,x,y,-1,4)
	print("HELLO WORLD!",84,64)
	t=t+1
end

Add some buttons

I thinking about add select, start, L trigger, R trigger buttons, but I think it's to much.
How about add just start button ?

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.