Generative Images Locally : Running Models on Your Machine

I’ve written a fair bit about language models of late. This is a language blog, after all! But creating resources is about other visual elements, too. And just as you can run off text from local generative AI, you can create images locally, too.

For working on a computer, ComfyUI is a good bet. It’s a graphical dashboard for creating AI art with a huge array of customisation options. The fully-featuredness of it, admittedly, makes it a complex first intro to image generation. It’s interface, which takes a pipeline / modular format, takes a bit of getting used to. But it also comes with pre-defined workflows that mean you can just open it, prompt and go. There’s also a wide, active community that supports in online, so there’s plenty of help available.

Generate images locally - the ComfyUI interface

Generate images locally – the ComfyUI interface

At the more user-friendly end of it is Draw Things for Apple machines (unfortunately no Android yet). With a user interface much closer to art packages you’ll recognise, Draw Things allows you to download different models and prompt locally – and is available as an iOS app too. Obviously there’s a lot going on when you generate images, so it slugs along at quite a modest trot on my two-year-old iPad. But it gives you so much access to the buttons and knobs to tweak that it’s a great way to learn more about the generation process. Like ComfyUI, its complexity – once you get your head round it – actually teaches you a lot about image generation.

Of all the benefits of these apps, perhaps the greatest is again the environmental. You could fire up a browser and prompt one of the behemoths. But why crank up the heat on a distant data centre machine, when you can run locally? Many commercial generative models are far too powerful for what most people need.

Save power, and prompt locally. It’s more fun!

A swirl of IPA symbols in the ether. Do LLMs 'understand' phonology? And are they any good at translation?

Tencent’s Hunyuan-MT-7B, the Translation Whizz You Can Run Locally

There’s been a lot of talk this week about a brand new translation model, Tencent’s Hunyuan-MT-7B. It’s a Large Language Model (LLM) trained to perform machine translation. And it’s caused a big stir by beating heftier (and heavier) models by Google and OpenAI in a recent event.

This is all the more remarkable given that it’s really quite a small model by LLM standards. Hunyuan actually manages its translation-beating feat packed into just 7 billion parameters (the information nodes that models learn from). Now that might sound a lot. But fewer usually means weaker, and the behemoths are nearing post-trillion param levels already.

So Hunyuan is small. But in spite of that, it can translate accurately and reliably – market-leader beatingly so – between over 30 languages, including some low-resource ones like Tibetan and Kazakh. And its footprint is truly tiny in LLM terms – it’s lightweight enough to run locally on a computer or even tablet, using inference software like LMStudio or PocketPal.

The model is available in various GGUF formats at Hugging Face. The 4-bit quantised version comes in at just over 4 GB, making it iPad-runnable. If you want greater fidelity, then 8-bit quantised is still only around 8 GB, easily handleable in LMStudio with a decent laptop spec.

So is it any good?

Well, I ran a few deliberately tricky English to German tasks through it, trying to find a weak spot. And honestly, it’s excellent – it produces idiomatic, native-quality translations that don’t sound clunky. What I found particularly impressive was its ability to paraphrase where a literal translation wouldn’t work.

There are plenty of use cases, even if you’re not looking for a translation engine for a full-blown app. Pocketising it means you have a top-notch multi-language translator to use offline, anywhere. For language learners – particularly those struggling with the lower-resource languages the model can handle with ease – it’s another source of native-quality text to learn from.

Find out more about the model at Hugging Face, and check out last week’s post for details on loading it onto your device!

Ultra-Mobile LLMs : Getting the Most from PocketPal

If you were following along last week, I was deep into the territory of running open, small-scale Large Language Models (LLMs) locally on a laptop in the free LMStudio environment. There are lots of reasons you’d want to run these mini chatbots, including the educational, environmental, and security aspects.

