To Unity είναι μια δημοφιλής μηχανή παιχνιδιών (game engine) όπου μπορείς να φτιάξεις παιχνίδια 2D και 3D ακόμα και αν είσαι αρχάριος.
1) Εγκατάσταση Unity Hub



👉 Κατέβασε το Unity Hub από το επίσημο site του Unity, δημιούργησε λογαριασμό και εγκατέστησε την προτεινόμενη έκδοση του Unity Editor.
👉 Τα βήματα εγκατάστασης μπορείς να τα δεις και εδώ
Tutorial Βήμα-Βήμα (Βίντεο)
=== Files and Downloads ===
Assets – https://www.dropbox.com/sh/h5vez7ltgb…
Scripts – https://pastebin.com/QiLkpeJe
ή απλά κατατέβασε έτοιμο το unity project που περιγράφεται στο βίντεο από το github –> Unity Project – https://github.com/Britishgaming/GMTK…
2) Δημιουργία νέου Project




✔ Άνοιξε το Unity Hub
✔ Πάτησε New Project
✔ Επίλεξε 2D template
✔ Δώσε όνομα (π.χ. MyFirstGame)
✔ Πάτησε Create
3) Το περιβάλλον του Unity




📌 Τα βασικά παράθυρα:
- Scene — εδώ σχεδιάζεις το επίπεδο
- Game — εδώ βλέπεις το παιχνίδι όπως θα εμφανίζεται
- Hierarchy — όλα τα αντικείμενα (GameObjects)
- Inspector — ρυθμίσεις του κάθε αντικειμένου
- Project — όλα τα αρχεία σου
4) Δημιουργία ενός αντικειμένου (Sprite)


- Πήγαινε GameObject → 2D Object → Sprite
- Διάλεξε εικόνα (μπορείς να χρησιμοποιήσεις το Default Sprite)
- Μετακίνησε το αντικείμενο στην Scene
5) Προσθήκη Κώδικα (C# Script)



🧱 Βασικό Script για κίνηση
- Στο Project → Assets, κάνε δεξί κλικ → Create → C# Script
- Ονόμασέ το
PlayerMovement - Άνοιξέ το (με Visual Studio ή παρόμοιο)
📌 Αντιγράψε αυτόν τον κώδικα:
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float speed = 5f;
void Update()
{
float moveX = Input.GetAxis("Horizontal");
float moveY = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveX, moveY, 0f);
transform.position += movement * speed * Time.deltaTime;
}
}
👉 Τι κάνει αυτός ο κώδικας:
✔ Παίρνει είσοδο από τα βελάκια
✔ Μετακινεί τον χαρακτήρα στο 2D επίπεδο
- Σύρε το
PlayerMovementscript πάνω στο Sprite που έφτιαξες. - Δοκιμή του παιχνιδιού

📍 Πάτησε Play πάνω αριστερά για να τρέξει το παιχνίδι και δοκίμασε να μετακινήσεις τον χαρακτήρα με τα βελάκια.
Ολοκληρωμένο Παράδειγμα Παιχνιδιού (Player – Εχθροί – Score – UI)
Θα φτιάξουμε ένα απλό 2D παιχνίδι:
👉 Ο παίκτης κινείται
👉 Αποφεύγει εχθρούς
👉 Κερδίζει πόντους (score)
🎮 Περιγραφή παιχνιδιού
- Ο παίκτης κινείται με τα βελάκια
- Εχθροί εμφανίζονται τυχαία
- Όταν ο παίκτης ακουμπήσει εχθρό → Game Over
- Το σκορ αυξάνεται με τον χρόνο
🧍♂️ 1. Player (Κίνηση)
Script: PlayerMovement.cs
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float speed = 5f;
void Update()
{
float x = Input.GetAxis("Horizontal");
float y = Input.GetAxis("Vertical");
transform.position += new Vector3(x, y, 0f) * speed * Time.deltaTime;
}
}
📌 Βάλε το script στον Player
📌 Πρόσθεσε Collider2D
👾 2. Εχθρός
Script: Enemy.cs
using UnityEngine;
public class Enemy : MonoBehaviour
{
public float speed = 3f;
void Update()
{
transform.Translate(Vector2.down * speed * Time.deltaTime);
}
}
📌 Βάλε Collider2D
📌 Αν φύγει από την οθόνη → Destroy
🔁 3. Δημιουργία Εχθρών (Spawner)
Script: EnemySpawner.cs
using UnityEngine;
public class EnemySpawner : MonoBehaviour
{
public GameObject enemy;
public float spawnRate = 2f;
void Start()
{
InvokeRepeating("SpawnEnemy", 1f, spawnRate);
}
void SpawnEnemy()
{
float x = Random.Range(-8f, 8f);
Instantiate(enemy, new Vector3(x, 6f, 0f), Quaternion.identity);
}
}
⭐ 4. Score System (UI)
- GameObject → UI → Text
- Ονόμασέ το
ScoreText
Script: ScoreManager.cs
using UnityEngine;
using UnityEngine.UI;
public class ScoreManager : MonoBehaviour
{
public Text scoreText;
private float score;
void Update()
{
score += Time.deltaTime;
scoreText.text = "Score: " + Mathf.FloorToInt(score);
}
}
💥 5. Σύγκρουση – Game Over
void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.CompareTag("Enemy"))
{
Time.timeScale = 0f;
Debug.Log("Game Over");
}
}
Η παραπάνω παρουσίαση γίνεται για καθαρά εκπαιδευτικό σκοπό και αποκλειστικό στόχο έχει στην ενίσχυση της υπολογιστικής σκέψης των μαθητών μας με τρόπο εξατομικευμένο και ανακαλυπτικό
Β. ΠΑΣΧΟΣ ΠΕ86

