напиши 3д игру
Хорошо — могу помочь написать простую 3D-игру. Прежде чем начинать, уточни: для какого движка/платформы хочешь игру? (Unity, Godot, Three.js/веб, Unreal и т. п.) Пока жду ответ — приведу быстрый готовый пример для Unity (самый популярный вариант для начинающих). Это маленькая 3D-игра "собирай монетки" (FPS-передвижение, собираешь предметы, считаешь очки).
Требования
Шаги создания сцены (коротко)
Скрипты (C#). Создай 3 скрипта и повесь их так описано.
using UnityEngine;
[RequireComponent(typeof(CharacterController))]
public class PlayerController : MonoBehaviour
{
    public float walkSpeed = 6f;
    public float runSpeed = 10f;
    public float gravity = -9.81f;
    public float mouseSensitivity = 2f;
    public Transform cameraTransform;
    public float cameraPitchLimit = 85f;
    CharacterController cc;
    float velocityY = 0f;
    float pitch = 0f;
    void Start()
    {
        cc = GetComponent<CharacterController>();
        Cursor.lockState = CursorLockMode.Locked;
    }
    void Update()
    {
        // Mouse look
        float mouseX = Input.GetAxis("Mouse X") * mouseSensitivity;
        float mouseY = Input.GetAxis("Mouse Y") * mouseSensitivity;
        transform.Rotate(Vector3.up * mouseX);
        pitch -= mouseY;
        pitch = Mathf.Clamp(pitch, -cameraPitchLimit, cameraPitchLimit);
        if (cameraTransform != null) cameraTransform.localEulerAngles = Vector3.right * pitch;
        // Movement
        float x = Input.GetAxis("Horizontal");
        float z = Input.GetAxis("Vertical");
        Vector3 move = transform.right * x + transform.forward * z;
        float speed = Input.GetKey(KeyCode.LeftShift) ? runSpeed : walkSpeed;
        velocityY += gravity * Time.deltaTime;
        Vector3 final = move.normalized * speed + Vector3.up * velocityY;
        cc.Move(final * Time.deltaTime);
        if (cc.isGrounded && velocityY < 0) velocityY = -1f; // keep grounded
    }
}
using UnityEngine;
public class Coin : MonoBehaviour
{
    public int value = 1;
    void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            GameManager.instance.AddScore(value);
            Destroy(gameObject);
        }
    }
}
using UnityEngine;
using UnityEngine.UI;
public class GameManager : MonoBehaviour
{
    public static GameManager instance;
    public int score = 0;
    public Text scoreText;
    void Awake()
    {
        if (instance == null) instance = this;
        else Destroy(gameObject);
    }
    void Start()
    {
        UpdateUI();
    }
    public void AddScore(int v)
    {
        score += v;
        UpdateUI();
    }
    void UpdateUI()
    {
        if (scoreText != null) scoreText.text = "Score: " + score;
    }
}
Дополнительно
Как запустить
Хочешь, могу:
Напиши, какой вариант предпочитаешь или какие фичи добавить.