A-Frame maintainer here! If you wanna check out what else the community has done, we do a weekly round-up. Lots of Google-based stuff this week: https://aframe.io/blog/awoa-77/
A-frame seems to fall into the "super easy to do something basic, but very restrictive at the upper end" category of software tooling.
That said, this is still pretty cool, and I'm a fan of tools like this, Game maker, etc existing. This is a great way to get newbies interested in building stuff, because at the core of it, the knowledge overhead is low enough that a middle school aged child could build something with it given some time.
Not actually. it's an entity-component three.js framework at the end of the day, even though it offers easy entry on the surface. Same pattern as Unity.
The unity thing is sort of what I was trying to describe. Game maker is much the same, where GML functions much in the same way as C++ with a custom framework centered around entity and collision management, but most newbies won't use that, instead they use the very user friendly action and response controls. I know unity had something similar in playmaker. I guess my point was just that those user friendly build options will often end up as design capability caps people run into eventually.
That's fair. I mentioned Unity not much about Unity's UI, but about the core pattern. I was mostly honing in on the restrictive part since A-Frame was designed to have no restrictions and permissionless extensibility. Advanced users use A-Frame's underlying framework to build advanced applications mostly in JavaScript land. But as is nature, there will be more novice users than advanced.
Unity's value prop is not that it uses an Entity-Component architecture, it's that it has a comprehensive asset pipeline and relatively accessible editors for it. EC is just trendy in gamedev. There are lots of other ways to build software.
I think GameMaker doesn't fall in the "super easy to do something basic, but very restrictive at the upper end" group at all, and though I definitely fall in the newbie spectrum when it comes to gamedev but I feel that games like Hyper Light Drifter, Hotline Miami, Undertale, Risk of Rain, Spelunky should be proof enough that it is a great tool for the job, if the job is making 2d games.
I agree, but AFAIK all those games leverage GML rather than just using the Game Maker UI. That's definitely the case for Derek Yu's games. I corrected myself in a further comment in this thread, but I meant to refer to the sort of basic interface with which you are encouraged to interact with at first. GML is great, but most game maker newbies won't be devling into it until they run into a brick wall for UI action components (probably an array based brick wall, if my experience is anything to go by).
I disagree. I don't think GameMaker is a great tool for making 2D games (at least not all of them). I tried using it for awhile. For certain things it's very, very good (moving a character around on a screen and attacking enemies and collecting things, it's great at that).
But if you start wanting to do things more complicated or different from its wheelhouse, while it can be possible, the interface tends to get in the way and I eventually got to the point where I just wanted to write code. In particular I was trying to get a puzzle game with a slightly more complicated method of removing and clearing things, and I just kept fighting the system and not knowing how to get it to do what I wanted it to do.
I don't think GameMaker is unique in this, though. I've felt this way about pretty much every overly opinionated Game making tool (Construct 2 was even worse for me). Only game making tool I think got it just right was Flash and Actionscript 1.0, opinionated but you could still do pretty much everything (A previous version, Flash Player 4, was too restrictive, it wasn't until 1.0 that it became everything needed to make games fast and without any real restrictions). Unity is also good, albeit a bit more complicated than Flash ever got.
"For certain things it's very, very good (moving a character around on a screen and attacking enemies and collecting things, it's great at that)." -- I think I was lucky in my limited experience with it then, you seem to be much more experienced in gamedev so I am surely not going to argue against your experience with GML + GameMaker, it must have its limitations :)
I was never really interested in making/playing video games but Hotline Miami changed that so I decided to play around with GameMaker and GML and had a lot of fun, didn't have a particular game design in mind so I just made my resume in the form of a platformer, exported it for web, threw it on my website and that was that( https://abhirag.in/interactive_resume/ ) [doesn't work on small screens] I loved the experience and plan to work more with it in future, but will keep your advice in mind and try out Unity too :)
It's better than others, I just got frustrated with it for what I was making. And I think for a learning program it's excellent (I mean, I learned how to program initially from making text games on my TI-Calculator in TI-BASIC, talk about limited :)
I think the Pico-8 system does a pretty good job of being open to pretty much whatever you throw at it for game logic (it's just lua scripting), while having a bunch of other things built in to allow for sprites, music, etc. You're limited in colors, graphics, and music, but the actual programming process feels a lot smoother to me (in fact I was able to port the logic of a game of mine with only converting it into lua code). If I were just getting started nowadays, I'd probably be making games in Pico-8.
>I learned how to program initially from making text games on my TI-Calculator in TI-BASIC, talk about limited :)
Me too! Ti 83-Plus! I always say the day I became a programmer was the day I accidentally hit PGRM twice (opening the PGRM catalog).
The thing is when I started on the Ti-83 I was still in grade school, so I was limited to things I had access to (the only reason I even had the calculator was because my dad had one and I..."requisitioned" it :D).
So even if there was something like Pico-8 (And iirc there was, Uzebox) I couldn't get access to it until much later, after the point I had started with Game Maker too. I think stuff like Game Maker and RPG Maker was great because there was no cost or barrier to entry other than a PC (Even if it meant carrying around Game Maker files on USB sticks and using library computers like I did)
Edit: Totally confused Pico 8 with something else! (Pocketchip), I think the younger me would probably have been vastly confused by the idea of programming a "virtual console" but it'd definitely have been an interesting route to start programming with
Pocketchip was the portable hardware device they made so you can play Pico-8 games. I picked one up and unfortunately I don't recommend it.
I think they screwed up the design and feel of the buttons, and it's actually very difficult to play the games (especially the D-Pad) or program directly on the device as a result.
They needed something closer to keys on a graphic calculator, actually, and a proper d-pad, and I might have used it more than the two times since I got it a year ago. I was actually hoping it'd be like a TI calculator but dedicated for gaming, but alas, I had a better device for ultra portable game development 23 years ago.
I still play the Pico-8 games on the computer though and there's some really cool ones out there. I have a game that's almost complete myself (basically just a demake of my most popular game that I often use as an exercise to learn a new system), but I got distracted by other shiny things. Maybe I'll get back to finishing it sometime in the next six months.
I would disagree, I'd say A-Frame is a rare library that is both "super easy to do something basic" AND "super extensible at the upper end" -- a rare feat in software development.
I've worked on a number of A-Frame projects and so far the only restriction I've found is my own skills. Since it's all JavaScript & three.js under the surface you can extend custom components to do anything you want.
Like any framework it has "opinions" of the right way to extend things. You can ignore them and cowboy code, or you can follow them with the added bonus that your contributions are modular components that others can use too.
I was halfway expecting (hoping for) an article about building A-frame building structures. Those structures seem to have faded into the past, but they were so iconic for a while.