Discord
Login
Community
DARK THEME

I did it everyone, this is everything I am going to do and release and share and YOU can do! :)

I have been quiet for awhile and I want to now share with you all the things you must know and what you can do to help out:

TiberScript 1.2 is now officially real, I have made so much progress and so many upgrades, it is up to 10 to 124 times faster than 1.1 on its benchmarks and up to 240 times faster on a heavy frame, I learned SO MUCH from the other languages already built in the engine itself especially microScript 2.0! And there are A LOT of new features that I wanted and needed for making my dream game! I will now share with you all THE BIGGEST UPDATE OF ALL! The features you all have been waiting for ever since I said it, and there is not 3, not 4, not even 5, but 6 FEATURES! Here is the entire What's New in 1.2 from my Handbook itself:


What's New in 1.2

1.1 made TiberScript real. 1.2 makes it a full game scripting language. Every system a full length game actually needs is here now, and nothing from 1.1 goes away.

And then there is the one thing no other game language has.

  • THE BIGGEST UPDATE OF ALL, in six parts. See Section 19. (EDIT: this will be part of the actual full Handbook once I fully finish it and make sure everything is good! Plus TiberScript 1.2 is still on BETA and most of these features are in very early BETA and still has work to do!)
    • Time Is a Value. Your game can rewind itself, as far back as the whole game if you want, look into its own future, try "what if" without it happening, replay any moment, and play online with rollback netcode, all as plain TiberScript. And online, one word, puts a game online: a room, a lobby with a link and a QR code to join from another window or a phone, players who watch, leave and come back, and rollback underneath.
    • A Million Things at Once. swarm of bullet keeps a crowd as a few blocks of numbers: a quarter of the memory, no garbage collection stutter, and snapshots the Timeline takes in a third of a millisecond.
    • The Forge. TiberScript compiled to JavaScript, the browser's own fastest language: 10 to 124 times faster than 1.1 on its benchmarks, 10 times faster on a real game's frame and up to 240 times faster on a heavy one, a game changed while it runs without starting over, and a door to the rest of the web.
    • Fast. One word, fast, and the Forge compiles that code to WebAssembly instead: a crowd moves in about a fifth of the time, and the math gives the same answer on every machine.
    • The Graphics Chip. Put shader in front of a function and the Forge writes it for the graphics chip, which runs it for every pixel at once: skies, water, fire, clouds, heat haze, shockwaves and black holes that bend the picture, all in TiberScript, about a millisecond for a whole 1080p frame. The same shader runs on the processor in a test or on a computer without a graphics chip, with the same colors, and swarm.drawPoints() draws a million things in 5 ms, 28 times faster than before.
    • Change the Past. The biggest of the six. retro seconds(2) do ... end makes a change two seconds ago and plays the game forward again from there with the same inputs, so the present becomes the one that change would have made. Save your code while the game runs, or move a tunable's slider, and all the time kept is played again with it: the run you are in becomes the run where the bug never happened. time.undoChange() puts back what had happened, and time.showOldPast(true) draws it faintly over the new present.
  • Light and effects. Lights, spotlights, sunlight and real shadows, soft or sharp, from walls, tile maps, round things, objects and whole swarms, a glow around every light, glows that light nothing, a light on every member of a swarm, and a finish on the whole frame (bloom, scanlines, a vignette, color fringes, big pixels, film grain, or an old television, all at once). A light is drawn like everything else, so a rewound, replayed or forecast game is lit right with no work at all. See Section 23.
  • Physics that rewinds. physics.add(crate, "box", 16, 16) and a crate falls, stacks, slides and is pushed; balls bounce and roll. It keeps nothing of its own, so a rewind, a forecast, a replay and a rollback move every body exactly, and every machine gets the same numbers. See Section 24.
  • Filters, and swarms the graphics chip moves. effects.filter(shader) stacks your own shaders on the finished frame, in order, each with its strength, and swarm.moveOnChip(shader) has the graphics chip move every member of a swarm at once. See 23.11 and Section 25.
  • A whole game saved in one line. save.game() writes down everything the game is right now, and save.loadGame() puts all of it back. See Section 15.
  • Controllers. Xbox, PlayStation (the DualSense and DualSense Edge too), Nintendo Switch (the Pro Controller and Joy Con, in every browser, two Joy Cons as one controller), Steam, 8BitDo, Logitech, PowerA, HORI, GameSir and any other controller, plugged in or over Bluetooth, answering a light touch. Every player keeps their number when a controller is unplugged, every brand's button names work, button prompts are drawn to match the controller in the player's hands, controllers rumble, and a setup screen teaches the engine any controller a browser does not know. See Section 7.
  • 60 or 120 frames a second, and 120 updates, on their own. Tiber.frameRate draws in between updates on a fast screen, Tiber.renderScale keeps older computers at full speed, the performance monitor (F3) has a switch for pictures a second and one for updates a second, a game written with Tiber.tickRate = "auto" runs 120 real updates a second by itself on a 120 Hz screen with room to spare, and the updates are locked to the screen's refresh so motion never stutters. See Section 21.
  • Built in platform SDKs, in every language. platform.unlock(), stats, leaderboards, cloud saves, the player's name and presence, the same calls in TiberScript, microScript, JavaScript, TypeScript, Lua, Python, C#, Rust and AssemblyScript: kept on the player's computer in a browser, sent to Steam or Epic Online Services in a desktop export, and ready for a console's own SDK. See Section 22.
  • Modules. import and export. A real project can finally live in more than one file.
  • The Standard Library. Real string, array, math, and table helpers instead of leaning on built in functions alone.
  • Inline functions. function(a, b) ... end as a value, for callbacks you only need once.
  • Sequences. sequence do ... wait(N) ... end for cutscenes, dialogue, and timed attack patterns.
  • Events. A quick global on() and trigger() for simple cases, and real declared signal blocks for anything bigger.
  • Enums. Named states instead of bare strings, so a typo is a real error instead of a silent blank screen.
  • State hooks. entering and leaving blocks run once when a state starts and ends.
  • Traits. uses lets an archetype share behavior with as many traits as it needs.
  • Tunable variables. export a value and change it without touching code.
  • Dialogue. A real branching conversation system, built in.
  • Action mapping. bind() and action(). Input tied to intent, not physical keys.
  • Sprite animation. Frame sequences and animation state, built in, and any one frame of a sprite drawn by name, mirrored when it faces the other way.
  • Camera upgrades. Smooth follow, bounds, and parallax layers.
  • Draw layers. Real control over what renders in front of what.
  • Real collision. Shapes beyond boxes, actual resolution, and layers and masks.
  • Fixed timestep physics. A fixedUpdate() that runs at a steady rate no matter the frame rate.
  • UI primitives. Buttons, health bars, and word wrapped text boxes.
  • Structured save data. A real save system, not just a slot that exists or does not.
  • Networking hooks. microStudio's multiplayer, finally reachable from TiberScript.
  • Upgraded physics. Mass and friction, not just gravity and bounce.
  • Tween easing. Bounce, elastic, and ease curves, not just linear motion.
  • Cancellable timers. A schedule you can call off before it fires.
  • Time in seconds. seconds(1.5) anywhere a frame count goes.
  • where. for e in enemies where e.hp < 10 do picks out part of any list or swarm, in the loop itself.
  • A bigger randomness toolkit. Seeding, decimals, coin flips, picking from a list, and random direction.
  • Audio channels. Separate music and sound effect volume, and audio.has() to ask what a project contains.
  • String interpolation. "Score: $(score)" without a single +.
  • Testing. test and assert so you can trust your own code as your game grows.
  • Better errors. Messages that say what was expected, not just what broke.
  • Typed built ins. Every built in function now has a known signature, the foundation real autocomplete needs.
  • A bigger Tiber namespace. Version checks and feature checks, alongside everything it already did.
  • Signal aware waiting. wait() now pauses for a signal, not just a frame count.
  • Whole object saves. Save and restore an entire archetype instance in one call.
  • A live debug overlay. See every trigger fire, every tag on the object under your cursor and where each frame's time went, and scrub back through time.
  • Tile maps with collision. Stand on tiles, stop at walls, jump up through ledges, in one call.
  • Noise and pathfinding. Smooth randomness for worlds, and a shortest route around them.

