I mean, it’s another tool. It doesn’t really make an entirely new kind of web app possible, but it’s useful for some specific compute-heavy tasks (with limitations like JS<->WASM being slow). It’s also useful for running not-JS in the browser; I’m building a lighting console with a web UI distributed over multiple devices, and being able to use the exact same structs/representation and algorithms on server and client is pretty neat. It’s like Node, but in reverse! But none of this is cause for paradigm shift, so I don’t think seeing a ”breakthrough” really is relevant.
A lot of the suggestions do actually sound pretty good at a quick glance, but have far-reaching consequences that are not instantly obvious if you don't know your tech/security/privacy or otherwise value a specific topic highly. The average HN reader is likely more concerned about privacy and less so about crime and safety than the average guy on the street, and politicians need to handle and balance a lot many more interests than only that of privacy advocates.
"Securely signed/verified devices for accessing your bank" or "increased surveillance and tracking of criminals" sound like splendid ideas and direct solutions to immediate problems. Now, how to actually implement them and how it will affect society in the long run might seem less important when you've got increasing crime rates, a slowing economy, displeased voters or whatever looming. In short, some dilemmas have very clear answers when you (willingly or through unawareness) only concern yourself with a subset of the effects of a decision, and this goes both for politicians and special interest groups. That being said, I'm very pro-privacy and it's the job of policymakers to know the details of what they're deciding on. Reality is however usually very complex and nuanced with several things being true because they all contribute a part to what's going on.
e: what am I doing, speaking like I actually know how things work? Nothing is absolute and nuance is important, but sometimes it is also very useful to simplify and generalise to get things done. If no one had any conviction, not much would ever happen. But moderation in all things.
For teaching, it depends a lot on what you’re trying to teach. In some courses I’m involved in we’re intentionally using old, limited, obtuse or otherwise just strange tools and equipment for the sake of practicing debugging, reading specs approaching an unknown system. The point of those courses is not to learn the tool itself but to learn methodology that can be generalised.
As I said however, it depends on when in the timeline we’re looking. For 3-year bachelor’s programmes, there’s significantly more focus on producing graduates who can move straight into the industry, having already learnt the tools they will use. For theoretical 5-year master’s programmes, knowing specific hardware or software is secondary to the general reasoning, maths and planning that’s expected in research or R&D industry work.
Using more limited or restricted tools, if thought out well, can force students focus on the parts that matter. I haven’t actually used the Playdate, but for first-year students I would think the most important thing is to actually get to designing games. The core ideas you’d want to teach do not require fancy graphics or platform support, rather, that’d just be a time sink. Learning industry tools can be done in later courses or on the job. While being able to work efficiently is important - I don’t want to discredit the handiwork of the process, learning what buttons to push in eg. Unreal is arguably much less ephemeral than learning ”game design”.
However, using limited tools in teaching must be well motivated. Forcing old, obsolete tech onto students might be a learning experience just as well as a time sink.
I've thought something like a software archeology class would be really fun as an elective. I agree that it can make sense to use intentionally limited things especially if something is hard to teach otherwise. e.g. Learning to parse datasheets and probe things with an oscilloscope is best done by actually doing it, but starting off with an n-layer PCB instead of a breadboard would be pretty crazy. A benefit to using old things can sometimes be useful simplicity but also sometimes just being cheap. There's also a lot of interesting (if often commercially and methodologically irrelevant these days) things to teach as a matter of history.
I agree it all needs to be well motivated. I'm often suspicious of attempts to teach things indirectly, but of course a lot of indirect learning happens anyway. And a lot (direct and indirect) is done in parallel and I think it's useful to look for places to usefully exploit that, especially when it comes to the conflict of college for pre-job-training vs. study. Do you really need a limited or obscure platform to teach or practice most things about debugging? printf and any debugger tool that supports break points and stepping would teach a lot, with modern (even graphical) tools having a lot less friction while not dampening what is learned. Bonus points if you actually teach more advanced debuggers so another generation of developers isn't released thinking only-the-basics console gdb + printf are the extent of what's available to help in the practice of debugging. A danger of only teaching limited or restricted tools is that students end up thinking that's all there is. This happens at every level from sorting algorithms to programming languages to whole ways of thinking about things. By artificially constraining the box in an attempt to focus on something basic or avoid clichés of other boxes, all too often the result is just that thinking doesn't generalize and is now crippled in the constrained box.
Timeline is important, I wonder if we're both interpreting Master's program quite differently here. In the US, a Bachelors program is typically 4 years while a Masters is typically 2, and many Masters are industry-oriented (no thesis, just classes/projects) rather than being like a stepping stone to full PhD research. The Duke program here seems to work as typical: 2 years + capstone project (and even seeming to require a summer internship). A longer program is in some ways a bit more forgivable for less than ideal teaching efficiency. (At my old school, the game design undergrads had a course that required designing physical board games. There are plausible arguments that board games as a medium make it easier to teach or focus on important things in design that are harder to teach with digital video games. But even if that's not really true (as I'm arguing here applies to the Playdate not being particularly useful over just normal PC/mobile development) at least it's just one course in many for the whole program. And at least there's a >$10bn market for board games.)
The Playdate features a mic, accelerometer, and crank as unique inputs, as well as being portable, that can suggest interesting game design ideas on their own. In one sense, if you want to use those features, it's simpler because you can count on them being there. In another sense, except for I guess the crank, the other two inputs are part of ~every phone and widely available on any PC/laptop. Developing for PC or mobile gives you access to even more interesting input and output for design consideration too: keyboards, mice (with/without scrollwheels), cameras, haptic feedback, gyroscopes, touch, light or temperature sensors, weird whatever devices over USB or wireless (Nintendo wiimotes, steering wheels, arcade sticks), networking... and making use of these things has never been easier, with drivers widely available and especially with the engines that let you click around to configure things. I would think that if your goal is to learn game design, you would want to prioritize doing your design on a platform that is as open and flexible as possible to allow exploring as much of design space as you can. Perhaps the teacher thinks it's useful to add artificial constraints to narrow the design space or focus from a certain perspective (like: let's design a multiplayer game, but with the constraint that you have only one device, no networking or multiple controllers), fine, but they don't need to start with a platform where those constraints are baked in to start with and can't be lifted.
Similarly Unreal as well as any of the other popular engines, along with any of the libraries like DirectX, SDL, raylib, pygame, or even just the web browser with HTML Canvas, are all open and flexible in what they allow you to explore in design space. Some are more limited than others (like you're going to have a hard time using a 2D-focused library or engine for a 3D game) and some are easier to express ideas in than others (you're going to have a better time using a 2D-focused library or engine for a 2D game) but they're all pretty easy to express basics in, and they all are pretty good at letting you rapidly prototype and playtest and iterate. If you artificially impose on yourself the same constraints as the Playdate has inherently, they can be even easier to use, and even easier yet if the teacher provides a template. Like browse the games on itch.io tagged with playdate, I don't think any would be particularly harder (and some may even be easier) to do in <random other tooling>. The article mentions it taking "months" to learn Unreal, which is true in some sense (it can be longer, especially if you don't already know C++), but false in another sense in that getting up and running is quick, any competent introduction will have the student getting something on screen and responding to their input within an hour. For the very basic stuff a typical Playdate game does it won't take that long to learn to do it with Unreal.
Another way of looking at it: take the "Owl Invasion" example from the article, "an endless wave-based action game with tower defense mechanics." Unlike the other game, there's no mention of using any of the unique inputs of the Playdate, so is there anything fundamentally unique about the Playdate that suggests such a game would be easier to develop for it vs. using an arbitrary other tool? Was there anything learned about game design from the experience that wouldn't have been learned otherwise? What if you had mandated the same visual constraints for resolution and (lack of) color but artificially? Was it useful to be forced to incorporate an owl somehow, vs. a rat, vs. a pirate, vs. having no restrictions? (This one perhaps, even creative writing workshops like to require something to incorporate, but this is more about trying to unblock creativity and avoid decision paralysis rather than directly learning some principle.) If the impact of using Playdate vs. something else is fairly arbitrary for accomplishing the teaching goals, then unless the student is particularly interested in Playdate on their own, it's more beneficial among several axes to use something else.
I’d like to recommend vvvv. It’s a node-based version of C# that is always runtime. The edit-compile-run loop is eliminated so you can tweak both constants and behaviour instantly. For a processing-like drawing interface I’d recommend the built-in Skia library which I think processing is modelled after. VVVV overall is definitely a steeper learning curve, but it’s very powerful as you can use any .net libraries, 3D graphics, shaders and much more. Shaders in particular is a great tool that lends itself to a dataflow representation.
Touchdesigner is more popular and I suppose declarative, but vvvv is more general purpose and similar to the processing workflow. It’s a very weird tool I’ve used for everything between MIDI instruments, live installations, escape rooms, VJ rigs and, well, proc art.
I think there's some controversy regarding that programs are limited in what extent they can access each other. You need sudo to do global hotkeys/keylogging, probably accessing pixel contents of other apps, etc. I suppose they mean it only prevents some specific threats while leaving open goals in other, even more easily exploited places
I mean, a lot of it is. Green user, signed up 49mins ago, 5 comments, which erodes trust in real people as well. I’ve noticed I’ve just felt less engaged and more anxious about all kinds of online content. While most platforms were previously botted, had adverts, etc… You could always find niche corners where there were only people talking about things they genuinely cared about. Now you can fill out even those spaces automatically.
Amidst all the age verification and bot spam going on, anonymous private/public key proof of identity could work: the newly signed up service must pass a challenge from the mail server to prove the user actually intended to sign up. Though I guess that would be basically the same thing as the users server initiating the communication. Really, just an aggressive whitelist/spam filter that only shows known senders solves it too, but as I understand part of the attack is having already compromised the mail service of the target. Having a third decoupled identity provider would resolve that, but then that becomes a single point of failure…
Be it eletric or thermal, i came here for fried hardware and left disappointed. Now i have to wrangle my curiosity to what happens when you lighter-spark a usb port for the rest of the day.
if you've got an old disposable flash camera lying around, you can give it a big zap (I felt myself instantly aging like Dorian Gray looking at his portrait as I typed that sentence.)
I think we’ll see a return to smaller groups and implementing a lot of systems the way we do it IRL. I think you could definitely do a more fine-grained system that progressively adds less score to contacts the further away they are. In combination with some type of accumulating reputation system, you’d have both a force to keep out unknown IDs, but also a reason for one to stick to their current ID even though it’s anonymous.
Adding this type of rep system would destroy a lot of what is so cool about the internet though. There’d probably be segregation based on rep if it’s very visible, new IDs drowning in a sea of noise. Being anonymous but with a record isn’t the same as posting for the very first time as a completely blank identity and still being given an audience. Making online comms more like real life would alleviate some problems but would also lose part of the reason they’re used in the first place. I don’t see much any other way to do it besides maybe a state-provided anonymous identity provider (though that’s risky for a number of reasons), but it’s going to be sad to see things go.
Haven’t used the engine specifically, but seems to be a cool project. I have used the Stride renderer which is embedded in VVVV, a live multimedia node-based language, which makes it interesting that you can extract and reuse such large components from the engine.