I finished off with a very cursory mention of an even more mobile vehicle for these, PocketPal. This free, open source app (available on Google and iOS) allows for easy (no computer science degree required) searching, downloading and running LLMs on smartphones and tablets. And, despite the resource limitations of mobile devices compared with full computer hardware, they run surprisingly well.

PocketPal is such a powerful and unique tool, and definitely worth a spotlight of its own. So, this week, I thought I’d share some tips and tricks I’ve found for smooth running of these language models in your pocket.

Full-Fat LLMs?

First off, even small, compact models can be (as you’d expect) unwieldy and resource-heavy files. Compressed, self-contained LLM models are available as .gguf files from sources like Hugging Face, and they can be colossal. There’s a process you’ll hear mentioned a lot in the AI world called quantisation, which compresses models to varying degrees. Generally speaking, the more compression, the more poorly the model performs. But even the most highly compressed small models can weigh in at 2gb and above. After downloading them, these mammoth blobs then load into memory, ready to be prompted. That’s a lot of data for your system to be hanging onto!

That said, with disk space, a good internet connection, and decent RAM, it’s quite doable. On a newish MacBook, I was comfortably downloading and running .gguf files 8gb large and above in LMStudio. And you don’t need to downgrade your expectations too much to run models in PocketPal, either.

For reference, I’m using a 2023 iPad Pro with the M2 chip – quite a modest spec now – and a 2024 iPhone 16. On both of them, the sweet spot seems to be a .gguf size of around 4gb – you can go larger, but there’s a noticeable slowdown and sluggishness beyond that. A couple of the models I’ve been getting good, sensible and usable results from on mobile recently are:

  • Qwen3-4b-Instruct (8-bit quantised version) – 4.28gb
  • Llama-3.2-3B-Instruct (6-bit quantised version) – 3.26gb

The ‘instruct’ in those model names refers to the fact that they’ve been trained to follow instructions particularly keenly – one of the reasons they give such decent practical prompt responses with a small footprint.

Optimising PocketPal

Once you have them downloaded, there are a couple of things you can tweak in PocketPal to eke out even more performance.

The first is to head to the settings and switch on Metal, Apple’s hardware-accelerated API. Then, increase the “Layers on GPU” setting to around 80 or so – you can experiment with this to see what your system is happy with. But the performance improvement should be instantaneous, the LLM spitting out tokens at multiple times the default speed.

What’s happening with this change is that iOS is shifting some of the processing from the device’s CPU to the GPU, or graphical processing unit. That may seem odd, but modern graphics chips are capable of intense mathematical operations, and this small switch recruits them into doing some of the heavy work.

Additionally, on some recent devices, switching on “Flash Attention” can bring extra performance enhancements. This interacts with the way LLMs track how much weight to give certain tokens, and how that matrix is stored in memory during generation. It’s pot luck whether it will make a difference, depending on device spec, but I see a little boost.

Tweaking PocketPal’s settings to run LLMs more efficiently

Tweaking PocketPal’s settings to run LLMs more efficiently

Making Pals – Your Own Custom Bots

When you’re all up and running with your PocketPal LLMs, there’s another great feature you can play with to get very domain-specific results – “Pal” creation. Pals are just system prompts – instructions that set the boundaries and parameters for the conversation – in a nice wrapper. And you can be as specific as you want with them, instructing the LLM to behave as a language learning assistant, a nutrition expert, a habits coach, and such like – with as many rules and output notes as you see fit. It’s an easy way to turn a very generalised tool into something focused and with real-world application.

So that’s my PocketPal in-a-nutshell power guide. I hope you can see why it’s worth much more than just a cursory mention at the end of last week’s post! Tools like PocketPal and LMStudio put you right at the centre of LLM development, and I must admit it’s turned me into a models geek – I’m already looking forward to what new open LLMs will be unleashed next.

So what have you set your mobile models doing? Please share your tips and experiences in the comments!

A swirl of IPA symbols in the ether. Do LLMs 'understand' phonology? And are they any good at translation?

Do LLMs have phonological ‘understanding’?