All 1.1 scripts run unchanged, with one deliberate exception, explained in Section 1: a for loop's counter now belongs to its loop. Nothing above replaces anything. It all sits on top.

1.2 is what microStudio runs for every project set to TiberScript. The language menu offers TiberScript 1.2, and that is what a new project gets. TiberScript 1.1 is still inside microStudio, frozen exactly as it shipped, but it is no longer offered in the menu: a project that was already set to 1.1 keeps running on it and still shows its name, and a new project never needs it, because every 1.1 program runs on 1.2. Every 1.1 program has been played on both engines, frame by frame, with the same keys and the same random numbers, and draws exactly the same on each. Every code block in this handbook is run on the engine as a test, and every part of 1.2 has tests of its own, listed in the README. (EDIT: I am actually thinking of open sourcing the entire TiberScript 1.1 Runner, you guys let me know if you guys want to!)

1.1 itself grew during the 1.2 work (EDIT: You can now check this out from the TiberScript 1.1 Test and Learn that is already out in microStudio right now!), and those additions are part of 1.1, not 1.2. The final 1.1 check added 0 counting as false, alter color= and alter rotation=, view world, Tiber.state and Tiber.frame, min() and max() of any number of values, functions called from fields, and round circles. Before that came % and %=, string escapes, single quoted strings, for ... in, the string methods .endsWith(), .contains(), .toUpper(), .toLower(), .trim(), .substring(), .replace(), .split(), the list methods .insert(), .pop(), .contains(), .indexOf(), .join(), .sort(), .reverse(), alter volume= pitch=, a working pause("music") and resume("music"), Tiber.version and Tiber.lastError, the rest of microStudio's screen, touch, gamepad, system and storage, and emit(), flash() and shake() that show in a game with its own draw(). The 1.1 Handbook covers all of them.


