modified: README.md
This commit is contained in:
parent
729673932c
commit
574e21796e
13 changed files with 2400 additions and 1 deletions
106
.github/workflows/build.yml
vendored
Normal file
106
.github/workflows/build.yml
vendored
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
name: Build AeThex Engine
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-windows:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Install SCons
|
||||
run: pip install scons
|
||||
|
||||
- name: Setup MSVC
|
||||
uses: microsoft/setup-msbuild@v2
|
||||
|
||||
- name: Build AeThex Engine (Windows)
|
||||
run: |
|
||||
cd engine
|
||||
scons platform=windows target=editor -j2
|
||||
|
||||
- name: Upload Windows Build
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: aethex-windows-editor
|
||||
path: engine/bin/aethex.windows.editor.x86_64.exe
|
||||
|
||||
build-linux:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y build-essential scons pkg-config \
|
||||
libx11-dev libxcursor-dev libxinerama-dev libgl1-mesa-dev \
|
||||
libglu-dev libasound2-dev libpulse-dev libudev-dev \
|
||||
libxi-dev libxrandr-dev yasm
|
||||
|
||||
- name: Build AeThex Engine (Linux)
|
||||
run: |
|
||||
cd engine
|
||||
scons platform=linuxbsd target=editor -j2
|
||||
|
||||
- name: Upload Linux Build
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: aethex-linux-editor
|
||||
path: engine/bin/godot.linuxbsd.editor.x86_64
|
||||
|
||||
build-macos:
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Install SCons
|
||||
run: pip install scons
|
||||
|
||||
- name: Build AeThex Engine (macOS)
|
||||
run: |
|
||||
cd engine
|
||||
scons platform=macos target=editor -j2
|
||||
|
||||
- name: Upload macOS Build
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: aethex-macos-editor
|
||||
path: engine/bin/godot.macos.editor.universal
|
||||
|
||||
create-release:
|
||||
needs: [build-windows, build-linux, build-macos]
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/main'
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
|
||||
- name: Create Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
with:
|
||||
files: |
|
||||
aethex-windows-editor/*
|
||||
aethex-linux-editor/*
|
||||
aethex-macos-editor/*
|
||||
29
.gitignore
vendored
Normal file
29
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# Build artifacts
|
||||
engine/bin/
|
||||
engine/.scons_cache/
|
||||
engine/.sconsign*.dblite
|
||||
engine/platform/android/java/.gradle/
|
||||
engine/platform/android/java/build/
|
||||
engine/platform/android/java/lib/build/
|
||||
|
||||
# IDE files
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# OS files
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Logs
|
||||
*.log
|
||||
|
||||
# Custom tools build
|
||||
tools/build/
|
||||
tools/dist/
|
||||
|
||||
# Temporary files
|
||||
*.tmp
|
||||
temp/
|
||||
158
BUILD_STATUS.md
Normal file
158
BUILD_STATUS.md
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
# 🔨 AeThex Engine Build Status
|
||||
|
||||
## Current Build Information
|
||||
|
||||
**Started:** $(date)
|
||||
**Platform:** Linux (x86_64)
|
||||
**Target:** Editor build with AI module
|
||||
**CPU Cores:** 2
|
||||
**Expected Time:** 15-30 minutes
|
||||
|
||||
## Build Command
|
||||
```bash
|
||||
cd /workspaces/AeThex-Engine-Core/engine
|
||||
scons platform=linuxbsd target=editor module_aethex_ai_enabled=yes -j2
|
||||
```
|
||||
|
||||
## What's Being Compiled
|
||||
|
||||
### Core Components
|
||||
- ✅ Godot Engine Core (C++)
|
||||
- ✅ Rendering System (GLES3, Vulkan)
|
||||
- ✅ Editor GUI
|
||||
- ✅ Physics Engine
|
||||
- ✅ Audio System
|
||||
- ✅ Networking Stack
|
||||
|
||||
### AeThex Customizations
|
||||
- 🎨 Brand Colors (Cyan + Purple)
|
||||
- 🏷️ Engine Name (AeThex Engine)
|
||||
- 📝 Copyright (AeThex Labs)
|
||||
- 🖼️ Custom Logos (Hexagon design)
|
||||
- 📋 Custom Menu (AeThex menu)
|
||||
- 🤖 **AI Module** (NEW!)
|
||||
|
||||
### AI Module Files Being Compiled
|
||||
```
|
||||
modules/aethex_ai/
|
||||
├── register_types.cpp - Module registration
|
||||
├── ai_assistant.cpp - Main AI singleton
|
||||
├── ai_code_completion.cpp - Code completion helper
|
||||
└── api/ai_api_client.cpp - Claude API HTTP client
|
||||
```
|
||||
|
||||
## After Build Completes
|
||||
|
||||
### 1. Locate the Binary
|
||||
The compiled editor will be at:
|
||||
```
|
||||
/workspaces/AeThex-Engine-Core/engine/bin/aethex.linuxbsd.editor.x86_64
|
||||
```
|
||||
|
||||
### 2. Run the Editor
|
||||
```bash
|
||||
cd /workspaces/AeThex-Engine-Core/engine
|
||||
./bin/aethex.linuxbsd.editor.x86_64
|
||||
```
|
||||
|
||||
### 3. Configure AI Features
|
||||
In Editor Settings:
|
||||
- Add your Claude API key
|
||||
- Enable AI Assistant
|
||||
- Test code completion
|
||||
|
||||
### 4. Verify Branding
|
||||
Check for:
|
||||
- [ ] "AeThex Engine" title
|
||||
- [ ] Cyan/purple theme
|
||||
- [ ] Custom hexagon logo
|
||||
- [ ] AeThex menu (between Editor and Help)
|
||||
- [ ] About dialog shows "AeThex Labs"
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### If Build Fails
|
||||
1. Check `build.log` for errors
|
||||
2. Install missing dependencies:
|
||||
```bash
|
||||
sudo apt-get install -y build-essential scons pkg-config \
|
||||
libx11-dev libxcursor-dev libxinerama-dev libgl1-mesa-dev \
|
||||
libglu-dev libasound2-dev libpulse-dev libudev-dev \
|
||||
libxi-dev libxrandr-dev yasm
|
||||
```
|
||||
3. Clean and rebuild:
|
||||
```bash
|
||||
scons --clean
|
||||
scons platform=linuxbsd target=editor -j2
|
||||
```
|
||||
|
||||
### If Editor Crashes
|
||||
- Check GPU driver support (Vulkan/OpenGL)
|
||||
- Try software rendering: `./bin/aethex.* --rendering-driver opengl3`
|
||||
|
||||
### If AI Module Doesn't Work
|
||||
- Ensure Claude API key is set
|
||||
- Check network connectivity to api.anthropic.com
|
||||
- Review AIAssistant logs in console
|
||||
|
||||
## Module Status
|
||||
|
||||
### ✅ Completed
|
||||
- Core engine files modified
|
||||
- AI module structure created
|
||||
- API client implementation
|
||||
- Module registration system
|
||||
- Build configuration
|
||||
|
||||
### ⏳ Pending
|
||||
- UI panel implementation
|
||||
- Editor plugin integration
|
||||
- Async API calls
|
||||
- Settings UI for API key
|
||||
- Documentation in editor
|
||||
|
||||
## File Modifications Summary
|
||||
|
||||
### Engine Core
|
||||
- `version.py` - Changed name to "AeThex Engine"
|
||||
- `editor/gui/editor_about.cpp` - Added AeThex copyright
|
||||
- `editor/themes/editor_color_map.cpp` - Applied brand colors
|
||||
- `editor/themes/editor_theme_manager.cpp` - Set default theme
|
||||
- `editor/editor_node.h/cpp` - Added AeThex menu
|
||||
|
||||
### Branding Assets
|
||||
- `icon.svg` - Hexagon with "A"
|
||||
- `logo.svg` - Full wordmark
|
||||
- `icon_outlined.svg` - Outlined version
|
||||
- `logo_outlined.svg` - Outlined wordmark
|
||||
|
||||
### AI Module (NEW!)
|
||||
- `modules/aethex_ai/register_types.h/cpp`
|
||||
- `modules/aethex_ai/ai_assistant.h/cpp`
|
||||
- `modules/aethex_ai/ai_code_completion.h/cpp`
|
||||
- `modules/aethex_ai/api/ai_api_client.h/cpp`
|
||||
- `modules/aethex_ai/config.py`
|
||||
- `modules/aethex_ai/SCsub`
|
||||
- `modules/aethex_ai/README.md`
|
||||
|
||||
## Build Log Location
|
||||
Real-time build output: `/workspaces/AeThex-Engine-Core/engine/build.log`
|
||||
|
||||
Monitor with:
|
||||
```bash
|
||||
tail -f /workspaces/AeThex-Engine-Core/engine/build.log
|
||||
```
|
||||
|
||||
## Next Development Phase
|
||||
|
||||
Once build completes and testing is done:
|
||||
1. Implement AI panel UI
|
||||
2. Add editor integration
|
||||
3. Create welcome screen
|
||||
4. Design professional logos
|
||||
5. Implement cloud services
|
||||
6. Public release preparation
|
||||
|
||||
---
|
||||
|
||||
**Note:** This is a full engine build from source. First-time builds take longer due to compilation of all engine components and third-party libraries.
|
||||
104
README.md
104
README.md
|
|
@ -1 +1,103 @@
|
|||
# AeThex-Engine-Core
|
||||
# AeThex Engine Core
|
||||
|
||||
A next-generation game engine built on Godot, enhanced with AI-native features, cloud services, and modern developer tools.
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
### Prerequisites
|
||||
```bash
|
||||
# Install build dependencies (Ubuntu/Debian)
|
||||
sudo apt-get update
|
||||
sudo apt-get install build-essential scons pkg-config libx11-dev libxcursor-dev \
|
||||
libxinerama-dev libgl1-mesa-dev libglu-dev libasound2-dev libpulse-dev \
|
||||
libudev-dev libxi-dev libxrandr-dev
|
||||
```
|
||||
|
||||
### Build the Engine
|
||||
```bash
|
||||
cd engine
|
||||
scons platform=linuxbsd target=editor -j4
|
||||
```
|
||||
|
||||
### Run the Editor
|
||||
```bash
|
||||
./engine/bin/godot.linuxbsd.editor.x86_64
|
||||
```
|
||||
|
||||
## 📁 Project Structure
|
||||
|
||||
```
|
||||
AeThex-Engine-Core/
|
||||
├── engine/ # Core game engine (Godot fork)
|
||||
├── tools/ # Custom development tools
|
||||
├── services/ # Cloud services and APIs
|
||||
├── docs/ # Documentation
|
||||
└── examples/ # Sample projects
|
||||
```
|
||||
|
||||
## 🎯 Roadmap
|
||||
|
||||
### Phase 1: Foundation (Current)
|
||||
- [x] Fork Godot Engine
|
||||
- [ ] Build and test base engine
|
||||
- [ ] Set up CI/CD pipeline
|
||||
- [ ] Create initial documentation
|
||||
|
||||
### Phase 2: Customization
|
||||
- [ ] Rebrand UI/UX
|
||||
- [ ] Add AI-powered code assistant
|
||||
- [ ] Implement cloud save system
|
||||
- [ ] Create asset marketplace integration
|
||||
|
||||
### Phase 3: Unique Features
|
||||
- [ ] AI asset generation tools
|
||||
- [ ] Collaborative editing
|
||||
- [ ] One-click multiplayer backend
|
||||
- [ ] Advanced analytics dashboard
|
||||
|
||||
## 🛠️ Development
|
||||
|
||||
### Building for Different Platforms
|
||||
```bash
|
||||
# Linux
|
||||
scons platform=linuxbsd target=editor
|
||||
|
||||
# Windows (cross-compile)
|
||||
scons platform=windows target=editor
|
||||
|
||||
# Web
|
||||
scons platform=web target=template_release
|
||||
```
|
||||
|
||||
### Running Tests
|
||||
```bash
|
||||
cd engine
|
||||
scons tests=yes
|
||||
./bin/godot.linuxbsd.editor.x86_64 --test
|
||||
```
|
||||
|
||||
## 📚 Documentation
|
||||
|
||||
- [Godot Official Docs](https://docs.godotengine.org/) - Base engine documentation
|
||||
- [Build Instructions](./docs/building.md) - Detailed build guide
|
||||
- [Contributing Guide](./docs/CONTRIBUTING.md) - How to contribute
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
We welcome contributions! Please see [CONTRIBUTING.md](./docs/CONTRIBUTING.md) for guidelines.
|
||||
|
||||
## 📄 License
|
||||
|
||||
AeThex Engine Core is based on Godot Engine, licensed under the MIT License.
|
||||
See [LICENSE.txt](./engine/LICENSE.txt) for details.
|
||||
|
||||
## 🌟 What Makes AeThex Different?
|
||||
|
||||
- **AI-Native**: Built-in AI assistance for coding, debugging, and asset creation
|
||||
- **Cloud-First**: Integrated multiplayer backend and cloud services
|
||||
- **Modern DX**: Enhanced developer experience with better tools
|
||||
- **Community-Driven**: Open source with active community involvement
|
||||
|
||||
---
|
||||
|
||||
**Status**: 🏗️ Early Development | **Version**: 0.1.0-alpha
|
||||
425
docs/AI_MODULE_ARCHITECTURE.md
Normal file
425
docs/AI_MODULE_ARCHITECTURE.md
Normal file
|
|
@ -0,0 +1,425 @@
|
|||
# AeThex Engine - AI Assistant Module Architecture
|
||||
|
||||
## Vision
|
||||
An AI-powered coding assistant built directly into the AeThex Engine editor, providing
|
||||
realtime code completion, bug detection, documentation generation, and intelligent suggestions.
|
||||
|
||||
---
|
||||
|
||||
## Core Features
|
||||
|
||||
### 1. Smart Code Completion
|
||||
- Context-aware GDScript suggestions
|
||||
- Function parameter hints with AI explanations
|
||||
- Auto-completion that understands your project
|
||||
- Natural language to code generation
|
||||
|
||||
### 2. Intelligent Error Detection
|
||||
- Real-time bug detection
|
||||
- AI-powered fix suggestions
|
||||
- Performance optimization hints
|
||||
- Security vulnerability scanning
|
||||
|
||||
### 3. Documentation AI
|
||||
- Auto-generate function documentation
|
||||
- Explain complex code blocks
|
||||
- Generate tutorials from your code
|
||||
- API reference creator
|
||||
|
||||
### 4. Asset Intelligence
|
||||
- Texture optimization suggestions
|
||||
- Mesh LOD recommendations
|
||||
- Shader performance analysis
|
||||
- Asset naming conventions
|
||||
|
||||
### 5. Natural Language Commands
|
||||
- "Create a player controller"
|
||||
- "Add jump physics to this character"
|
||||
- "Generate a main menu UI"
|
||||
- "Debug why my player isn't moving"
|
||||
|
||||
---
|
||||
|
||||
## Technical Architecture
|
||||
|
||||
### Module Structure
|
||||
```
|
||||
engine/modules/aethex_ai/
|
||||
├── SCsub # Build configuration
|
||||
├── config.py # Module setup
|
||||
├── register_types.h/cpp # Godot module registration
|
||||
├── ai_assistant.h/cpp # Main AI assistant class
|
||||
├── ai_code_completion.h/cpp # Code completion engine
|
||||
├── ai_error_analyzer.h/cpp # Error detection & fixes
|
||||
├── ai_doc_generator.h/cpp # Documentation generation
|
||||
├── ai_asset_optimizer.h/cpp # Asset optimization
|
||||
├── api/
|
||||
│ ├── ai_api_client.h/cpp # API communication
|
||||
│ ├── claude_client.h/cpp # Claude API integration
|
||||
│ ├── rate_limiter.h/cpp # API rate limiting
|
||||
│ └── cache_manager.h/cpp # Response caching
|
||||
├── ui/
|
||||
│ ├── ai_panel.h/cpp # Main AI panel UI
|
||||
│ ├── ai_chat_widget.h/cpp # Chat interface
|
||||
│ └── ai_suggestions_panel.h/cpp # Suggestions display
|
||||
└── tests/
|
||||
└── test_ai_assistant.h # Unit tests
|
||||
```
|
||||
|
||||
### Core Classes
|
||||
|
||||
#### 1. AIAssistant (Singleton)
|
||||
```cpp
|
||||
class AIAssistant : public Object {
|
||||
GDCLASS(AIAssistant, Object);
|
||||
|
||||
private:
|
||||
static AIAssistant *singleton;
|
||||
AIAPIClient *api_client;
|
||||
CacheManager *cache;
|
||||
RateLimiter *rate_limiter;
|
||||
|
||||
public:
|
||||
// Code assistance
|
||||
String get_code_completion(const String &context, const Vector<String> &recent_code);
|
||||
String explain_code(const String &code_block);
|
||||
String fix_error(const String &error_message, const String &code_context);
|
||||
|
||||
// Documentation
|
||||
String generate_function_docs(const String &function_signature);
|
||||
String generate_class_docs(const String &class_code);
|
||||
|
||||
// Natural language
|
||||
String natural_language_to_code(const String &description, const String &context);
|
||||
|
||||
// Asset optimization
|
||||
Dictionary analyze_asset(const String &asset_path);
|
||||
String suggest_optimization(const String &asset_path);
|
||||
|
||||
static AIAssistant *get_singleton();
|
||||
};
|
||||
```
|
||||
|
||||
#### 2. AIAPIClient
|
||||
```cpp
|
||||
class AIAPIClient : public RefCounted {
|
||||
GDCLASS(AIAPIClient, RefCounted);
|
||||
|
||||
private:
|
||||
String api_key;
|
||||
String api_endpoint;
|
||||
HTTPClient *http_client;
|
||||
|
||||
struct PendingRequest {
|
||||
Callable callback;
|
||||
String request_id;
|
||||
uint64_t timestamp;
|
||||
};
|
||||
|
||||
HashMap<String, PendingRequest> pending_requests;
|
||||
|
||||
public:
|
||||
// Async API calls
|
||||
String send_completion_request(const String &prompt, const Callable &callback);
|
||||
String send_chat_request(const Vector<String> &messages, const Callable &callback);
|
||||
|
||||
// Sync API calls (with timeout)
|
||||
String send_completion_sync(const String &prompt, float timeout = 10.0);
|
||||
|
||||
// Configuration
|
||||
void set_api_key(const String &p_key);
|
||||
void set_endpoint(const String &p_endpoint);
|
||||
|
||||
Error initialize();
|
||||
};
|
||||
```
|
||||
|
||||
#### 3. AICodeCompletion (Editor Plugin)
|
||||
```cpp
|
||||
class AICodeCompletion : public EditorPlugin {
|
||||
GDCLASS(AICodeCompletion, EditorPlugin);
|
||||
|
||||
private:
|
||||
CodeEdit *current_editor;
|
||||
PopupMenu *suggestion_popup;
|
||||
Timer *completion_timer;
|
||||
String current_context;
|
||||
|
||||
void _on_text_changed();
|
||||
void _on_completion_timer_timeout();
|
||||
void _show_ai_suggestions(const Vector<String> &suggestions);
|
||||
|
||||
public:
|
||||
virtual String get_name() const override { return "AICodeCompletion"; }
|
||||
virtual void edit(Object *p_object) override;
|
||||
virtual bool handles(Object *p_object) const override;
|
||||
};
|
||||
```
|
||||
|
||||
#### 4. AIPanel (Editor Dock)
|
||||
```cpp
|
||||
class AIPanel : public VBoxContainer {
|
||||
GDCLASS(AIPanel, VBoxContainer);
|
||||
|
||||
private:
|
||||
TabContainer *tab_container;
|
||||
|
||||
// Tabs
|
||||
Control *chat_tab;
|
||||
Control *suggestions_tab;
|
||||
Control *docs_tab;
|
||||
|
||||
// Chat interface
|
||||
RichTextLabel *chat_history;
|
||||
LineEdit *chat_input;
|
||||
Button *send_button;
|
||||
|
||||
// Suggestions
|
||||
Tree *suggestions_tree;
|
||||
Button *apply_suggestion_button;
|
||||
|
||||
void _on_send_chat();
|
||||
void _on_apply_suggestion();
|
||||
void _update_suggestions();
|
||||
|
||||
public:
|
||||
void add_chat_message(const String &message, bool is_user);
|
||||
void show_suggestion(const String &title, const String &description, const String &code);
|
||||
};
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## API Integration
|
||||
|
||||
### Claude API (Anthropic)
|
||||
**Endpoint:** `https://api.anthropic.com/v1/messages`
|
||||
|
||||
**Request Format:**
|
||||
```json
|
||||
{
|
||||
"model": "claude-3-5-sonnet-20241022",
|
||||
"max_tokens": 1024,
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"content": "Generate a GDScript player controller with WASD movement"
|
||||
}
|
||||
],
|
||||
"system": "You are an expert game developer assistant for the AeThex Engine..."
|
||||
}
|
||||
```
|
||||
|
||||
### Rate Limiting
|
||||
- Free tier: 10 requests/minute
|
||||
- Pro tier: 100 requests/minute
|
||||
- Cache responses for 1 hour
|
||||
- Queue requests when rate limited
|
||||
|
||||
### Error Handling
|
||||
```cpp
|
||||
enum APIErrorCode {
|
||||
API_ERROR_NONE,
|
||||
API_ERROR_NETWORK,
|
||||
API_ERROR_AUTH,
|
||||
API_ERROR_RATE_LIMIT,
|
||||
API_ERROR_TIMEOUT,
|
||||
API_ERROR_INVALID_RESPONSE
|
||||
};
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## User Interface
|
||||
|
||||
### 1. AI Panel (Dock)
|
||||
- Bottom dock by default
|
||||
- Resizable, collapsible
|
||||
- Three tabs: Chat, Suggestions, Docs
|
||||
|
||||
### 2. Inline Suggestions
|
||||
- Ghost text in code editor
|
||||
- Accept with Tab, reject with Esc
|
||||
- Multiple suggestions with Alt+N
|
||||
|
||||
### 3. Context Menu Integration
|
||||
- Right-click → "Ask AI about this"
|
||||
- Right-click → "Generate docs"
|
||||
- Right-click → "Fix this error"
|
||||
|
||||
### 4. Command Palette
|
||||
- Ctrl+Shift+A → AI Command Palette
|
||||
- Type natural language commands
|
||||
- See AI-powered results instantly
|
||||
|
||||
---
|
||||
|
||||
## Configuration & Settings
|
||||
|
||||
### Editor Settings
|
||||
```cpp
|
||||
// In editor_settings.cpp
|
||||
EDITOR_SETTING(Variant::STRING, PROPERTY_HINT_NONE,
|
||||
"ai/api_key", "", "")
|
||||
EDITOR_SETTING(Variant::BOOL, PROPERTY_HINT_NONE,
|
||||
"ai/enable_code_completion", true, "")
|
||||
EDITOR_SETTING(Variant::BOOL, PROPERTY_HINT_NONE,
|
||||
"ai/enable_error_detection", true, "")
|
||||
EDITOR_SETTING(Variant::INT, PROPERTY_HINT_RANGE,
|
||||
"ai/suggestion_delay_ms", 500, "100,2000,10")
|
||||
EDITOR_SETTING(Variant::BOOL, PROPERTY_HINT_NONE,
|
||||
"ai/cache_responses", true, "")
|
||||
```
|
||||
|
||||
### User Preferences
|
||||
- API key (encrypted storage)
|
||||
- Enable/disable features
|
||||
- Suggestion delay
|
||||
- Privacy settings (opt-in telemetry)
|
||||
|
||||
---
|
||||
|
||||
## Privacy & Security
|
||||
|
||||
### Data Handling
|
||||
- **Never** send full project code
|
||||
- Only send relevant context (20 lines max)
|
||||
- Strip sensitive data (passwords, keys)
|
||||
- User explicitly opts-in
|
||||
|
||||
### API Key Storage
|
||||
```cpp
|
||||
// Encrypted storage using EditorSettings
|
||||
String encrypted_key = EditorSettings::get_singleton()
|
||||
->get_setting("ai/api_key_encrypted");
|
||||
String api_key = Crypto::decrypt_aes256(encrypted_key, machine_id);
|
||||
```
|
||||
|
||||
### Usage Tracking (Opt-in Only)
|
||||
- Number of requests
|
||||
- Popular features
|
||||
- Error rates
|
||||
- Anonymous metrics only
|
||||
|
||||
---
|
||||
|
||||
## Implementation Phases
|
||||
|
||||
### Phase 1: Foundation (Week 1-2)
|
||||
- [ ] Module structure & registration
|
||||
- [ ] API client implementation
|
||||
- [ ] Basic UI panel
|
||||
- [ ] Settings integration
|
||||
- [ ] Simple code completion
|
||||
|
||||
### Phase 2: Core Features (Week 3-4)
|
||||
- [ ] Enhanced code completion
|
||||
- [ ] Error detection & fixes
|
||||
- [ ] Documentation generation
|
||||
- [ ] Chat interface
|
||||
|
||||
### Phase 3: Advanced Features (Week 5-8)
|
||||
- [ ] Natural language commands
|
||||
- [ ] Asset optimization
|
||||
- [ ] Performance analysis
|
||||
- [ ] Multi-file context
|
||||
|
||||
### Phase 4: Polish & Optimization (Week 9-12)
|
||||
- [ ] Response caching
|
||||
- [ ] Rate limiting
|
||||
- [ ] Error handling
|
||||
- [ ] User testing & feedback
|
||||
|
||||
---
|
||||
|
||||
## Testing Strategy
|
||||
|
||||
### Unit Tests
|
||||
```cpp
|
||||
// test_ai_assistant.h
|
||||
TEST_CASE("[AIAssistant] Code completion") {
|
||||
AIAssistant *ai = AIAssistant::get_singleton();
|
||||
String result = ai->get_code_completion(
|
||||
"func _ready():\n\t",
|
||||
Vector<String>()
|
||||
);
|
||||
CHECK(result.contains("extends"));
|
||||
}
|
||||
```
|
||||
|
||||
### Integration Tests
|
||||
- Test with real API (sandboxed)
|
||||
- Mock API for CI/CD
|
||||
- Rate limiting behavior
|
||||
- Error recovery
|
||||
|
||||
### User Acceptance Testing
|
||||
- Beta testers from community
|
||||
- Collect feedback
|
||||
- Iterate quickly
|
||||
|
||||
---
|
||||
|
||||
## Metrics & Success Criteria
|
||||
|
||||
### Technical Metrics
|
||||
- Response time < 2 seconds
|
||||
- Cache hit rate > 60%
|
||||
- Error rate < 1%
|
||||
- API cost < $0.01/user/day
|
||||
|
||||
### User Metrics
|
||||
- Daily active users
|
||||
- Feature usage rates
|
||||
- User satisfaction (surveys)
|
||||
- Productivity improvement
|
||||
|
||||
---
|
||||
|
||||
## Future Enhancements
|
||||
|
||||
### Advanced AI Features
|
||||
- Multi-language support (C#, C++)
|
||||
- Voice commands
|
||||
- Visual scripting AI
|
||||
- Game design suggestions
|
||||
|
||||
### Model Improvements
|
||||
- Fine-tuned models on game dev code
|
||||
- Local AI models (privacy-first)
|
||||
- Specialized models for different tasks
|
||||
|
||||
### Ecosystem Integration
|
||||
- AI-generated assets
|
||||
- Procedural content generation
|
||||
- Game balancing suggestions
|
||||
- Playtesting AI
|
||||
|
||||
---
|
||||
|
||||
## Getting Started (Developer)
|
||||
|
||||
### 1. Get API Key
|
||||
```bash
|
||||
# Sign up at https://console.anthropic.com
|
||||
# Create API key
|
||||
# Add to AeThex settings
|
||||
```
|
||||
|
||||
### 2. Enable Module
|
||||
```bash
|
||||
# Build with AI module
|
||||
scons modules=aethex_ai
|
||||
```
|
||||
|
||||
### 3. Test in Editor
|
||||
```
|
||||
Editor → Settings → AI Assistant
|
||||
Enter API key
|
||||
Enable code completion
|
||||
Test with simple script
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Next Steps:** Implement Phase 1 foundation (API client + basic UI)
|
||||
118
docs/BUILDING_WINDOWS.md
Normal file
118
docs/BUILDING_WINDOWS.md
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
# Building AeThex Engine on Windows
|
||||
|
||||
## Prerequisites
|
||||
|
||||
1. **Python 3.6+**
|
||||
- Download from [python.org](https://www.python.org/downloads/)
|
||||
- Make sure to check "Add to PATH" during installation
|
||||
|
||||
2. **SCons Build Tool**
|
||||
```powershell
|
||||
pip install scons
|
||||
```
|
||||
|
||||
3. **Visual Studio 2022 Community** (Free)
|
||||
- Download from [visualstudio.microsoft.com](https://visualstudio.microsoft.com/downloads/)
|
||||
- Install "Desktop development with C++" workload
|
||||
- Includes MSVC compiler and Windows SDK
|
||||
|
||||
**OR**
|
||||
|
||||
**MinGW-w64** (Alternative)
|
||||
- Download from [winlibs.com](https://winlibs.com/)
|
||||
- Extract and add `bin` folder to PATH
|
||||
|
||||
## Build Steps
|
||||
|
||||
### Using PowerShell or Command Prompt:
|
||||
|
||||
```powershell
|
||||
# Clone repository (if not already done)
|
||||
git clone https://github.com/AeThex-LABS/AeThex-Engine-Core
|
||||
cd AeThex-Engine-Core\engine
|
||||
|
||||
# Build with MSVC (recommended)
|
||||
scons platform=windows target=editor -j4
|
||||
|
||||
# OR build with MinGW
|
||||
scons platform=windows target=editor use_mingw=yes -j4
|
||||
```
|
||||
|
||||
### Build Time
|
||||
- **First build**: 30-60 minutes
|
||||
- **CPU cores**: Use `-j4` or `-j8` based on your CPU
|
||||
- **RAM**: Recommend 8GB+ available
|
||||
|
||||
## Build Output
|
||||
|
||||
The executable will be created at:
|
||||
```
|
||||
engine\bin\aethex.windows.editor.x86_64.exe
|
||||
```
|
||||
|
||||
Or rename after build:
|
||||
```powershell
|
||||
cd engine\bin
|
||||
ren godot.windows.editor.x86_64.exe aethex.windows.editor.x86_64.exe
|
||||
```
|
||||
|
||||
## Running the Engine
|
||||
|
||||
```powershell
|
||||
cd engine\bin
|
||||
.\aethex.windows.editor.x86_64.exe
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Error: "MSVC not found"
|
||||
- Make sure Visual Studio 2022 is installed with C++ workload
|
||||
- Restart terminal after installation
|
||||
- Try running from "Developer Command Prompt for VS 2022"
|
||||
|
||||
### Error: "scons: command not found"
|
||||
- Ensure Python is in PATH
|
||||
- Run: `pip install --upgrade scons`
|
||||
- Restart terminal
|
||||
|
||||
### Error: "Out of memory"
|
||||
- Reduce parallel jobs: use `-j2` instead of `-j4`
|
||||
- Close other applications
|
||||
- Increase virtual memory in Windows settings
|
||||
|
||||
### Build too slow?
|
||||
- Use more CPU cores: `-j8` (match your CPU count)
|
||||
- Use SSD for faster compilation
|
||||
- Build in Release mode is faster than Debug
|
||||
|
||||
## Windows-Specific Features
|
||||
|
||||
AeThex Engine on Windows includes:
|
||||
- Native Windows UI integration
|
||||
- DirectX 12 / Vulkan rendering
|
||||
- Xbox controller support out-of-the-box
|
||||
- Windows-native file dialogs
|
||||
- Steam integration ready
|
||||
|
||||
## Cross-Platform Development
|
||||
|
||||
You can develop on Windows and export to:
|
||||
- Windows (native)
|
||||
- Linux
|
||||
- macOS
|
||||
- Android
|
||||
- iOS
|
||||
- Web (HTML5)
|
||||
- Consoles (with licenses)
|
||||
|
||||
## Next Steps
|
||||
|
||||
After building:
|
||||
1. Launch the editor
|
||||
2. Create a test project
|
||||
3. Configure AI features (add Claude API key)
|
||||
4. Start developing!
|
||||
|
||||
## GitHub Actions Alternative
|
||||
|
||||
Don't want to build locally? Push to GitHub and let CI/CD build for you automatically! Check `.github/workflows/build.yml` for the automated build pipeline.
|
||||
142
docs/CHANGES_COMPLETED.md
Normal file
142
docs/CHANGES_COMPLETED.md
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
# Quick Wins Completed! ✅
|
||||
|
||||
## Changes Made (February 23, 2026)
|
||||
|
||||
---
|
||||
|
||||
### ✅ Change 1: Engine Name & Identity
|
||||
**File:** `engine/version.py`
|
||||
|
||||
**Changed:**
|
||||
- `short_name` → "aethex"
|
||||
- `name` → "AeThex Engine"
|
||||
- `website` → Your GitHub repo
|
||||
|
||||
**Result:** All version strings, window titles, and references now say "AeThex Engine"
|
||||
|
||||
---
|
||||
|
||||
### ✅ Change 2: About Dialog
|
||||
**File:** `engine/editor/gui/editor_about.cpp`
|
||||
|
||||
**Added:**
|
||||
```
|
||||
© 2026-present AeThex Labs
|
||||
Powered by Godot Engine (MIT License)
|
||||
|
||||
© 2014-present Godot Engine contributors
|
||||
© 2007-2014 Juan Linietsky, Ariel Manzur
|
||||
```
|
||||
|
||||
**Result:** Proper AeThex branding with legal attribution to Godot
|
||||
|
||||
---
|
||||
|
||||
### ✅ Change 3: Theme Preparation
|
||||
**File:** `engine/editor/themes/editor_color_map.cpp`
|
||||
|
||||
**Added:** Comment markers for future color customization
|
||||
- Identified primary brand color location: `#478cbf` (Godot Blue)
|
||||
- Marked for future AeThex color scheme
|
||||
|
||||
**Next Step:** Choose your brand colors and update the hex codes
|
||||
|
||||
---
|
||||
|
||||
### ✅ Change 4: Placeholder Logos
|
||||
**Files Created:**
|
||||
- `engine/icon.svg` - Hexagon with "A^E" symbol
|
||||
- `engine/logo.svg` - Full "AeThex Engine" wordmark
|
||||
- `engine/icon_outlined.svg` - Outlined version
|
||||
- `engine/logo_outlined.svg` - Outlined wordmark
|
||||
|
||||
**Original Godot logos backed up to:** `engine/.original_godot_assets/`
|
||||
|
||||
**Design:** Blue hexagon with "A" and superscript "E", gradient fill
|
||||
- **Note:** These are placeholders! Improve them with proper design later.
|
||||
|
||||
---
|
||||
|
||||
### ⏭️ Change 5: Splash Screen
|
||||
**Status:** Deferred
|
||||
|
||||
**Reason:** Splash screens are project-specific (in exported games), not editor-level.
|
||||
The editor uses the logo files we already replaced.
|
||||
|
||||
**If needed later:** Modify `engine/editor/export/` for custom export splash screens
|
||||
|
||||
---
|
||||
|
||||
## Summary
|
||||
|
||||
**Files Modified:** 4
|
||||
**Logos Created:** 4
|
||||
**Build Required:** Yes (to see changes in action)
|
||||
|
||||
---
|
||||
|
||||
## What You'll See When You Build:
|
||||
|
||||
1. **Window Title:** "AeThex Engine" instead of "Godot Engine"
|
||||
2. **About Dialog:** Your copyright with Godot attribution
|
||||
3. **Icons:** Blue hexagon "A^E" logo (placeholder)
|
||||
4. **Binary Name:** `aethex.linuxbsd.editor.x86_64`
|
||||
|
||||
---
|
||||
|
||||
## Next Steps:
|
||||
|
||||
### Option A: Build & Test (See Your Changes!)
|
||||
```bash
|
||||
cd /workspaces/AeThex-Engine-Core/engine
|
||||
sudo apt-get update && sudo apt-get install -y build-essential scons pkg-config \
|
||||
libx11-dev libxcursor-dev libxinerama-dev libgl1-mesa-dev libglu-dev \
|
||||
libasound2-dev libpulse-dev libudev-dev libxi-dev libxrandr-dev
|
||||
scons platform=linuxbsd target=editor -j4
|
||||
./bin/aethex.linuxbsd.editor.x86_64
|
||||
```
|
||||
|
||||
### Option B: Commit Your Changes
|
||||
```bash
|
||||
cd /workspaces/AeThex-Engine-Core
|
||||
git add .
|
||||
git commit -m "Initial AeThex branding: name, logos, and about dialog"
|
||||
git push origin main
|
||||
```
|
||||
|
||||
### Option C: Improve the Logos
|
||||
- Use AI (DALL-E, Midjourney) to generate better graphics
|
||||
- Hire a designer on Fiverr
|
||||
- Use Figma/Inkscape to refine the hexagon concept
|
||||
- Just improve them over time!
|
||||
|
||||
### Option D: Continue Customizing
|
||||
- Choose brand colors (replace #478cbf throughout)
|
||||
- Add custom menu items
|
||||
- Implement first unique feature (AI assistant?)
|
||||
- Create welcome screen
|
||||
|
||||
---
|
||||
|
||||
## Your Progress: 🎯
|
||||
|
||||
**Phase 1: Basic Branding** (Current)
|
||||
- [✅] Engine name changed
|
||||
- [✅] Logos created (placeholder)
|
||||
- [✅] About dialog updated
|
||||
- [✅] Version strings updated
|
||||
- [⬜] Build & test
|
||||
- [⬜] Custom colors (marked for future)
|
||||
|
||||
**Phase 2: Deep Customization** (Next)
|
||||
- [ ] Professional logos
|
||||
- [ ] Custom theme colors
|
||||
- [ ] Welcome screen
|
||||
- [ ] First unique feature
|
||||
|
||||
---
|
||||
|
||||
**You've officially started the AeThex Engine!** 🚀
|
||||
|
||||
The foundation is set. Now you can build it and see your changes, or continue
|
||||
customizing before the first build. Either way, you're on your way!
|
||||
505
docs/CLOUD_SERVICES_ARCHITECTURE.md
Normal file
505
docs/CLOUD_SERVICES_ARCHITECTURE.md
Normal file
|
|
@ -0,0 +1,505 @@
|
|||
# AeThex Engine - Cloud Services Architecture
|
||||
|
||||
## Vision
|
||||
Cloud-first game engine infrastructure providing authentication, multiplayer backend,
|
||||
cloud saves, analytics, and asset delivery - making online games trivial to build.
|
||||
|
||||
---
|
||||
|
||||
## Core Services
|
||||
|
||||
### 1. Authentication & User Management
|
||||
- Email/password, OAuth (Google, GitHub, Discord)
|
||||
- User profiles and preferences
|
||||
- Team/organization management
|
||||
- Permission systems
|
||||
|
||||
### 2. Cloud Saves & Sync
|
||||
- Automatic save game cloud sync
|
||||
- Cross-platform save compatibility
|
||||
- Conflict resolution
|
||||
- Version history
|
||||
|
||||
### 3. Multiplayer Backend
|
||||
- Matchmaking service
|
||||
- Real-time relay servers
|
||||
- P2P connection facilitation
|
||||
- Voice/text chat infrastructure
|
||||
|
||||
### 4. Analytics & Telemetry
|
||||
- Player behavior tracking
|
||||
- Performance metrics
|
||||
- Crash reporting
|
||||
- A/B testing framework
|
||||
|
||||
### 5. Asset Delivery Network (CDN)
|
||||
- DLC/update distribution
|
||||
- Asset streaming
|
||||
- Version management
|
||||
- Bandwidth optimization
|
||||
|
||||
### 6. Leaderboards & Achievements
|
||||
- Global/friend leaderboards
|
||||
- Achievement system
|
||||
- Player statistics
|
||||
- Social features
|
||||
|
||||
---
|
||||
|
||||
## System Architecture
|
||||
|
||||
### High-Level Overview
|
||||
```
|
||||
┌─────────────────────────────────────────────────────┐
|
||||
│ AeThex Game (Client) │
|
||||
│ ┌──────────────────────────────────────────────┐ │
|
||||
│ │ AeThex Cloud SDK (GDScript/C++) │ │
|
||||
│ │ • Auth • Saves • Multiplayer • Analytics │ │
|
||||
│ └──────────────────────────────────────────────┘ │
|
||||
│ ↓ HTTPS/WebSocket ↓ │
|
||||
└─────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌─────────────────────────────────────────────────────┐
|
||||
│ API Gateway (Load Balancer) │
|
||||
│ • Rate Limiting • Authentication │
|
||||
│ • Request Routing • SSL Termination │
|
||||
└─────────────────────────────────────────────────────┘
|
||||
↓
|
||||
┌──────────────┬──────────────┬──────────────┬─────────┐
|
||||
│ Auth │ Saves │ Multiplayer │Analytics│
|
||||
│ Service │ Service │ Service │ Service │
|
||||
│ │ │ │ │
|
||||
│ Node.js │ Go/Rust │ C++/Rust │ Python │
|
||||
│ PostgreSQL │ S3/Object │ WebSocket │ ClickH.│
|
||||
└──────────────┴──────────────┴──────────────┴─────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Module Structure (Engine Side)
|
||||
|
||||
```
|
||||
engine/modules/aethex_cloud/
|
||||
├── SCsub
|
||||
├── config.py
|
||||
├── register_types.h/cpp
|
||||
├── aethex_cloud.h/cpp # Main singleton
|
||||
├── auth/
|
||||
│ ├── auth_manager.h/cpp # Authentication
|
||||
│ ├── user_profile.h/cpp # User data
|
||||
│ └── session_manager.h/cpp # Session handling
|
||||
├── saves/
|
||||
│ ├── cloud_save_manager.h/cpp # Save sync
|
||||
│ ├── save_conflict_resolver.h/cpp
|
||||
│ └── save_metadata.h/cpp
|
||||
├── multiplayer/
|
||||
│ ├── matchmaking.h/cpp # Matchmaking
|
||||
│ ├── relay_client.h/cpp # Relay connection
|
||||
│ ├── voice_chat.h/cpp # Voice integration
|
||||
│ └── room_manager.h/cpp # Room/lobby system
|
||||
├── analytics/
|
||||
│ ├── analytics_manager.h/cpp # Event tracking
|
||||
│ ├── crash_reporter.h/cpp # Crash reports
|
||||
│ └── performance_tracker.h/cpp # Performance
|
||||
├── cdn/
|
||||
│ ├── asset_downloader.h/cpp # Asset loading
|
||||
│ ├── dlc_manager.h/cpp # DLC handling
|
||||
│ └── update_checker.h/cpp # Updates
|
||||
├── social/
|
||||
│ ├── leaderboard.h/cpp # Leaderboards
|
||||
│ ├── achievements.h/cpp # Achievements
|
||||
│ └── friends_list.h/cpp # Social features
|
||||
├── api/
|
||||
│ ├── http_client.h/cpp # HTTP requests
|
||||
│ ├── websocket_client.h/cpp # WebSocket
|
||||
│ └── api_request.h/cpp # Request builder
|
||||
└── ui/
|
||||
├── auth_dialog.h/cpp # Login UI
|
||||
├── cloud_panel.h/cpp # Cloud dashboard
|
||||
└── analytics_viewer.h/cpp # Analytics view
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Backend Services
|
||||
|
||||
### Tech Stack Recommendation
|
||||
|
||||
#### Authentication Service
|
||||
**Technology:** Node.js + Express + PostgreSQL
|
||||
**Responsibilities:**
|
||||
- User registration/login
|
||||
- JWT token generation
|
||||
- OAuth integration
|
||||
- Password reset
|
||||
- Email verification
|
||||
|
||||
**API Endpoints:**
|
||||
```
|
||||
POST /api/v1/auth/register
|
||||
POST /api/v1/auth/login
|
||||
POST /api/v1/auth/refresh
|
||||
POST /api/v1/auth/logout
|
||||
GET /api/v1/auth/profile
|
||||
PUT /api/v1/auth/profile
|
||||
POST /api/v1/auth/oauth/google
|
||||
```
|
||||
|
||||
#### Cloud Save Service
|
||||
**Technology:** Go/Rust + S3/MinIO
|
||||
**Responsibilities:**
|
||||
- Store save game data
|
||||
- Version management
|
||||
- Conflict resolution
|
||||
- Compression
|
||||
|
||||
**API Endpoints:**
|
||||
```
|
||||
GET /api/v1/saves/:user_id
|
||||
POST /api/v1/saves/:user_id
|
||||
GET /api/v1/saves/:user_id/:save_id
|
||||
DELETE /api/v1/saves/:user_id/:save_id
|
||||
GET /api/v1/saves/:user_id/history
|
||||
```
|
||||
|
||||
#### Multiplayer Service
|
||||
**Technology:** C++/Rust + WebSocket/UDP
|
||||
**Responsibilities:**
|
||||
- Real-time relay
|
||||
- Matchmaking
|
||||
- Room management
|
||||
- Voice chat (WebRTC)
|
||||
|
||||
**WebSocket Events:**
|
||||
```
|
||||
// Client → Server
|
||||
join_room
|
||||
leave_room
|
||||
send_message
|
||||
player_state_update
|
||||
|
||||
// Server → Client
|
||||
room_joined
|
||||
room_left
|
||||
player_joined
|
||||
player_left
|
||||
state_update
|
||||
```
|
||||
|
||||
#### Analytics Service
|
||||
**Technology:** Python/Go + ClickHouse/TimescaleDB
|
||||
**Responsibilities:**
|
||||
- Event ingestion
|
||||
- Real-time analytics
|
||||
- Crash report storage
|
||||
- Query API
|
||||
|
||||
---
|
||||
|
||||
## Client SDK (GDScript API)
|
||||
|
||||
### Authentication
|
||||
```gdscript
|
||||
# Singleton: AeThexCloud
|
||||
|
||||
# Login
|
||||
var result = await AeThexCloud.auth.login_email("user@example.com", "password")
|
||||
if result.success:
|
||||
print("Logged in as: ", result.user.username)
|
||||
|
||||
# OAuth Login
|
||||
AeThexCloud.auth.login_oauth("google")
|
||||
|
||||
# Get current user
|
||||
var user = AeThexCloud.auth.get_current_user()
|
||||
print(user.email, user.username, user.avatar_url)
|
||||
|
||||
# Logout
|
||||
AeThexCloud.auth.logout()
|
||||
```
|
||||
|
||||
### Cloud Saves
|
||||
```gdscript
|
||||
# Save game to cloud
|
||||
var save_data = {
|
||||
"level": 5,
|
||||
"health": 100,
|
||||
"inventory": ["sword", "shield"],
|
||||
"position": Vector3(10, 0, 20)
|
||||
}
|
||||
|
||||
var result = await AeThexCloud.saves.save("slot1", save_data)
|
||||
if result.success:
|
||||
print("Game saved to cloud")
|
||||
|
||||
# Load from cloud
|
||||
var loaded = await AeThexCloud.saves.load("slot1")
|
||||
if loaded.success:
|
||||
var data = loaded.data
|
||||
player.level = data.level
|
||||
player.health = data.health
|
||||
|
||||
# List all saves
|
||||
var saves_list = await AeThexCloud.saves.list()
|
||||
for save in saves_list:
|
||||
print(save.name, save.timestamp, save.size)
|
||||
|
||||
# Auto-sync (background)
|
||||
AeThexCloud.saves.enable_auto_sync(true)
|
||||
```
|
||||
|
||||
### Multiplayer
|
||||
```gdscript
|
||||
# Join matchmaking
|
||||
AeThexCloud.multiplayer.matchmaking.join_queue({
|
||||
"mode": "deathmatch",
|
||||
"region": "us-east",
|
||||
"skill_range": [1000, 1500]
|
||||
})
|
||||
|
||||
# Handle match found
|
||||
AeThexCloud.multiplayer.matchmaking.match_found.connect(func(match_info):
|
||||
print("Match found! Joining room: ", match_info.room_id)
|
||||
AeThexCloud.multiplayer.join_room(match_info.room_id)
|
||||
)
|
||||
|
||||
# Send player state
|
||||
AeThexCloud.multiplayer.send_state({
|
||||
"position": player.position,
|
||||
"rotation": player.rotation,
|
||||
"health": player.health
|
||||
})
|
||||
|
||||
# Receive other players' state
|
||||
AeThexCloud.multiplayer.player_state_received.connect(func(player_id, state):
|
||||
var other_player = get_node("Player_" + str(player_id))
|
||||
other_player.position = state.position
|
||||
other_player.rotation = state.rotation
|
||||
)
|
||||
|
||||
# Voice chat
|
||||
AeThexCloud.multiplayer.voice.enable(true)
|
||||
AeThexCloud.multiplayer.voice.mute_player(player_id, true)
|
||||
```
|
||||
|
||||
### Analytics
|
||||
```gdscript
|
||||
# Track events
|
||||
AeThexCloud.analytics.track_event("level_completed", {
|
||||
"level": 5,
|
||||
"time": 120.5,
|
||||
"deaths": 3
|
||||
})
|
||||
|
||||
# Track custom metrics
|
||||
AeThexCloud.analytics.track_metric("fps", Engine.get_frames_per_second())
|
||||
|
||||
# Track screen view
|
||||
AeThexCloud.analytics.track_screen("main_menu")
|
||||
|
||||
# User properties
|
||||
AeThexCloud.analytics.set_user_property("vip_status", true)
|
||||
|
||||
# Crash reporting (automatic)
|
||||
AeThexCloud.analytics.enable_crash_reporting(true)
|
||||
```
|
||||
|
||||
### Leaderboards
|
||||
```gdscript
|
||||
# Submit score
|
||||
AeThexCloud.social.leaderboards.submit_score("high_scores", 1000)
|
||||
|
||||
# Get leaderboard
|
||||
var leaderboard = await AeThexCloud.social.leaderboards.get("high_scores", {
|
||||
"range": "global", # or "friends"
|
||||
"limit": 10
|
||||
})
|
||||
|
||||
for entry in leaderboard:
|
||||
print(entry.rank, entry.username, entry.score)
|
||||
```
|
||||
|
||||
### Achievements
|
||||
```gdscript
|
||||
# Unlock achievement
|
||||
AeThexCloud.social.achievements.unlock("first_kill")
|
||||
|
||||
# Track progress
|
||||
AeThexCloud.social.achievements.set_progress("kill_100_enemies", 45)
|
||||
|
||||
# Get all achievements
|
||||
var achievements = await AeThexCloud.social.achievements.get_all()
|
||||
for ach in achievements:
|
||||
print(ach.name, ach.unlocked, ach.progress)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Security & Privacy
|
||||
|
||||
### Authentication
|
||||
- JWT tokens with short expiry (15 min)
|
||||
- Refresh tokens (30 days)
|
||||
- Secure password hashing (bcrypt/argon2)
|
||||
- Rate limiting on auth endpoints
|
||||
- CAPTCHA for registration
|
||||
|
||||
### Data Encryption
|
||||
- TLS 1.3 for all communications
|
||||
- At-rest encryption for save data
|
||||
- End-to-end encryption for voice chat
|
||||
- Encrypted credentials storage
|
||||
|
||||
### Privacy
|
||||
- GDPR compliant
|
||||
- COPPA compliant (for kids' games)
|
||||
- Opt-in analytics only
|
||||
- Data deletion on request
|
||||
- Privacy policy integration
|
||||
|
||||
---
|
||||
|
||||
## Pricing Model
|
||||
|
||||
### Free Tier
|
||||
- 5,000 monthly active users
|
||||
- 1 GB cloud saves per user
|
||||
- 100 GB CDN bandwidth
|
||||
- Basic analytics
|
||||
- Community support
|
||||
|
||||
### Pro Tier ($99/month)
|
||||
- 50,000 MAU
|
||||
- 5 GB cloud saves per user
|
||||
- 1 TB CDN bandwidth
|
||||
- Advanced analytics
|
||||
- Priority support
|
||||
- Custom branding
|
||||
|
||||
### Enterprise (Custom)
|
||||
- Unlimited MAU
|
||||
- Custom storage
|
||||
- Dedicated servers
|
||||
- 24/7 support
|
||||
- SLA guarantees
|
||||
- White-label options
|
||||
|
||||
---
|
||||
|
||||
## Implementation Phases
|
||||
|
||||
### Phase 1: Foundation (Month 1-2)
|
||||
- [ ] Basic auth service
|
||||
- [ ] Simple cloud saves
|
||||
- [ ] API client in engine
|
||||
- [ ] UI dialogs
|
||||
|
||||
### Phase 2: Multiplayer (Month 3-4)
|
||||
- [ ] Matchmaking service
|
||||
- [ ] Relay servers
|
||||
- [ ] Room management
|
||||
- [ ] Basic voice chat
|
||||
|
||||
### Phase 3: Analytics (Month 5-6)
|
||||
- [ ] Event tracking
|
||||
- [ ] Crash reporting
|
||||
- [ ] Dashboard UI
|
||||
- [ ] Query system
|
||||
|
||||
### Phase 4: Social (Month 7-8)
|
||||
- [ ] Leaderboards
|
||||
- [ ] Achievements
|
||||
- [ ] Friends system
|
||||
- [ ] Social sharing
|
||||
|
||||
### Phase 5: CDN & DLC (Month 9-12)
|
||||
- [ ] Asset delivery
|
||||
- [ ] DLC management
|
||||
- [ ] Update system
|
||||
- [ ] Version control
|
||||
|
||||
---
|
||||
|
||||
## Deployment
|
||||
|
||||
### Infrastructure (Kubernetes)
|
||||
```yaml
|
||||
# Simplified deployment structure
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: aethex-auth-service
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app: aethex-auth
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: aethex-auth
|
||||
spec:
|
||||
containers:
|
||||
- name: auth
|
||||
image: aethex/auth-service:latest
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
env:
|
||||
- name: DATABASE_URL
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: db-credentials
|
||||
key: url
|
||||
```
|
||||
|
||||
### Monitoring
|
||||
- Prometheus + Grafana
|
||||
- Error tracking (Sentry)
|
||||
- Log aggregation (ELK/Loki)
|
||||
- Uptime monitoring
|
||||
- Cost tracking
|
||||
|
||||
---
|
||||
|
||||
## Migration Path
|
||||
|
||||
### For Developers
|
||||
1. Install AeThex Cloud module
|
||||
2. Sign up for cloud account
|
||||
3. Get API keys
|
||||
4. Add cloud SDK to project
|
||||
5. Implement auth/saves/multiplayer
|
||||
6. Test thoroughly
|
||||
7. Deploy games with cloud features
|
||||
|
||||
### For Players
|
||||
1. Create AeThex account (optional)
|
||||
2. Cloud saves work automatically
|
||||
3. Multiplayer just works
|
||||
4. Cross-platform progress
|
||||
|
||||
---
|
||||
|
||||
## Competitive Advantages
|
||||
|
||||
**vs. Custom Backend:**
|
||||
- Zero infrastructure management
|
||||
- Built-in best practices
|
||||
- Automatic scaling
|
||||
- Cost-effective
|
||||
|
||||
**vs. PlayFab/GameSparks:**
|
||||
- Engine-integrated (not third-party)
|
||||
- Open-source friendly
|
||||
- More affordable
|
||||
- Better DX for AeThex users
|
||||
|
||||
**vs. Epic Online Services:**
|
||||
- Language-agnostic
|
||||
- No platform lock-in
|
||||
- More flexible pricing
|
||||
- Indie-friendly
|
||||
|
||||
---
|
||||
|
||||
**Next Steps:** Build auth service MVP + basic cloud saves
|
||||
385
docs/CUSTOMIZATION_PLAN.md
Normal file
385
docs/CUSTOMIZATION_PLAN.md
Normal file
|
|
@ -0,0 +1,385 @@
|
|||
# AeThex Engine Customization Plan
|
||||
|
||||
## 🎯 Mission: Transform Godot → AeThex
|
||||
|
||||
This document outlines all changes needed to rebrand and customize the engine.
|
||||
|
||||
---
|
||||
|
||||
## Phase 1: Basic Branding (Quick Wins - 1-2 hours)
|
||||
|
||||
### 1.1 Engine Identity (`engine/version.py`)
|
||||
**Current:**
|
||||
```python
|
||||
short_name = "godot"
|
||||
name = "Godot Engine"
|
||||
website = "https://godotengine.org"
|
||||
```
|
||||
|
||||
**Change to:**
|
||||
```python
|
||||
short_name = "aethex"
|
||||
name = "AeThex Engine"
|
||||
website = "https://aethex.io" # or your domain
|
||||
```
|
||||
|
||||
**Impact:** Changes all version strings, window titles, splash screens
|
||||
|
||||
---
|
||||
|
||||
### 1.2 Visual Branding (Logo & Icons)
|
||||
**Files to replace:**
|
||||
```
|
||||
engine/icon.svg → AeThex editor icon
|
||||
engine/icon.png → PNG version
|
||||
engine/logo.svg → Main logo
|
||||
engine/logo.png → PNG version
|
||||
engine/icon_outlined.svg → Outlined variant
|
||||
engine/logo_outlined.svg → Outlined logo variant
|
||||
```
|
||||
|
||||
**Required:** Create AeThex logos in SVG format (scalable)
|
||||
**Tool:** Use Inkscape, Figma, or AI generation
|
||||
|
||||
**Specs:**
|
||||
- Icon: 256x256px, simple, recognizable
|
||||
- Logo: Horizontal layout, clean typography
|
||||
- Colors: Choose brand palette (2-3 colors)
|
||||
|
||||
---
|
||||
|
||||
### 1.3 About Dialog (`engine/editor/gui/editor_about.cpp`)
|
||||
|
||||
**Line 57-59, Change:**
|
||||
```cpp
|
||||
String(U"© 2014-present ") + TTR("Godot Engine contributors") + ".\n" +
|
||||
String(U"© 2007-2014 Juan Linietsky, Ariel Manzur.\n")
|
||||
```
|
||||
|
||||
**To:**
|
||||
```cpp
|
||||
String(U"© 2026-present AeThex Labs.\n") +
|
||||
String(U"Powered by Godot Engine (MIT License)\n") +
|
||||
String(U"© 2014-present Godot Engine contributors.\n")
|
||||
```
|
||||
|
||||
**Why:** Legal requirement - acknowledge Godot's MIT license
|
||||
|
||||
---
|
||||
|
||||
### 1.4 Splash Screen (`engine/editor/splash.cpp` - if exists)
|
||||
- Replace splash image with AeThex branding
|
||||
- Update loading text
|
||||
- Customize colors
|
||||
|
||||
---
|
||||
|
||||
## Phase 2: Deep Customization (Week 1-2)
|
||||
|
||||
### 2.1 User Interface Theme
|
||||
|
||||
**Files to modify:**
|
||||
```
|
||||
engine/editor/themes/editor_theme_manager.cpp
|
||||
engine/editor/editor_themes.cpp
|
||||
```
|
||||
|
||||
**Changes:**
|
||||
- Custom color scheme (brand colors)
|
||||
- Font changes (if desired)
|
||||
- Icon theme (replace Godot icons with AeThex icons)
|
||||
- Corner radius, borders, shadows
|
||||
|
||||
**Strategy:** Create "AeThex Theme" as default
|
||||
|
||||
---
|
||||
|
||||
### 2.2 Default Settings
|
||||
|
||||
**File:** `engine/editor/editor_settings.cpp`
|
||||
|
||||
**Custom defaults:**
|
||||
```cpp
|
||||
// Add AeThex default settings
|
||||
EDITOR_SETTING(Variant::STRING, PROPERTY_HINT_NONE, "network/cloud_api_url",
|
||||
"https://api.aethex.io", "")
|
||||
EDITOR_SETTING(Variant::BOOL, PROPERTY_HINT_NONE, "aethex/enable_ai_assist",
|
||||
true, "")
|
||||
EDITOR_SETTING(Variant::STRING, PROPERTY_HINT_NONE, "aethex/theme",
|
||||
"aethex_dark", "")
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 2.3 Welcome Screen
|
||||
|
||||
**File:** `engine/editor/project_manager.cpp`
|
||||
|
||||
**Add:**
|
||||
- AeThex getting started content
|
||||
- Links to AeThex docs/tutorials
|
||||
- Featured templates
|
||||
- "Create with AI" button (future)
|
||||
|
||||
---
|
||||
|
||||
### 2.4 Menu Items
|
||||
|
||||
**File:** `engine/editor/editor_node.cpp`
|
||||
|
||||
**Add custom menus:**
|
||||
```
|
||||
Menu Bar → "AeThex"
|
||||
├─ Cloud Services
|
||||
├─ AI Assistant
|
||||
├─ Marketplace
|
||||
├─ Documentation
|
||||
└─ Community
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Phase 3: Unique Features (Month 1-3)
|
||||
|
||||
### 3.1 AI Integration Module
|
||||
|
||||
**Create:** `engine/modules/aethex_ai/`
|
||||
|
||||
**Features:**
|
||||
- Code completion via Claude API
|
||||
- Asset generation
|
||||
- Bug detection
|
||||
- Documentation generation
|
||||
|
||||
**Files:**
|
||||
```
|
||||
modules/aethex_ai/
|
||||
├─ SCsub
|
||||
├─ config.py
|
||||
├─ register_types.h/cpp
|
||||
├─ ai_assistant.h/cpp
|
||||
└─ ai_api_client.h/cpp
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 3.2 Cloud Services Module
|
||||
|
||||
**Create:** `engine/modules/aethex_cloud/`
|
||||
|
||||
**Features:**
|
||||
- User authentication
|
||||
- Cloud saves
|
||||
- Multiplayer backend
|
||||
- Analytics
|
||||
- Asset delivery
|
||||
|
||||
**Backend:** Separate service (Rust/Go/Node.js)
|
||||
|
||||
---
|
||||
|
||||
### 3.3 Enhanced Asset Pipeline
|
||||
|
||||
**Modify:** `engine/editor/import/`
|
||||
|
||||
**Add:**
|
||||
- AI-powered texture optimization
|
||||
- Automatic LOD generation
|
||||
- Smart compression
|
||||
- Asset tagging and search
|
||||
|
||||
---
|
||||
|
||||
### 3.4 Collaborative Editing
|
||||
|
||||
**Create:** `engine/modules/aethex_collab/`
|
||||
|
||||
**Features:**
|
||||
- Real-time scene editing (multiple users)
|
||||
- Change tracking
|
||||
- Conflict resolution
|
||||
- Chat/voice integration
|
||||
|
||||
---
|
||||
|
||||
## Phase 4: Platform & Export (Month 3-6)
|
||||
|
||||
### 4.1 Custom Export Templates
|
||||
|
||||
**Modify:** `engine/platform/*/export/`
|
||||
|
||||
**Add:**
|
||||
- AeThex branding in exported games
|
||||
- Analytics SDK integration
|
||||
- Crash reporting
|
||||
- Auto-update system
|
||||
|
||||
---
|
||||
|
||||
### 4.2 Web Export Enhancements
|
||||
|
||||
**Target:** Progressive Web Apps (PWA)
|
||||
- Service worker integration
|
||||
- Offline support
|
||||
- App manifest
|
||||
- Install prompts
|
||||
|
||||
---
|
||||
|
||||
## Phase 5: Ecosystem (Month 6-12)
|
||||
|
||||
### 5.1 Asset Marketplace Integration
|
||||
- Browse and download from editor
|
||||
- One-click import
|
||||
- License management
|
||||
- Revenue sharing system
|
||||
|
||||
### 5.2 Template Library
|
||||
- Game templates (RPG, Platformer, FPS)
|
||||
- UI kits
|
||||
- Shader packs
|
||||
- Tool presets
|
||||
|
||||
### 5.3 Plugin System Extensions
|
||||
- Enhanced plugin API
|
||||
- Plugin marketplace
|
||||
- Auto-updates for plugins
|
||||
- Sandboxed execution
|
||||
|
||||
---
|
||||
|
||||
## Code Search & Replace Guide
|
||||
|
||||
### Global Text Replacements (Be Careful!)
|
||||
|
||||
**After testing, use find/replace:**
|
||||
```bash
|
||||
# Find all "Godot" references (case sensitive)
|
||||
grep -r "Godot" engine/ --include="*.cpp" --include="*.h" | wc -l
|
||||
|
||||
# Don't blindly replace - many are in licenses/comments!
|
||||
```
|
||||
|
||||
**Safe to replace:**
|
||||
- UI strings (after TTR() translation markers)
|
||||
- Window titles
|
||||
- Default project names
|
||||
- Documentation links
|
||||
|
||||
**DON'T replace:**
|
||||
- License text
|
||||
- Third-party library references
|
||||
- Code identifiers (class names, etc.)
|
||||
|
||||
---
|
||||
|
||||
## Testing Strategy
|
||||
|
||||
### After Each Phase:
|
||||
1. **Compile test** - Does it build?
|
||||
2. **Smoke test** - Does editor launch?
|
||||
3. **Feature test** - Does functionality work?
|
||||
4. **Visual test** - Does branding look right?
|
||||
5. **Regression test** - Did we break anything?
|
||||
|
||||
### Test Projects:
|
||||
- 2D platformer
|
||||
- 3D first-person
|
||||
- UI-heavy application
|
||||
- Multiplayer game
|
||||
|
||||
---
|
||||
|
||||
## Rebranding Checklist
|
||||
|
||||
- [ ] `version.py` - Engine name and version
|
||||
- [ ] Logo files (SVG + PNG)
|
||||
- [ ] About dialog copyright
|
||||
- [ ] Splash screen
|
||||
- [ ] Editor theme colors
|
||||
- [ ] Default project templates
|
||||
- [ ] Documentation URLs
|
||||
- [ ] Community links
|
||||
- [ ] Export templates branding
|
||||
- [ ] Installer/package names
|
||||
- [ ] Binary names (godot → aethex)
|
||||
- [ ] GitHub repo links
|
||||
- [ ] Bug report URLs
|
||||
|
||||
---
|
||||
|
||||
## Legal Considerations
|
||||
|
||||
### Must Keep:
|
||||
✅ Godot MIT license in source files
|
||||
✅ Attribution to original authors
|
||||
✅ Third-party library licenses
|
||||
✅ "Powered by Godot Engine" mention
|
||||
|
||||
### You Can Add:
|
||||
✅ Your own copyright for modifications
|
||||
✅ Additional licenses for your code
|
||||
✅ Trademark for "AeThex" name
|
||||
✅ Proprietary extensions (closed-source)
|
||||
|
||||
---
|
||||
|
||||
## Build Configuration
|
||||
|
||||
### Custom Build Flags
|
||||
**Add to:** `engine/SConstruct`
|
||||
|
||||
```python
|
||||
# AeThex-specific build options
|
||||
opts.Add(BoolVariable("aethex_cloud", "Enable AeThex Cloud features", True))
|
||||
opts.Add(BoolVariable("aethex_ai", "Enable AI Assistant", True))
|
||||
opts.Add(BoolVariable("aethex_telemetry", "Enable telemetry", False))
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Documentation to Update
|
||||
|
||||
1. **README.md** - Project description
|
||||
2. **CONTRIBUTING.md** - Contribution guidelines
|
||||
3. **Building docs** - Custom build instructions
|
||||
4. **API docs** - AeThex-specific APIs
|
||||
5. **Tutorials** - Getting started guides
|
||||
|
||||
---
|
||||
|
||||
## Priority Order (Solo Developer)
|
||||
|
||||
### Week 1: Foundation ⭐⭐⭐
|
||||
- [ ] Change version.py
|
||||
- [ ] Create basic logo (even temporary)
|
||||
- [ ] Update about dialog
|
||||
- [ ] Test build
|
||||
|
||||
### Week 2-3: Make it Yours ⭐⭐
|
||||
- [ ] Custom theme/colors
|
||||
- [ ] Update all branding text
|
||||
- [ ] Polish UI
|
||||
- [ ] First unique feature (pick easiest)
|
||||
|
||||
### Month 2-3: First Unique Value ⭐
|
||||
- [ ] AI assistant OR cloud sync (pick one)
|
||||
- [ ] Enhanced export
|
||||
- [ ] Better onboarding
|
||||
|
||||
### Month 4-6: Ecosystem
|
||||
- [ ] Plugin marketplace
|
||||
- [ ] Templates
|
||||
- [ ] Documentation site
|
||||
- [ ] Community tools
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
1. **Review this plan** - What excites you most?
|
||||
2. **Choose Phase 1 task** - Start with version.py?
|
||||
3. **Create AeThex logo** - Use AI to generate?
|
||||
4. **Make first edit** - Change the engine name!
|
||||
|
||||
Ready to start making changes? Tell me which task to tackle first! 🚀
|
||||
91
docs/GETTING_STARTED.md
Normal file
91
docs/GETTING_STARTED.md
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
# Getting Started with AeThex Engine
|
||||
|
||||
## Your Journey Starts Here 🚀
|
||||
|
||||
Don't worry if this feels overwhelming - we'll take it step by step!
|
||||
|
||||
## What You Have Right Now
|
||||
|
||||
✅ Godot Engine source code (in the `engine/` folder)
|
||||
✅ Project structure set up
|
||||
✅ This awesome documentation
|
||||
|
||||
## What You Need to Do Next
|
||||
|
||||
### Step 1: Install Build Tools (5 minutes)
|
||||
|
||||
Run this command to install everything you need:
|
||||
```bash
|
||||
sudo apt-get update && sudo apt-get install -y \
|
||||
build-essential scons pkg-config libx11-dev libxcursor-dev \
|
||||
libxinerama-dev libgl1-mesa-dev libglu-dev libasound2-dev \
|
||||
libpulse-dev libudev-dev libxi-dev libxrandr-dev
|
||||
```
|
||||
|
||||
### Step 2: Build Your First Engine (15-30 minutes)
|
||||
|
||||
```bash
|
||||
cd /workspaces/AeThex-Engine-Core/engine
|
||||
scons platform=linuxbsd target=editor -j4
|
||||
```
|
||||
|
||||
This will compile the engine. Grab a coffee ☕ - it takes a while the first time!
|
||||
|
||||
### Step 3: Run It!
|
||||
|
||||
```bash
|
||||
./bin/godot.linuxbsd.editor.x86_64
|
||||
```
|
||||
|
||||
🎉 **Congratulations!** You just built a game engine from source!
|
||||
|
||||
## Common Issues & Solutions
|
||||
|
||||
### "scons: command not found"
|
||||
→ Run the install command from Step 1
|
||||
|
||||
### Build fails with "missing header"
|
||||
→ Make sure all dependencies are installed (Step 1)
|
||||
|
||||
### Build takes forever
|
||||
→ That's normal for the first build! Subsequent builds are much faster
|
||||
|
||||
### I'm stuck!
|
||||
→ Ask Claude (me!) for help - just describe what's happening
|
||||
|
||||
## What's Next?
|
||||
|
||||
Once you have the engine built:
|
||||
1. **Explore** - Click around, see how it works
|
||||
2. **Customize** - Start changing colors, text, features
|
||||
3. **Learn** - Check out Godot tutorials to understand the codebase
|
||||
4. **Build** - Add your first unique AeThex feature!
|
||||
|
||||
## Pro Tips
|
||||
|
||||
- Use `-j4` or `-j8` flag to compile faster (parallel jobs)
|
||||
- The engine remembers what's compiled - rebuilds are quick!
|
||||
- Change one small thing at a time
|
||||
- Test frequently
|
||||
- Ask Claude for help anytime
|
||||
|
||||
## Your First Customization Ideas
|
||||
|
||||
**Easy:**
|
||||
- Change the splash screen logo
|
||||
- Modify the default project name
|
||||
- Add a custom color theme
|
||||
|
||||
**Medium:**
|
||||
- Add a new menu item
|
||||
- Create a custom export template
|
||||
- Build a new tool window
|
||||
|
||||
**Advanced:**
|
||||
- Integrate an AI API
|
||||
- Add cloud save functionality
|
||||
- Create a new node type
|
||||
|
||||
---
|
||||
|
||||
**Remember:** Every expert was once a beginner. You've got this! 💪
|
||||
105
docs/QUICK_WINS.md
Normal file
105
docs/QUICK_WINS.md
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
# Quick Wins - Start Here! 🎯
|
||||
|
||||
## Your First 5 Changes (30 minutes each)
|
||||
|
||||
These are simple edits that make immediate, visible impact.
|
||||
|
||||
---
|
||||
|
||||
## 1️⃣ Change the Engine Name (5 minutes)
|
||||
|
||||
**File:** `engine/version.py`
|
||||
|
||||
**Before:**
|
||||
```python
|
||||
short_name = "godot"
|
||||
name = "Godot Engine"
|
||||
```
|
||||
|
||||
**After:**
|
||||
```python
|
||||
short_name = "aethex"
|
||||
name = "AeThex Engine"
|
||||
```
|
||||
|
||||
**Result:** Every window, dialog, and title will say "AeThex Engine"
|
||||
|
||||
**Command:**
|
||||
```bash
|
||||
# I can make this change for you right now!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2️⃣ Update the Website Link (2 minutes)
|
||||
|
||||
**Same file:** `engine/version.py`
|
||||
|
||||
**Change:**
|
||||
```python
|
||||
website = "https://godotengine.org"
|
||||
```
|
||||
|
||||
**To:**
|
||||
```python
|
||||
website = "https://aethex.io" # or your domain
|
||||
```
|
||||
|
||||
**Result:** Help → Visit Website will go to your site
|
||||
|
||||
---
|
||||
|
||||
## 3️⃣ Update the About Dialog (10 minutes)
|
||||
|
||||
**File:** `engine/editor/gui/editor_about.cpp`
|
||||
|
||||
**Line ~57, Add your credit:**
|
||||
```cpp
|
||||
_about_text_label->set_text(
|
||||
String(U"© 2026-present AeThex Labs\n") +
|
||||
String(U"Powered by Godot Engine (MIT)\n\n") +
|
||||
String(U"© 2014-present ") + TTR("Godot Engine contributors") + ".\n" +
|
||||
String(U"© 2007-2014 Juan Linietsky, Ariel Manzur.\n"));
|
||||
```
|
||||
|
||||
**Result:** Help → About shows AeThex branding
|
||||
|
||||
---
|
||||
|
||||
## 4️⃣ Change Default Theme Color (20 minutes)
|
||||
|
||||
**File:** `engine/editor/themes/editor_theme_manager.cpp`
|
||||
|
||||
**Find the accent color definition and customize:**
|
||||
- Search for "accent_color"
|
||||
- Change RGB values to your brand color
|
||||
- Rebuild and see your color throughout the editor!
|
||||
|
||||
---
|
||||
|
||||
## 5️⃣ Create Placeholder Logos (30 minutes)
|
||||
|
||||
**Files to create:**
|
||||
- `engine/icon.svg` - Simple AeThex icon
|
||||
- `engine/logo.svg` - AeThex wordmark
|
||||
|
||||
**Quick method:**
|
||||
1. Use AI image generator (DALL-E, Midjourney)
|
||||
2. Or use Figma/Inkscape
|
||||
3. Or just edit existing logos with text
|
||||
|
||||
**Temporary is OK!** Evolve it over time.
|
||||
|
||||
---
|
||||
|
||||
## Try It Without Building
|
||||
|
||||
You can make these changes and commit them without building!
|
||||
Later when you build, you'll see all your branding.
|
||||
|
||||
**Want me to make these changes right now?** Say:
|
||||
- "Change version.py"
|
||||
- "Update about dialog"
|
||||
- "Make all quick wins"
|
||||
|
||||
Let's get AeThex branded! 🚀
|
||||
232
docs/WELCOME_SCREEN_PLAN.md
Normal file
232
docs/WELCOME_SCREEN_PLAN.md
Normal file
|
|
@ -0,0 +1,232 @@
|
|||
# Custom Welcome Screen Implementation Plan
|
||||
|
||||
## Overview
|
||||
The AeThex Engine welcome screen will provide a modern, branded onboarding experience
|
||||
that highlights AeThex's unique features and helps users get started quickly.
|
||||
|
||||
## Files to Modify
|
||||
|
||||
### Primary Files:
|
||||
- `engine/editor/project_manager/project_manager.cpp` - Main project manager
|
||||
- `engine/editor/project_manager/project_manager.h` - Header file
|
||||
|
||||
### customization Points:
|
||||
|
||||
## 1. Branding Elements
|
||||
|
||||
### Window Title (Already Done via version.py)
|
||||
The project manager will now show "AeThex Engine - Project Manager"
|
||||
|
||||
### Welcome Panel
|
||||
**Location:** Create new panel in project_manager.cpp
|
||||
|
||||
**Content:**
|
||||
```
|
||||
┌─────────────────────────────────────────┐
|
||||
│ [AeThex Logo] AeThex Engine │
|
||||
│ │
|
||||
│ Next-Generation Game Engine │
|
||||
│ • AI-Powered Development │
|
||||
│ • Cloud-First Architecture │
|
||||
│ • Modern Developer Tools │
|
||||
│ │
|
||||
│ [New Project] [Open Project] │
|
||||
│ [Import Project] │
|
||||
│ │
|
||||
│ Quick Start: │
|
||||
│ • First Game Tutorial → │
|
||||
│ • Documentation → │
|
||||
│ • Sample Projects → │
|
||||
└─────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## 2. Custom Features Panel
|
||||
|
||||
### Getting Started Section
|
||||
- Interactive tutorial launcher
|
||||
- Video tutorials embedded/linked
|
||||
- Sample project templates
|
||||
- Community showcases
|
||||
|
||||
### What's New Section
|
||||
- Latest AeThex features
|
||||
- Update notifications
|
||||
- Blog/news feed integration
|
||||
|
||||
### Resource Links
|
||||
- Documentation (searchable)
|
||||
- Discord Community
|
||||
- Asset Marketplace (future)
|
||||
- GitHub Repository
|
||||
|
||||
## 3. Visual Customizations
|
||||
|
||||
### Color Theme
|
||||
Apply AeThex cyan/purple gradient:
|
||||
```cpp
|
||||
// In _update_theme()
|
||||
Color aethex_primary = Color(0.0, 0.851, 1.0); // #00D9FF
|
||||
Color aethex_secondary = Color(0.545, 0.361, 0.965); // #8B5CF6
|
||||
Color aethex_dark = Color(0.118, 0.118, 0.180); // #1E1E2E
|
||||
```
|
||||
|
||||
### Custom Panels
|
||||
- Rounded corners with glow effect
|
||||
- Gradient backgrounds
|
||||
- Smooth animations
|
||||
- Modern card-based layout
|
||||
|
||||
## 4. Implementation Steps
|
||||
|
||||
### Step 1: Add Welcome Panel Widget
|
||||
```cpp
|
||||
// In ProjectManager class
|
||||
Control *welcome_panel = nullptr;
|
||||
|
||||
void _create_welcome_panel() {
|
||||
welcome_panel = memnew(PanelContainer);
|
||||
// Add logo, text, buttons
|
||||
}
|
||||
```
|
||||
|
||||
### Step 2: Add Quick Links
|
||||
```cpp
|
||||
LinkButton *docs_link = memnew(LinkButton);
|
||||
docs_link->set_text("Documentation");
|
||||
docs_link->connect("pressed", callable_mp(this, &ProjectManager::_open_docs));
|
||||
```
|
||||
|
||||
### Step 3: Add Template Selector
|
||||
```cpp
|
||||
OptionButton *template_selector = memnew(OptionButton);
|
||||
template_selector->add_item("2D Platformer Starter");
|
||||
template_selector->add_item("3D First-Person Template");
|
||||
template_selector->add_item("UI/Menu Template");
|
||||
// etc.
|
||||
```
|
||||
|
||||
### Step 4: Recent Projects Enhancement
|
||||
- Add project screenshots/thumbnails
|
||||
- Show project stats (last modified, file size)
|
||||
- Quick actions (Run, Edit, Remove)
|
||||
- Tag system for organization
|
||||
|
||||
## 5. Advanced Features (Future)
|
||||
|
||||
### Cloud Integration
|
||||
- Sign in with AeThex account
|
||||
- Sync projects across devices
|
||||
- Cloud-based collaboration
|
||||
- Remote project management
|
||||
|
||||
### AI Assistant Welcome
|
||||
- "What would you like to create today?"
|
||||
- AI-powered project setup
|
||||
- Smart template recommendation
|
||||
- Code generation quick start
|
||||
|
||||
### Analytics & Insights
|
||||
- Usage statistics (optional opt-in)
|
||||
- Performance recommendations
|
||||
- Community trends
|
||||
- Popular assets/tools
|
||||
|
||||
## 6. Code Structure
|
||||
|
||||
### New File: `engine/editor/project_manager/aethex_welcome_panel.h`
|
||||
```cpp
|
||||
class AeThexWelcomePanel : public PanelContainer {
|
||||
GDCLASS(AeThexWelcomePanel, PanelContainer);
|
||||
|
||||
private:
|
||||
VBoxContainer *main_container;
|
||||
TextureRect *logo_display;
|
||||
RichTextLabel *welcome_text;
|
||||
HBoxContainer *quick_actions;
|
||||
|
||||
void _on_new_project();
|
||||
void _on_quick_tutorial();
|
||||
void _on_open_docs();
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
|
||||
public:
|
||||
void update_theme();
|
||||
AeThexWelcomePanel();
|
||||
};
|
||||
```
|
||||
|
||||
### New File: `engine/editor/project_manager/aethex_welcome_panel.cpp`
|
||||
Implementation of the welcome panel with all AeThex branding and quick actions.
|
||||
|
||||
## 7. Testing Checklist
|
||||
|
||||
- [ ] Logo displays correctly
|
||||
- [ ] All links open correctly
|
||||
- [ ] Theme matches AeThex colors
|
||||
- [ ] Buttons are responsive
|
||||
- [ ] Keyboard navigation works
|
||||
- [ ] Scales properly on different resolutions
|
||||
- [ ] Translations work (TTR macros)
|
||||
- [ ] Animation performance is smooth
|
||||
|
||||
## 8. Future Enhancements
|
||||
|
||||
### Phase 1 (Month 1-2)
|
||||
- Basic branding and layout
|
||||
- Quick links functional
|
||||
- Custom color theme
|
||||
|
||||
### Phase 2 (Month 3-4)
|
||||
- Template system
|
||||
- Interactive tutorials
|
||||
- Project thumbnails
|
||||
|
||||
### Phase 3 (Month 5-6)
|
||||
- Cloud integration
|
||||
- AI assistant preview
|
||||
- Analytics dashboard
|
||||
|
||||
### Phase 4 (Month 6+)
|
||||
- Full feature parity with vision
|
||||
- Community showcase
|
||||
- Marketplace integration
|
||||
|
||||
## Implementation Priority
|
||||
|
||||
**High Priority (Do First):**
|
||||
1. ✅ Window title and branding (Done via version.py)
|
||||
2. Custom welcome message
|
||||
3. AeThex-styled buttons and panels
|
||||
4. Quick link buttons
|
||||
|
||||
**Medium Priority (Do Soon):**
|
||||
1. Template project system
|
||||
2. Getting started tutorial
|
||||
3. News/updates panel
|
||||
4. Enhanced recent projects view
|
||||
|
||||
**Low Priority (Do Later):**
|
||||
1. Cloud integration UI
|
||||
2. AI assistant interface
|
||||
3. Analytics dashboard
|
||||
4. Community features
|
||||
|
||||
## Current Status
|
||||
|
||||
**Completed:**
|
||||
- Engine name branding
|
||||
- Logo files
|
||||
- Color scheme defined
|
||||
|
||||
**Next Steps:**
|
||||
- Create `aethex_welcome_panel.h/cpp`
|
||||
- Integrate into `project_manager.cpp`
|
||||
- Add custom styling
|
||||
- Test and refine
|
||||
|
||||
---
|
||||
|
||||
**Note:** The welcome screen is a complex UI component. Start with simple text/button
|
||||
customizations, then gradually add more sophisticated features as the project matures.
|
||||
1
engine
Submodule
1
engine
Submodule
|
|
@ -0,0 +1 @@
|
|||
Subproject commit a3e84cc2af14aa4cffbefd8e13492e59567a64e3
|
||||
Loading…
Reference in a new issue