LLMs are everywhere just now. And as statistical word-crunchers, these large language models seem a tantalisingly good fit for linguistics work.

And, where there’s new tech, there’s new research: one of the big questions floating around in linguistics circles right now is whether large language models (LLMs) “understand” language systems in any meaningful way – at least any way that can be useful to research linguists.

LLMs doing the donkey work?

One truly exciting potential avenue is the use of LLMs to do the heavy lifting of massive corpus annotation. Language corpora can be huge – billions of words in some cases. And to be usefully searchable, those words have to be tagged with some kind of category information. For years, we’ve had logic-based Natural Language Processing (NLP) tech to do this, and for perhaps the most block-wise faculty of language – syntax – it’s done a generally grand, unthinking job.

But LLMs go one step beyond this. They not only demonstrate (or simulate) a more creative manipulation of language. Now, they have begun to incorporate thinking too. Many recent models,  such as the hot-off-the-press GPT-5, are already well along the production line of a new generation of high reasoning LLM models. These skills that are making them useful in other fields of linguistics, beyond syntax – fields where things like sentiment and intention come into play. Pragmatics is one area that has been a great fit, with one study into LLM tagging showing promising results.

The sounds behind the tokens

As for phonology, the linguistic field that deals with our mental representations of sound systems, the answer is a little more complicated.

On the one hand, LLMs are completely text-based. They don’t hear or produce sounds – they’re pattern matchers for strings of tokens – bits of words. But because written language does encode sound–meaning correspondences, they end up with a kind of latent ability to spot phonological patterns indirectly. For example, ask an LLM to generate rhyming words, or to apply a regular sound alternation like plural –s in English, and it usually does a decent job. In fact, one focus of a recent study was rhyming, and it found that, with some training, LLMs can approach a pretty humanlike level of rhyme generation.

On one level, that’s intuitive – it’s because orthography tends (largely) to reflect underlying phonotactics and morphophonology. Also, the sheer volume of data helps the model make the right generalisations – in those billions of pages of crunched training data, there are bound to be examples of the link. Where it gets shakier is with non-standard spellings, dialect writing, or novel words. Without clear orthographic cues, the model struggles to “hear” the system. You might see it overgeneralise, or miss distinctions that are obvious to a native speaker. In other words, it mimics phonological competence through text-based proxy, but it doesn’t have one.

It’s that ‘shakier’ competence I’m exploring in my own research right now. How easy is it to coax an understanding of non-standard phonology from an out-of-the-box LLM? Pre-training is key, finding wily ways to prime that mysterious ‘reasoning’ new models use.

Rough-Edged tools that need honing

So, do LLMs have phonological understanding?

Well, not in the sense of a human speaker with an embodied grammar. But what they do have is an uncanny knack for inferring patterns from writing, a kind of orthography-mediated phonology.

That makes them rough tools starting out, but potentially powerful assistants: not replacements for the linguist’s ear and analysis, but tools that can highlight patterns, make generalisation we might otherwise miss, and help us sift through mountains of messy data.

Apples and oranges, generated by Google's new image algorithm Imagén 3

Google’s Imagén 3 : More Reliable Text for Visual Resources

If you use AI imaging for visual teaching resources, but decry its poor text handling, then Google might have cracked it. Their new algorithm for image generation, Imagén 3, is much more reliable at including short texts without errors.

What’s more, the algorithm is included in the free tier of Google’s LLM, Gemini. Ideal for flashcards and classroom posters, you now get quite reliable results when prompting for Latin-alphabet texts on the platform. Image quality seems to have improved too, with a near-photographic finish possible:

A flashcard produced with Google Gemini and Imagén 3.

A flashcard produced with Google Gemini and Imagén 3.

The new setup seems marginally better at consistency of style, too. Here’s a second flashcard, prompting for the same style. Not quite the same font, but close (although in a different colour).

A flashcard created with Google Gemini and Imagén 3.

