Alan Zucconi Profile picture
Director of Studies @GoldsmithsUoL • Legacy Verified • Senior Lecturer • Machine Learning • Shader Master • GameDev • 30 U̶n̶d̶e̶r̶ Over 30 • @PikuNikuGame
Sep 14, 2023 8 tweets 2 min read
In case you missed it, @tkexpress11 wrote a long thread about Unity's recent changes.

First of all, thank you for writing this, really! 🙏

But I think the thread is missing a few important points...

🧵 (1/8) 1⃣ LACK OF TRANSPARENCY

Nobody knows how Unity will measure installs. And Unity made it very clear they will not share more details about their "proprietary technology".

It's impossible for gamedevs to contest numbers when Unity is both the judge and jury.

(2/8)
Aug 1, 2023 7 tweets 3 min read
If you're a big fan of FEZ, you might have noticed that to *fully* complete the game, you don't have to complete it to 100%. You have to complete it to 209.3%. 😅

Let's see why. 🧐🧵 FEZ monitors the progress with a percentage. That is the number of cubes you need to complete the game.

You need 32 cubes (or anticubes) to unlock the first ending, which gives you 100%.

This unlocks a cutscene so trippy that not even the YouTube compression can keep up.
Jun 8, 2023 7 tweets 4 min read
With so many photo editing tools powered by Generative AI, I think is worth remembering some of the most powerful techniques that do NOT rely on Deep Learning. 🧮

🧵 Let's see how SEAM CARVING works and how we can make it in @unity! 👇

alanzucconi.com/?p=8000 SEAM CARVING is a technique that resizes images without "squeezing" them.

It does so by identifying "seams": continuous lines that cross as fewer edges as possible. Image
Aug 28, 2022 8 tweets 6 min read
From "RimWorld" to "Firewatch", there are countless games which feature maps. 🗺️

These are FIVE #gamedev resources to create them in your games...

🧵👇 1⃣ 𝗧𝗼𝗽𝗼𝗴𝗿𝗮𝗽𝗵𝗶𝗰𝗮𝗹 𝗠𝗮𝗽𝘀 🗺️

This tutorial shows how to render any terrain like a proper topographical maps.

It also supports isolines/contour lines, and custom gradients!

alanzucconi.com/2022/04/19/top…
Apr 3, 2022 8 tweets 5 min read
This week I've been replaying Firewatch. 🛡️🔥
Despite being 6 years old—which is about 40 in indie game years—it has aged gracefully and is still an incredibly enjoyable experience.

And replaying it now, I can see how much love @camposanto has put into its making...

🧵👇 For me, it's the tiny details that make Firewatch an absolute gem to watch and play.

Like selecting a different number makes your in-game hand move on the lock.
Oct 6, 2021 22 tweets 9 min read
Did I really installed *every* major version of @unity?

Yes, I did. 😌

Join me in this journey to celebrate how much Unity has changed since 2005... ▶️ Unity 1.0
Was officially released on June 8 2015, and was initially limited to MacOS.

▶️ Unity 2.0
Launched in 2007, with a bunch of new features.

These versions are nowhere to be found, but the editor looked very familiar.

May 20, 2021 19 tweets 9 min read
There are over 2 BILLION people in the world living with a disability.

And a significant percentage of them are struggling to play games. 🚫🎮

As part of the Global Accessibility Awareness Day #GAAD, this is a list of #gamedev resources to design more accessible games.

👇🧵👇 1⃣ COLOUR BLINDNESS 👁️

There are approximately 300 million people in the word who are colour blind.

There are also many different types of colour blindness: DEUTERANOPIA is the most common, affecting the perception of red 🔴 and green 🟢 tones.
May 19, 2021 6 tweets 2 min read
Every now and then I see people talking about the difference between VISUAL SCRITPING and CODING.

So let me break this down for you.

Visual scripting 𝗜𝗦 coding! 👨‍⚖️

And this is why... 🧵👇 One of the most common criticism against visual scripting is that it finds an audience with novel or unexperienced developers.

This is often correct.

But the bit that is missing is that many of those "unexperienced developers" are actually VERY experienced artists & designers.
May 1, 2021 13 tweets 8 min read
I'm so grateful that we live in a time where teachers and educators have access to thousands of EXPLORABLE EXPLANATIONS! 🙏

