Primeros pasos con Godot: desarrolla juegos 2D con VS Code y la extensión Codex

Si ya trabajas cómodo en VS Code, no necesitas depender de la app independiente de Codex. Esta guía organiza un flujo inicial con Godot 4.x, VS Code, godot-tools, la extensión Codex y Git para crear un pequeño prototipo 2D de disparos con vista cenital.

Si ya usas VS Code a diario, aprender Godot no tiene por qué obligarte a cambiar de flujo de trabajo. Una combinación más cómoda es esta: Godot se encarga de escenas y nodos, VS Code se encarga de escribir GDScript, y la extensión Codex ayuda a analizar el proyecto, generar scripts, depurar errores y hacer refactorizaciones pequeñas.

Este método no consiste en pedirle a la IA que genere un juego completo desde el primer día. Es más estable crear primero el árbol real de nodos en Godot y después pedirle a Codex que escriba scripts alrededor de esa estructura. Así Codex puede ver la organización del proyecto y es menos probable que adivine mal nombres de nodos o rutas.

Reparto recomendado

Para usuarios de VS Code, el reparto más práctico es:

  • Godot: crear escenas, nodos, colisiones, animaciones y layout de UI.
  • VS Code: escribir y gestionar GDScript.
  • Codex: analizar el proyecto, generar scripts, buscar errores y hacer refactorizaciones acotadas.
  • Git: hacer un commit cada vez que completes una función ejecutable.

En otras palabras, Godot sigue siendo el editor principal del proyecto, VS Code es el espacio de trabajo para código y Codex funciona como asistente de programación colaborativo.

Instalar extensiones de VS Code

Instala dos extensiones en VS Code:

  1. Codex

La extensión oficial de OpenAI puede leer, modificar y ejecutar archivos del proyecto actual. Inicia sesión con tu cuenta de ChatGPT.

  1. godot-tools

Sirve para desarrollar GDScript en proyectos Godot. Ofrece resaltado de sintaxis, autocompletado, salto a definición, diagnósticos LSP y la posibilidad de iniciar y depurar Godot desde VS Code.

No te quedes solo con una extensión básica de resaltado para GDScript. Prioriza godot-tools.

Hacer que Godot use VS Code

En Godot, abre:

1
2
3
4
Editor
→ Editor Settings
→ Text Editor
→ External

Activa:

1
Use External Editor

En Windows, la ruta del ejecutable debe apuntar a code.cmd. Puedes comprobarla en una terminal:

1
where code.cmd

Un resultado habitual se parece a:

1
C:\Users\tu-usuario\AppData\Local\Programs\Microsoft VS Code\bin\code.cmd

En los argumentos de ejecución, escribe:

1
{project} --goto {file}:{line}:{col}

Godot 4.5 y versiones posteriores suelen detectar estos argumentos automáticamente, pero configurarlos a mano también está bien.

Después abre:

1
2
3
4
5
Editor Settings
→ Text Editor
→ Behavior
→ Files
→ Auto Reload Scripts on External Change

Activa la recarga automática de scripts cuando cambian desde fuera. Así, al hacer doble clic en un script dentro de Godot, se abrirá en VS Code en el archivo y la línea correspondientes.

Abrir la raíz del proyecto en VS Code

No abras solo la carpeta scripts. VS Code debe abrir la raíz del proyecto que contiene project.godot.

Estructura recomendada:

1
2
3
4
5
6
7
my_game/
├─ project.godot
├─ AGENTS.md
├─ scenes/
├─ scripts/
├─ assets/
└─ .vscode/

Ábrela así:

1
2
cd D:\GodotProjects\my_game
code .

Luego abre el mismo proyecto en Godot.

El servidor de lenguaje de Godot normalmente necesita que el proyecto esté abierto en el editor de Godot. El puerto LSP predeterminado es 6005 y el puerto de depuración DAP es 6006. Durante el desarrollo normal, mantén abierto Godot y escribe el código en VS Code.

Configurar depuración en VS Code

Crea este archivo en el proyecto:

1
.vscode/launch.json

Añade:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Ejecutar proyecto Godot",
            "type": "godot",
            "request": "launch",
            "project": "${workspaceFolder}",
            "debugServer": 6006
        }
    ]
}

Después puedes pulsar F5 en VS Code para iniciar y depurar el juego.

Si F5 no encuentra Godot, busca esta opción en la configuración de VS Code:

1
godotTools.editorPath.godot4

Pon la ruta del ejecutable de Godot, por ejemplo:

1
D:\Programs\Godot\Godot_v4.7-stable_win64.exe

godot-tools permite especificar así la ruta del editor Godot 4.

Crear AGENTS.md

Crea AGENTS.md en la raíz del proyecto. Úsalo como el archivo de reglas que Codex debe leer antes de modificar el proyecto.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Godot Project Instructions

This is a Godot 4.x project using GDScript.

## Coding Rules

- Use only Godot 4.x APIs.
- Do not use old Godot 3.x syntax.
- Prefer static typing in GDScript.
- Use snake_case for variables and functions.
- Use PascalCase for class_name.
- Prefer @onready for node references.
- Use @export for configurable parameters.
- Do not rename existing nodes casually.
- Do not create an overly complex Manager architecture.
- Implement only one independently testable feature at a time.