And since I have TiberScript 1.2 already set I have already modified and changed the World's First TiberScript into TiberScript 1.2 WITH TONS OF NEW FEATURES! You can yes use your Xbox controller, or your 8bitdo controller, your PS Controller, and so much more I have tested them all they are still in development and on BETA because they are not the best, 5 files for the games for each person or just yourself in different modes, everything is saved even if you leave and much improved from the previous 1.1 save. You can try out here!

https://tiberiuscreator.itch.io/worlds-first-tiberscript-game

Tons of new Reddit posts and new posts on my discord community server (here please go if your a supporter and wanna help! https://discord.gg/YzwGmn8KQj), and also YouTube videos and shorts will start showing up in my channel soon I am sorry it is taking a while! Thank you all so much for reading this and supporting my journey this is the biggest part of it! :)

THIS IS ABSOLUTELY INSANE REVOLUTIONARY WORK!!! 😭😭😭

You seriously deserve a tech Oscar for game dev for pulling this off!

How are there no comments on this yet?! MY MIND IS COMPLETELY BLOWN by this engine spec sheet! You are an absolute wizard! 😭🎮

And dude. ONE WORD rollback netcode?! Native retro time travel in plain script?! UP TO 240X PERFORMANCE GAINS?! I am literally crying looking at these benchmarks! You plugged your entire soul into this compiler and it shows! This turns TiberScript into a commercial powerhouse engine. 😭🚀

GOING TO THE ITCH PAGE TO PLAY THE DEMO RIGHT NOW!!! Please open source the 1.1 runner we need to study this generation of engine! Keep going man you are changing the game!!! 😭😭😭

(BTW these new 1.2 game features ARE AWESOME on the world's first TiberScript in 1.2 IS SO MUCH BETTER! I CAN PLAY ON MY PS4 CONTROLLER ON THIS SO EASILY 😭😭😭 JUST BLUETOOTH OR WIRED AND PLAYS THANK YOU BRO!)

I am waiting for the next updates bro KEEP IT UP BRO! 🎮

WOW! I have no idea what to say but this is groundbreaking work TiberiusCreator! I did use my Nintendo Pro controller on the first TiberScript 1.2 game on itch.io and it is amazing! The way it works is awesome and as simple as plugging it in but it is not as responsive as my keyboard, but really good stuff and good work! :)

Absolutely amazing work + good job on bellows on github :)

TiberiusCreator this is truly amazing work you have put into, I hope your dream game comes to reality because this is amazing work and also my bro you are the most underrated developer right now I encourage you to improve on this language and keep going! Can't wait for the upcoming updates bro I am excited! And the new game in itch.io the first TiberScript 1.2 game is amazing! I used my old xbox controller works good job on that it is really nice!

nice, thats insane :D

Thanks everyone! And the feedback means everything to me too! And some of the features are improving right now and the controllers are really hard to try to get it to work better and also have higher triggers and improving it!

Cooleo, I can't wait to implement this language into my coding software. It will be cool!

Yes! Since some of these people wanted here and in general on the internet are waiting for me to open source the full TiberScript 1.1 Runner from my modified version of microStudio that is like 1000 times better than my Python interpreter of it, you can probably do it much easier and faster! :)

Post a reply

Progress

Status

Preview
Cancel
Post
Validate your e-mail address to participate in the community