A flashcard created with Google Gemini and Imagén 3.

It’s also better at real-world details like flags. Prompting in another engine for ‘Greek flag’, for example, usually results in some terrible approximation. Not in Imagén 3 – here are our apples and oranges on a convincing Greek flag background:

Apples and oranges on a square Greek flag, generated by Google's Imagén 3

Apples and oranges on a square Greek flag, generated by Google’s Imagén 3

It’s not perfect, yet. For one thing, it performed terribly with non-Latin alphabets, producing nonsense each time I tested it. And while it’s great with shorter texts, it does tend to break down and produce the tell-tall typos with anything longer than a single, short sentence. Also, if you’re on the free tier, it won’t allow you to create images of human beings just yet.

That said, it’s a big improvement on the free competition like Bing’s Image Creator. Well worth checking out if you have a bunch of flashcards to prepare for a lesson or learning resource!

ChatGPT takes conversation to the next level with Advanced Voice Mode

ChatGPT Advanced Voice Mode is Finally Here (For Most of Us!)

Finally – and it has taken SO much longer to get it this side of the Pond – Advanced Voice Mode has popped up in my ChatGPT. And it’s a bit of a mind-blower to say the least.

Multilingually speaking, it’s a huge step up for the platform. For a start, its non-English accents are hugely improved – no longer French or German with an American twang. Furthermore, user language detection seems more reliable, too. Open it up, initiate a conversation in your target language, and it’s ready to go without further fiddling.

But it’s the flexibility and emotiveness of those voices which is the real game-changer. There’s real humanity in those voices, now, reminiscent of Hume’s emotionally aware AI voices. As well as emotion, there’s variation in timbre and speed. What that means for learners is that it’s now possible to get it to mimic slow, deliberate speech when you ask that language learning staple “can you repeat that more slowly, please?”. It makes for a much more adaptive digital conversation partner.

Likewise – and rather incredibly – it’s possible to simulate a whole range of regional accents. I asked for Austrian German, and believe me, it is UNCANNILY good. Granted, it did occasionally verge on parody, but as a general impression, it’s shocking how close it gets. It’s a great way to prepare for speaking your target language with real people, who use real, regionally marked speech.

Advanced Voice Mode, together with its recently added ability to remember details from past conversations (previously achievable only via a hack), is turning ChatGPT into a much cannier language learning assistant. It was certainly worth the wait. And for linguaphiles, it’ll be fascinating to see how it continues to develop as an intelligent conversationalist from here.

Shelves of helpful robots - a bit like Poe, really!

Which LLM? Poe offers them all (and some!)

One of the most frequent questions when I’ve given AI training to language professionals is “which is your favourite platform?”. It’s a tricky one to answer, not least because we’re currently in the middle of the AI Wars – new, competing models are coming out all the time, and my personal choice of LLM changes with each new release.

That said, I’m a late and recent convert to Poe – an app that gives you them all in one place. The real clincher is the inclusion of brand new models, before they’re widely available elsewhere.

To illustrate just how handy it is, just a couple of weeks ago, Meta dropped Llama 3.1 – the first of their models to really challenge the frontrunners. However, unless you have a computer powerful enough to run it locally, or access to Meta AI (US-only right now), you’ll be waiting a while to try it.

Enter Poe. Within a couple of days, all flavours of Llama 3.1 were available. And the best thing? You can interact with most of them for nothing.

The Poe Currency

Poe works on a currency of Compute Points, which are used to pay for messages to the model. More powerful models guzzle through compute points at a higher rate, and models tend to become cheaper as they get older. Meta’s Llama-3.1-405B-T, for example, costs 335 points per message, while OpenAI’s ChatGPT-4o-Mini comes in at a bargain 15 points for each request.

Users of Poe’s free tier get a pretty generous 3000 Compute Points every day. That’s enough credit to work quite extensively on some of the older models without much limitation at all. But it’s also enough to get some really useful (8-ish-requests daily) use from Llama 3.1. And, thanks to that, I can tell you – Llama 3.1 is great at creating language learning resources!

