A powerful new language for native apps and games
on MacOS, Windows, Linux and iOS Coming soon!
- Nice and clean syntax / API
- Generates native machine code
- Cross platform
- Hw accelerated 2d/3d graphics engine
on MacOS, Windows, Linux and iOS Coming soon!
“Miro is working hard and you can feel his motivation”
“Placeholder for another quote.”
“I do it because I love programming and I'm having fun”
“Coming from web design, LIL feels instantly familiar”
#configure {
name: "Adventurer";
onUpdateFn: true;
}
#needs "std/animation.lil";
#needs "std/characterController2d.lil";
var anim: @animationController {
sprite: @sprite { id: 1 };
sequences: [
//idle
@animationSequence {
frames: [
@animationFrame { x: 0; y: 0; delay: 10 },
@animationFrame { x: 100; y: 0; delay: 10 },
@animationFrame { x: 200; y: 0; delay: 10 },
@animationFrame { x: 300; y: 0; delay: 10 }
];
length: 4;
},
//crouch
@animationSequence {
frames: [
@animationFrame { x: 400; y: 0; delay: 10 },
@animationFrame { x: 500; y: 0; delay: 10 },
@animationFrame { x: 600; y: 0; delay: 10 },
@animationFrame { x: 0; y: 74; delay: 10 }
];
length: 4;
},
//run
@animationSequence {
frames: [
@animationFrame { x: 100; y: 74; delay: 6 },
@animationFrame { x: 200; y: 74; delay: 10 },
@animationFrame { x: 300; y: 74; delay: 6 },
@animationFrame { x: 400; y: 74; delay: 6 },
@animationFrame { x: 500; y: 74; delay: 10 },
@animationFrame { x: 600; y: 74; delay: 6 }
];
length: 6;
}
];
length: 3;
index: 0;
};
var player: @characterController2d {
sprite: $( character);
acceleration: 4;
};
fn onUpdate (var.f64 deltaTime) {
anim.update();
player.update();
LIL__runSystems(deltaTime);
}
@root {
width: 1440;
height: 920;
background: #0;
#new @sprite character {
width: 100;
height: 74;
src: "adventurer-v1.5-Sheet.png";
x: 150;
y: 100;
}
}
LIL comes as the spiritual successor to the AXR Project, which originated in the world of web design. I took the syntax of HSS, the language which the plan was to act as the replacement for CSS, but way more powerful, and kept evolving it until it grew into a completely new idea which doesn’t have such great ambitions, but is way more practical instead.
That’s why some of the syntax features will remind you of CSS and even JavaScript or C++, but this is its own beast all by itself.
The plan is to have a full rendering engine for you to use. The most simple and useful syntax combined with powerful graphics capabilities at your fingertips so you can unleash your full potential and focus on building the app or game. And enjoy doing so!
I intend to make no money off the language and rendering engine themselves. They should be something free to use for everyone, no strings attached. That's why I need your support, see the donate section.
The whole language was designed with beginners in mind. People usually are much more visual than they are good at manipulating abstract data representations in their heads. For example, starting out with boxes, shapes and colors feels way more approachable than how you usually go about learning a traditional programming language, studying variables, functions and data types first.
Also, it is very good at progressive disclosure of complexity. This means that you don't have to import a header file and write a main function before you can even start doing anything, for example.
Even though for the typical app developer the language is very simple and easy to use, you can go as deep as you want, even go as far as to manipulate memory on the bit level. If you know what you are doing, you won't be limited by the language.
You will be able to follow my progress on the YouTube channel! I will also be streaming on Twitch from time to time. I intend to do all sorts of videos and tutorials, hopefully with high content value, both as a way to teach but also to showcase what is going on.
This is my plea to you: if you want to help make this language a reality, please chip in 5€ a month (or whatever you can, lower quantities are greatly appreciated too!), so I can work on this project instead of needing to spend my time on other stuff in order to survive, when I could be working on this awesome new language instead!
Coming soon...
If, on the other hand, you want to help out by actually doing stuff, please reach out to me over Twitter or email. You don’t need to be good at programming to help. Just tweeting about this project already helps so much!
Please share this page with all your programmer friends. Lets make something great together!
Yours,
Miro Keller