This is a short thread with TEN of my favourite ones! 😊

👇🧵👇 1⃣ "Internal Combustion Engine"

by @bciechanowski

ciechanow.ski/internal-combu…
Mar 19, 2021 7 tweets 4 min read
This is a list of the FIVE (plus one!) measures of distance that every #gamedev should know!

🧵👇

Starting from the most well-known one...

1⃣ EUCLIDEAN DISTANCE 📏

Measures the distance between two points, using the Pythagorean theorem.

In Unity: Vector3.Distance(A,B). 2⃣ VECTOR DISTANCE 📐

Is a vector that starts from 🅰️ and goes to 🅱️.
It is pretty handy in LINEAR ALGEBRA, as it can avoid Trigonometry.

It has a DIRECTION, meaning that 🅰️-🅱️ is not the same of 🅱️-🅰️!

In Unity, you can calculate it by simply subtracting the two vectors!
Mar 8, 2021 13 tweets 4 min read
Let's talk about @unity3d, and the execution order of its event functions—such as 𝚂𝚝𝚊𝚛𝚝 and 𝚄𝚙𝚍𝚊𝚝𝚎.

Trust me when I say that ...IT'S WAY MORE COMPLICATED THAN YOU THINK. 😬

#gamedev #unitytips #madewithunity

🧵👇 🔹𝗙𝗶𝗿𝘀𝘁 𝗦𝗰𝗲𝗻𝗲 𝗹𝗼𝗮𝗱

1⃣ 𝙰𝚠𝚊𝚔𝚎: always called before any 𝚂𝚝𝚊𝚛𝚝 & after a prefab is instantiated

2⃣ 𝙾𝚗𝙴𝚗𝚊𝚋𝚕𝚎: called just after a 𝙶𝚊𝚖𝚎𝙾𝚋𝚓𝚎𝚌𝚝 is enabled (including when loaded, created, or a 𝙼𝚘𝚗𝚘𝙱𝚎𝚑𝚊𝚟𝚒𝚘𝚞𝚛 script is added)
Feb 22, 2021 21 tweets 10 min read
Let's talk about NEURAL NETWORKS. 🧠

Most of you are probably familiar with them. 🧑‍💻

But not many know HOW they actually work and—even more importantly—WHY they work. 🔧

So, let's take a journey to understand what makes Neural Networks so effective... 📊

#ML #AI #NN

🧵👇 Let's start with a simple question...

❓ What problem are NNs trying to solve? 🤔

Generally speaking, NNs are trained on examples, to produce predictions based on some input values.

The example data (input + desired output) draws a curve that the NN is trying to fit.
Feb 10, 2021 14 tweets 12 min read
This is a list of TEN (plus one) games that are "accidentally" TURING COMPLETE. 🖥️

In a nutshell, when a game is Turing Complete you can use it to build a WORKING COMPUTER. 🤯

If you are a parent: please don't underestimate games as a creative medium.

Let's start with...

🧵👇 ImageImageImage 1⃣ Minecraft ⛏️

Unsurprisingly, @Minecraft is indeed Turing Complete. 🖥️

This is possible thanks to the so-called REDSTONE CIRCUITS, which allow to build simple logic gates. 🟥

And if you are really, REALLY committed ...you can even build a computer!

Feb 2, 2021 10 tweets 6 min read
After using @unity3d for almost 10 years, I want to share the TEN small features that are really helping me develop games faster.

Starting with my favourite... 😎

1⃣ Inspector Maths

You can write ACTUAL mathematical expressions in the inspector! 🤯

Check the other ones!

🧵👇 2⃣ Animation Curves

Unity supports a super easy way to create smooth paths through ANIMATION CURVES. Perfect for blending & animating properties.

Creation:
public AnimationCurve Curve;

Usage:
float x = Curve.Evaluate(t);

#unitytips

docs.unity3d.com/ScriptReferenc…
Jan 25, 2021 7 tweets 3 min read
These are FIVE TRICKS that my colleagues and I have learnt from one academic year or REMOTE TEACHING in HIGHER EDUCATION. 📚🎓

