7 ms·
Bitty Engine: An itty bitty game engine
- _gabe_ 3y agoThat Lua debugger/editor with ImGui looks awesome! I’ve been wanting to do a similar project since Lua makes the API for creating breakpoints and stuff pretty easy. Styling ImGui to look like a normal code editor must have been no easy task though.
- gsuuon 3y agoWonder if they've got support for Debug Adapter Protocol? https://microsoft.github.io/debug-adapter-protocol/ https://microsoft.github.io/debug-adapter-protocol/
- otachack 3y agoI love these projects so much. It must be exhilarating to work on them and I'm very tempted to work on one myself as a side project/self learning experience.
- Waterluvian 3y agoThere's hundreds or thousands of these indie game engines because, yes!, it is a lot of fun to write them. You'd learn a lot. The #1 tip though is that you're writing a game, or an engine, not both. So commit to doing one of those tasks. Usually you end up with a bunch of toy games and no steam left to want to really polish them into something complete.
- phero_cnstrcts 3y agoDo you know of any that use JavaScript/typescript?
- beepbooptheory 3y agohttps://github.com/photonstorm/phaser https://github.com/photonstorm/phaser
- Waterluvian 3y agoHere's the more popular dozen or so: https://github.com/collections/javascript-game-engines https://github.com/collections/javascript-game-engines If you want to know about the really small indie ones that are less for actual use and more for just "I want to make a game engine" I would check out the various gamedev Discord and Reddit channels. There's always people showing off their work.
- phero_cnstrcts 3y agoYeah, I was thinking more terms of pico8 where you have the the editor which basically has everything included to make the game.
- impatient_bacon 3y agohttps://bitmelo.com/ https://bitmelo.com/
- phero_cnstrcts 3y agoThanks! Looks promising.
- gmerc 3y ago2d phaser (photonstorm) 3d babylonjs (microsoft)
- josemwarrior 3y agoPhaser, as game engine, Pixi.js as a powerful render library (FRVR.com games were made formerly with Pixi.js). You can use Cocos Creator (not Cocos2D-x)
- phero_cnstrcts 3y agoThey’re more like frameworks or libraries. CC isn’t open source and the editor doesn’t work on Linux.
- Buttons840 3y ago> The #1 tip though is that you're writing a game, or an engine, not both. Most of the people who follow this advice will never ship anything. Stop worrying and do what you want. It's okay to reinvent the wheel if you want to learn how to make a wheel, or if you just find it fun.
- hutzlibu 3y agoOr if you need a special wheel adopted to your needs. Because you were annoyed, that the common generic wheels blasted the way you drove them ... but also could not use a expensive high performance wheel, because they come in different sizes. (But remember, if you want to ship fast, or at all, usually better stay with the common wheels and sizes)
- jerrre 3y agoWhile I agree with your sentiment: most people who DON’T follow the advice will propably not ship anything either as shipping is hard and rare in any case.
- JKCalhoun 3y ago> The #1 tip though is that you're writing a game, or an engine, not both. Not sure I agree. I have always done both. Ostensibly I am writing a game but not using someone's engine. And then my own "engine" comes out of the effort. Then I write a second game and pull over the rendering-sound-etc-code from the first game. This "engine" gets further refined as a result of being pressed into service for the new game. Often it improves with each iteration and I move the newer version back to older games and refactor them as required.
- ClassyJacket 3y agoI wish AAA game developers would listen to this advice. How many times has trying to write a new game engine for one IP ended with the game in development hell? No, 343 Industries, you don't need your own custom engine. Just use Unreal.
- jesse__ 3y agoCan confirm; they're real fun. I've got a 7-year side-project I still grind on in the form of a voxel engine. The trick is to start small and have realistic expectations. Your progress will be glacially slow at first, and that's okay. Eventually, if you keep grinding, you'll have something awesome that you love working on. If you want to check out my project there's a link in my bio.
- gabereiser 3y agoCan confirm the first two years will suck if you’re starting from scratch. Keep with it. By the 4th year you’ll be able to use all your abstractions to whip up prototypes over the weekend.
- PcChip 3y agothat's really cool! I'm doing an engine as side project too that I've just accepted will never be finished and it's only for fun :) /r/TranceEngine
- JKCalhoun 3y agoI checked out your side-project. > [ ] Do sound :'D Why bother with sound? Likely a dev would just pull in SDL_Mixer for game sound. Get on with the transparency. ;-)
- jesse__ 3y agoMostly for the learning experience of writing an MP3 decoder and WAV mixer
- tfrutuoso 3y agoI was looking for this to surprise the missus with her own JRPG for her birthday. Thanks!
- deleted 3y ago[deleted]
- 3seashells 3y agoThe world learns lua one game at a time. All it needs is decent standardization comitee and a better packages/module system. Lua rocks
- Zecc 3y ago> Lua rocks https://luarocks.org/ https://luarocks.org/ ?
- 40four 3y agoSilly question from a web dev who has never written a line of Lua before (or delved into game development). What is it about the language that make it such a good fit for game development? Seems like every time I come across these engines, or read stuff about game development in general, Lua is always the language of choice. Can anyone explain it in a nutshell for me? Thanks
- setr 3y agoI think it’s less that it’s particularly good for gamedev and more that it’s particularly easy to embed in an engine, and it’s faster than it has any right to be
- 40four 3y agoAppreciate it!
- ansible 3y ago> ... and it’s faster than it has any right to be The main Lua interpreter by PUC-Rio is among the fastest bytecode interpreters for a popular scripting language. Very efficient C code. Wizard programmer Mike Pall then came along and wrote an even faster Lua bytecode interpreter in assembly language. And added JIT for even faster performance of hot functions.
- Conscat 3y agoMy understanding is that it's simply historically fallen into the niche. Lua early on was relatively easy to embed in C codebases, making it a natural fit for scripting C (or C++) game engines and their editors. So many hugely popular game development tools are scripted with Lua at this point that it's somewhat breaking the mold to use anything that _isn't_ Lua in this domain.
- 40four 3y agoThanks that makes sense
- 3y ago
- jokoon 3y agoI know I'm going to bring down the mood, but that kind of engine should support android as a priority. Godot does it, and it's an awesome alternative to Android Studio. EDIT: although it supports WASM, and I'm curious how well does WASM works on mobile...
- deleted 3y ago[deleted]
- hutzlibu 3y agoWell, the dev thinks different and this is what matters. And WASM by itself works quite well by now, even on older devices, but not really on stock browsers. The question is more, how will be the whole experience of an autocompiled wasm project with UI? This is hard to get right and debug, if not right.
- jwells89 3y agoIIRC the thing about supporting Android is that with game engines, that typically means working with the NDK which as far as I can tell is a bit of a bear to deal with relative to desktop platforms.
- glonq 3y agoI played around with Construct2 a lot once upon a time, but never followed them to 3 because the product got a bit too expensive for me has a hobbyist. How does this compare to that, besides the obviously nicer cost?
- hinkley 3y agoI have been contemplating lately if we need something like either the early days of computer games or the heyday of the Demo Scene, where people make amusements that are meant to run on embedded computers. I'm not quite sure what that should look like, but in particular making physical puzzles driven by say an STM32 chip could be cool. Especially if you can have it change the rules of the game once you've solved one puzzle. Anyway, teeny tiny game engines brings that whole line of thinking back up for me.
- MenhirMike 3y ago> where people make amusements that are meant to run on embedded computers. I'm glad that PICO-8 exists, which is kinda exactly that. Except that it's not targeting any actual hardware (it's an imaginary retro-system), but it ticks all the other boxes. Would be interesting to see what you can do in a physical space - your STM32 example still needs some kind of output attached to it, but with a 3D Printer and some other cheap components, you can add whatever I/O you want.
- hinkley 3y agoWhen I was a child, there was a hot second where someone implemented PacMan on an LCD screen. And I really do mean a hot second, because one boy showed up with one, another couple had one within days, and by the end of the week the school had banned them. As, I'm sure, did most every other school in the country. Now I can play audiobooks on my watch, but no games to speak of.
- josephcsible 3y agoI'd really like this if it were actually entirely FOSS, and even more so if it didn't support "code and asset obfuscating".
- brucethemoose2 3y ago> around 10MB with an empty project I wonder if one could fit the active parts of a entire game inside an X3D CPU's 96MB of L3. Think of the performance!
- dale_glass 3y agoWhy those limits? 256 colors? 1024x1024? That seems more of an intentionally self-imposed limit that something that happens naturally in any way.
- pringk02 3y agoPopular to do stuff like that for "fantasy consoles" inspired by Pico8
- dale_glass 3y agoYeah, but it's just weird to me. Old architectures had logical limits. Most were because of things like memory addressing. Some were because you were writing C without any fancy modern helper libraries, and so if you wanted a hashtable you had to roll it yourself. A fixed size array for some things was just pragmatic. Graphics were 256 color because that was what the hardware supported. This thing though is in C++ which does all the dynamic allocation you want. Nobody uses 256 color video modes anymore. The limits are all completely artificial. They're not even particularly good limits because there was console hardware that had say, 4096 colors, or per-sprite palettes which doesn't quite match PC hardware in capabilities.