Saying that, with the right prompt, most of the higher-end models are, these days. Claude-3.5-Sonnet is another favourite – check out my interactive worksheet experiments with it here. And yes, Claude-3.5-Sonnet is available on Poe, at a cost of 200 points per message (and that’s already dropped from its initial cost some weeks back!). Even the image generation model Flux has made its way onto the platform, just days after the hype. And it’s a lot better with text-in-image (handy if you’re creating illustrated language materials).

Poe pulls together all sorts of cloud providers in a marketplace-style setup to offer the latest bots, and it’s a model that works. The latest and greatest will always burn through your stash of Computer Points faster, but there’s still no easier way to be amongst the first to try a new LLM!

AI Parallel Texts for Learning Two Similar Languages

I’ve seen a fair few social media posts recently about linguist Michael Petrunin’s series of Comparative Grammars for polyglots. They seem to have gone down a storm, not least because of the popularity of triangulation as a polyglot strategy.

They’re a great addition to the language learning bookshelf, since there’s still so little formal course material that uses this principle. Of course, you can triangulate by selecting course books in your base language, as many do with Assimil and other series like the Éditions Ellipse.

Parallel Texts à la LLM

But LLMs like ChatGPT, which already do a great job of the parallel text learning style, are pretty handy for creative comparative texts, too. Taking a story format, here’s a sample parallel text prompt for learners of German and Dutch. It treats each sentence as a mini lesson in highlighting differences between the languages.

I’m learning Dutch and German, two closely related languages. To help me learn them in parallel and distinguish them from each other, create a short story for me in Dutch, German and English in parallel text style. Each sentence should be given in Dutch, German and English. Purposefully use grammatical elements which highlight the differences between the languages, which a student of both does need to work hard to distinguish, in order to make the text more effective.

The language level should be lower intermediate, or B1 on the CEFR scale. Make the story engaging, with an interesting twist. Format the text so it is easy to read, grouping the story lines together with each separate sentence on a new line, and the English in italics.

You can tweak the formatting, as well as the premise – specify that the learner already speaks one of the languages more proficiently than the other, for example. You could also offer a scenario for the story to start with, so you don’t end up with “once upon a time” every run. But the result is quite a compact, step-by-step learning resource that builds on a comparative approach.

ChatGPT creating parallel texts in German and Dutch with an English translation.

ChatGPT creating parallel texts in German and Dutch with an English translation.

Variations and Limitations

I also tried prompting for explanatory notes:

Where the languages differ significantly in grammar / syntax, add an explanatory note (in English) to the sentences, giving details.

This was very hit and miss, with quite unhelpful notes in most runs. In fact, this exposes the biggest current limitation of LLMs: they’re excellent content creators, but still far off the mark in terms of logically appraising the language they create.

It is, however, pretty good at embellishing the format of its output. The following variation is especially impressive in an LLM platform that shows a preview of its code:

I’m learning Spanish and Portuguese, two closely related languages. To help me learn them in parallel and distinguish them from each other, create a short story for me in Spanish, Portuguese and English in parallel text style. Each sentence should be given in Spanish, Portuguese and English. Purposefully use grammatical elements which highlight the differences between the languages, which a student of both does need to work hard to distinguish, in order to make the text more effective.

The language level should be lower intermediate, or B1 on the CEFR scale. Make the story engaging, with an interesting twist.

The output should be an attractively formatted HTML page, using a professional layout. Format the sentences so they are easy to read, grouping the story lines together with each separate sentence on a new line, and the English in italics. Hide the English sentences first – include a “toggle translation” button for the user.

Claude by Anthropic creating an HTML-formatted parallel story in Spanish and Portuguese.

Claude by Anthropic creating an HTML-formatted parallel story in Spanish and Portuguese.