## File Responsibilities

- scenes/ stores .tscn scenes.
- scripts/ stores .gd scripts.
- assets/ stores images, fonts, and sounds.
- ui/ stores UI scenes and UI scripts.

## Scene Modification Rules

- Before editing .tscn files, read and understand the existing node structure.
- Do not guess node names or NodePath values.
- For complex scenes, prefer telling the user to create nodes manually in the Godot editor.
- Unless the task explicitly asks for it, do not rewrite .tscn files broadly.

## Verification Rules

After finishing a task:

1. Check GDScript syntax.
2. Check resource paths and node paths.
3. List modified files.
4. Explain how to test in Godot.
5. Do not claim it ran successfully unless you actually verified it.

Este archivo es muy útil porque define los límites del proyecto para Codex. Reduce la probabilidad de que reescriba escenas, cambie la estructura o use APIs antiguas de Godot.

Inicializar Git primero

Ejecuta esto en la terminal de VS Code:

1
git init

Crea .gitignore:

1
2
3
4
5
.godot/
.vscode/*.log
*.tmp
export/
build/

Primer commit:

1
2
git add .
git commit -m "初始化 Godot 项目"

Antes de dejar que Codex modifique el proyecto, crea un punto de control con Git. Así puedes deshacer experimentos sin tensión.

Que el primer proyecto siga siendo 2D

Aunque ya conozcas VS Code, conviene que el primer proyecto de Godot sea 2D. No empieces con un proyecto 3D grande, una UI compleja o un sistema RPG completo.

Un buen proyecto de práctica es:

1
Prototipo 2D de disparos con vista cenital

Funciones mínimas:

  • Movimiento del jugador
  • Apuntar con el mouse
  • Disparar balas
  • Enemigos que persiguen
  • Daño por colisión
  • Puntuación
  • Reinicio

Directorio recomendado:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
my_game/
├─ project.godot
├─ AGENTS.md
├─ scenes/
│  ├─ main.tscn
│  ├─ player.tscn
│  ├─ bullet.tscn
│  └─ enemy.tscn
├─ scripts/
│  ├─ main.gd
│  ├─ player.gd
│  ├─ bullet.gd
│  └─ enemy.gd
├─ ui/
│  └─ hud.tscn
└─ assets/

Primer prompt para Codex

En el panel de Codex dentro de VS Code, no le pidas que escriba código de inmediato. Primero haz que lea el proyecto, divida el trabajo y confirme los límites.

Puedes escribir:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
This is a new Godot 4.x GDScript project.

I want to build a minimal 2D top-down shooter.

Do not modify files yet.

First complete the following:

1. Read project.godot and the current directory structure.
2. Check whether the project already has a main scene configured.
3. Design the minimum viable version.
4. Break the work into small tasks that can each be run and verified independently.
5. Clarify which nodes I should create manually in the Godot editor.
6. Clarify which scripts are suitable for you to write.
7. Use only Godot 4.x APIs.
8. Do not generate the whole game at once.
9. Do not directly write complex .tscn files.

Después de ese análisis, pídele solo la primera función: movimiento del jugador.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
Now implement only player movement.

Scene structure:

Player: CharacterBody2D
├─ Sprite2D
└─ CollisionShape2D

Script path:
scripts/player.gd

Requirements:

- Use Input.get_vector
- Use move_and_slide
- Use static typing
- Use @export for movement speed
- Do not rename scene nodes
- Do not implement shooting, health, or animation
- After editing, tell me which Input Map actions I need to configure
- Provide test steps

La clave es hacer solo una función cada vez. Cuanto antes limites el alcance, más fácil será verificar los cambios de Codex.

Ciclo de desarrollo recomendado

Haz una función por ciclo:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
Crear nodos en Godot
Pedir a Codex que escriba scripts en VS Code
Revisar Git diff
Pulsar F5 para ejecutar
Entregar el error completo a Codex
Pedir la corrección mínima
Hacer commit cuando funcione

Para depurar, usa este prompt:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
The following runtime error occurred:

Paste the full error message

Please identify the root cause first.

Requirements:
- Check the actual node structure and NodePath values;
- Make only the smallest change;
- Do not refactor unrelated code;
- Do not modify features that already work;
- After editing, explain why the error happened.

No digas solo “hay un error”. Dale a Codex el error completo, la estructura de la escena y las rutas de los scripts relevantes para que pueda localizar el problema.

Recomendación sobre permisos de Codex

Al empezar con la extensión Codex, usa el modo normal Agent.

No mantengas Agent Full Access activado desde el principio. El modo Agent normal ya puede leer archivos, modificar el proyecto y ejecutar comandos permitidos. Full Access tiene más sentido como opción temporal cuando el límite de la tarea está claro.

Una buena combinación inicial es:

  • Godot 4.x
  • GDScript
  • VS Code
  • godot-tools
  • Codex
  • Git

No necesitas aprender C# primero, ni hacer que Codex genere una escena completa automáticamente. Crea primero el árbol de nodos en Godot y luego deja que Codex escriba scripts alrededor de la estructura real. Esa es la forma con mayor probabilidad de éxito.

记录并分享
Creado con Hugo
Tema Stack diseñado por Jimmy