Every class is different, and every lecture has their own teaching style. But feel free to share this thread if you think it might help someone!

🧵👇 1⃣ 𝗦𝗲𝘁𝘂𝗽 🖥️

If you are using PowerPoint with a second monitor, you can actually resize the "Presenter View" window:

1⃣🖥️
🔴Shared screen with slides

2⃣🖥️
🔵Presenter view with notes
🟢MS Teams chat

So you can share your screen, see your notes & read questions!
Jan 23, 2021 8 tweets 6 min read
BEHAVIOUR TREES are the cornerstone of ARTIFICIAL INTELLIGENCE for #gamedev.

But they can be difficult to "grow". 🌱

I have selected FIVE rather approachable papers that use EVOLUTION to grow behaviour trees AUTOMATICALLY, so you don't have to. 🌲

Let's start with...📝

🧵👇 ImageImage 1⃣ "Evolving Behaviour Trees for the Commercial Game DEFCON" (2010)

🔹Chong-U Lim
🔹Robin Baumgarten
🔹Simon Colton

researchgate.net/publication/22… ImageImage
Jan 22, 2021 11 tweets 4 min read
Fifty years have passed since CONWAY'S GAME OF LIFE firstly appeared on a column called "Mathematical Games" on @sciam.

While most Programmers & Computer Science enthusiasts are familiar with it, not many know that the game is actually TURING COMPLETE.

Let's see why. ⠠⠵

🧵👇 The quickest way to prove that a system is TURING COMPLETE is to show that it allows for the constructions of LOGIC GATES. 🖥️

So, let's see how the 𝗔𝗡𝗗, 𝗢𝗥 and 𝗡𝗢𝗧 gates can actually be constructed in Conway's Game of Life...
Jan 19, 2021 12 tweets 5 min read
This is a story about the importance of being the first one to cover a topic.

📙 "Artificial Intelligence for Games" by @idmillington & @funge, was published in 2009.

And it featured a diagram which has now possibly become the most popular Behaviour Tree seen in Colleges.

🧵👇 Image I first realised I had seen this Behaviour Tree before when I noticed the "Barge door" node in someone else's slides.

And from that moment onwards, I have been finding variations of that very Behaviour Tree in virtually every game AI presentation.

Jeremy Gow, Goldsmiths 👇 Image
Jan 9, 2021 11 tweets 5 min read
If you are interested in learning AI and how it can be used in #gamedev, you should start with BEHAVIOUR TREES! 🌲🧠

As the cornerstone of game AI, BTs are used in:

• Halo 2 🪖
• Bioshock 💉
• GTA V 🚗
• Façade 🍈
• Alien: Isolation 👽

Let's see how they work! 👇

🧵 A screenshot of "owl-bt", an editor for Behaviour An example of Behaviour Trees in Unreal Engine.An example of Behaviour Trees in Unity, with an asset called Many of you are familiar with FINITE STATE MACHINES: the most popular pattern for character controllers.

While FSMs are graphs, BTs are (unsurprisingly!) trees. 🌲Their leaves are the ACTIONS 🦾 and PERCEPTIONS 👁️ your agents can perform and sense.
Jan 8, 2021 12 tweets 4 min read
Most #gamedev are familiar with A*, the most used pathfinding algorithm in games.

⚠️ But did you know that there's a very common scenario in which A* DOES NOT find the shortest path? 😱

Let's see why A* won't work in "Portal", and how we can fix it!

🧵 All pathfinding algorithms work by iteratively exploring nearby cells in the grid.

⬅️ Breadth First Search explores them in the order in which they are discovered.

➡️ Dijkstra's Algorithm, instead, keeps exploring the SHORTEST PATH FIRST.

(gif by @redblobgames)
Nov 24, 2020 7 tweets 7 min read
One of the best ways to improve your creativity is—paradoxically—to design with constraints.

Perhaps this is why the #pico8 community never failed to amaze me with their tiny creations.

So, here's a list of PICO-8 DEMAKES, starting with possibly the best one ever made...

/🧵👇 "FUZ", a #pico8 demake of @Polytron's "FEZ" by Henry Stadolnik (@Jusiv_).

jusiv.itch.io/fuz