It’s another use case that highlights LLMs’ greatest strength: the creation of humanlike texts. For linguists, it matters not a jot how much (or little) deep understanding there is beneath that. With the language quality now almost indistinguishable from real people-speak, AI texts serve as brilliant ‘fake authentic’ language models.

e-Stories as parallel texts are yet another fun, useful flavour of that!

Robots exchanging gifts. We can exchange - and adapt - digital resources now, with Claude's shareable Artifacts.

Sharing Your Language Learning Games with Claude Artifacts

If Claude’s recent improvements weren’t already impressive enough, Anthropic has only gone and done it again – this time, by making Artifacts shareable.

Artifacts are working versions of the programs and content you, the user, prompt for in Claude. For example, they pop up when you ask the AI to write a language practice game in HTML, running the code it writes as a playable activity. Instant language learning games – no coding required.

Now, you can share your working, fully playable creations, with a simple link.

Instant Spanish Quiz with Claude

Take this simple Spanish quiz (very topical given the forthcoming Euros 2024 final!). I prompted for it as follows:

Create an original, self-contained quiz in Spanish for upper beginner / lower intermediate students of the language, on the topic “Spain in the European Football Championships”. It should be completely self-contained in an HTML page. The quiz should be multiple choice, with ten questions each having four alternative answer buttons – only one is right, and there is always one ‘funny’ alternative answer in the mix too.

Every time the quiz is played, the questions and the answers are in a random order. The student can keep trying answers until they get the right one (obviously after clicking an answer button, it should be disabled). Incorrect buttons turn red – correct ones green. Keep score of the player’s accuracy as they work through the questions (number of correct clicks / total clicks).

Make sure it looks attractive, slick and smart too, with CSS styling included in the HTML page.

If you have Artifacts turned on (see here for more). you should see your working game appear in a new pane. But now, you’ll also see a little Publish link in the bottom-right corner. Click this, and you can choose to make your creation public with an access link.

Publishing your working language activities using a share link with Claude Artifacts

Publishing your working language activities using a share link with Claude Artifacts

Remixing Artifacts

But wait – there’s more. When colleagues access your Artifact, they will see a Remix button in that bottom-right corner.

Remixing Artifacts in Claude

Remixing Artifacts in Claude

By hitting that, they can pick up where you left off and tweak your materials with further prompting. For instance, to keep the quiz format but change the language and topic, they could simply ask:

Now create a version of this quiz for French learners on the topic “France at the Olympic Games”.

It makes for an incredibly powerful way to network your learning resources. It’s also perfectly possible to take advantage of all this using only Claude’s free tier, which gives you 10 or so messages every few hours.

More than enough to knock up some learning games.

Have you created anything for colleagues to adapt and share on in Claude? Let us know in the comments!

A cute robot coding at an old-fashioned computer terminal. AI code generation is great for making language games!

AI for Language Games : We’re All Developers, Now!

I’ve been developing games for language learners for over two decades now. Learning those programming skills was a labour of love, started when I was still a classroom teacher. Honing my own coding skills took years of practice. But now, thanks to ever-improving generative AI models, you can skip that step.

All it takes to create interactive language games is a good set of prompts!

Generative AI is an uncanny fit for language learners and teachers, who quickly realised how useful it could be for authentic(ish) text creation. But it doesn’t have to be static. By specifying the kind of features you want in a prompt, you can come up with great self-contained digital ‘worksheets’ with self-marking activities.

It’s possible to go well beyond this – into actual interactive gaming. Today’s generation of AI platforms are capable of taking your brief, then coding it up efficiently and intelligently as a working game, without any further input from you.

Now, if you can imagine it, you can make it.

Language Tetris

Let’s take a classic gaming example: a version of Tetris with a language learning twist. Blocks fall from the top of the screen, labelled with a word in either German or English. Students must manoeuvre the blocks with the arrow keys in order to land German-English equivalents together, whereupon they pop and disappear from the stack. The game speeds up as students progress; the aim is to prevent the blocks from stacking to the top for as long as possible.

It’s fun, and fantastic for improving recall with a set of vocab items.

An AI-generated interactive language learning game. Blocks fall from the top of the screen - the student must match them and avoid them piling to the top.

An AI-generated interactive language learning game. Blocks fall from the top of the screen – the student must match them and avoid them piling to the top. (Pictured is a ‘boom’ block that gives the students a lifeline!)

You can play a working version of it here, and you’ll see what I mean: it’s fun, it gets quite fast and furious, and it does a great job of drilling words. It may not look particularly pretty in its current state, but it’s completely playable; with a bit of visual sprucing, it wouldn’t look out of place on any language learning website.

It’s the kind of thing that would make a nice intermediate coding challenge for someone learning web app development. Maybe a weekend project, or something to do across a series of evenings.

But it took just a few minutes with ChatGPT.

Prompting for Language Games

Here’s the prompt I used for the initial version (and you’ll see some similarities with the interactive worksheet prompt, too):

Let’s create a language learning game in JavaScript, completely self-contained on a single HTML page. It will be like Tetris, adapted for language learning as follows:
– blocks will have either a German or an English word on them from a pot of ten vocabulary items on the topic ‘Clothing’
– blocks will descend from the top of the screen
– as they fall, students use the left, right and down arrows to manoeuvre the blocks before they land
– if a matching German block and English block touch (above, below or to the side), they go POP and disappear – and the game speeds up slightly
– ensure that ‘gravity’ is respected, so if there are blocks above one that ‘pops’, they fall into place accordingly
– the aim is to avoid the blocks stacking up to the top
– every few blocks (maybe every 5-10 at random), a ‘boom’ block falls that ‘pops’ every block it touches on landing (just to clear the space and make it a bit easier)

If you pop this into Claude Sonnet 3.5 right now – as long as you have Artifacts turned on – you should be able to play what comes up straight away. If you’re using ChatGPT or another platform, there’s an extra (easy-ish) step to do before you can play: you just need to save your code in some text editor as an HTML file.

Code output from a prompt in ChatGPT

Code output from a prompt in ChatGPT

Live Preview – Without Claude’s Artifacts

In fact, one free editor for coding – Phoenix Code – also shows you a live preview of the page working as you paste the code in, Claude Artifacts-style. If you really get into language games generation with AI, it’s well worth a download.

Using Phoenix to save and preview AI-generated language games

Using Phoenix Code to save and preview AI-generated language games

One important caveat: your game may well not be perfect on the first go. It might have a bug or two – AI might have missed the point occasionally. My initial version of Language Tetris, for example, allowed students to move the block across existing columns, unlike in the classic game.

But by prompting and re-prompting, requesting tweaks and changes as you go along, you can produce some amazing results. Change the styling, add features, include fiendish rules of play.

The sky’s the limit.

Pulling It All Together

Once you’re done with one game, it can serve as a template for others. It’s usually clear in the code where to change the vocabulary items to something else. Just change, Save As… a new filename, and build up a library of topical games.

A snippet of code produced by ChatGPT

It’s usually clear from a glance at the code where you can change the vocabulary.

In terms of styling, these games do tend to be graphically quite simple. That said, you can easily prompt for more visually appealing elements. And why not use a AI image generation tool like Bing to make some more attractive graphics to integrate into your creations?

Finally, you might be wondering if educational games developers like me are feeling a bit… well, put out by all this. My answer is a resounding not at all! If anything, AI code generation is a brilliant proof-of-concept, prototyping tool to try out new gaming ideas before setting fingers to keyboard. It’s incredibly useful to test if something will really work before pouring hours into coding it.

And of course, you can pick up with your own skills where AI leaves off, to create something even more special with that irreplaceable human touch.

Have you been using AI as your own coding assistant? Let us know in the comments what you’ve been creating together!