5.1 KiB
5.1 KiB
🎮 Test Project: Module C - CyberTyper 2026
1. Project Overview
The objective of this task is to develop a high-performance arcade game based on English typing. Competitors must analyze the provided words_data.json file to design a Database (MySQL) and complete a dynamic front-end engine that tracks real-time coordinates to destroy words by integrating it with an API.
2. Technical Definitions
- VFX (Visual Effects): Visual special effects within the game. This refers to effects such as letters breaking into fragments upon bullet collision.
- WPM (Words Per Minute): An index of typing speed. (Calculation:
Total words typed / Play time in minutes) - HP (Health Point): The player's vitality (starting at 100%). It decreases when words are missed, and the game ends when it reaches 0%.
3. Step 1: Backend API and Database Design (Server-side)
All API endpoints must use the /module_c/api/ path, and data persistence must be guaranteed.
A. Database Configuration (Mandatory)
- Word Table: You must create a table that stores the word text, difficulty level, and unique points based on the contents of the provided
words_data.json. - Ranking Table: You must design a table to store player names, final scores, and max combos. This data must be maintained even after a server restart.
B. API Logic Requirements
- Word Supply API (
GET /module_c/api/words?level=n):- Randomly extract words corresponding to the requested difficulty (
level). - Duplicate Prevention: Words already appearing on the current game screen must not be duplicated in the API call.
- Randomly extract words corresponding to the requested difficulty (
- Ranking API: Records must be stored in the DB via
POSTrequests, and the Global TOP 5 records must be returned in descending order of score uponGETrequests.
4. Step 2: Game Engine and Scoring Logic (Front-end Development)
A. Difficulty Settings (Spawn Interval & Fall Speed)
Words are generated at random horizontal positions at the top of the screen (y=0) and move downwards.
| Difficulty (Level) | Spawn Interval | Fall Speed | Multiplier (Multiplier) |
|---|---|---|---|
| Level 1 | Every 2.0s | Slow (50px/sec) | 1.0 |
| Level 2 | Every 1.5s | Normal (80px/sec) | 1.5 |
| Level 3 | Every 1.0s | Fast (120px/sec) | 2.0 |
B. Detailed Scoring Formula (FinalScore)
FinalScore = BasePoints + (CurrentCombo \times LevelMultiplier)
- $BasePoints$: The unique points assigned to the matched word in the DB.
- $CurrentCombo$: The number of consecutive successes. (Increments by 1 on success; resets to 0 immediately if a word hits the bottom).
- Display: The calculated score must be displayed as a real-time cumulative value in the Score area of the game screen.
C. HP System and Recovery
- Deduction: HP decreases by 10% whenever a word hits the bottom line.
- Recovery: Every time a 20 Combo is achieved, 5% of the currently lost HP is restored as a bonus.
5. Step 3: UI/UX and Scene Specifications (Design Implementation)
A. 3-Scene SPA (Single Page Application) Structure
- This task must be developed as an SPA structure where screens transition without a full page refresh using JavaScript.
- Scene 1 (Start): Player name entry and difficulty selection.
- Scene 2 (Play): The actual game progression screen.
- Scene 3 (Result): Final score summary and Global TOP 5 ranking display.
B. Start Scene Requirements
- Input Elements: Game title (CyberTyper 2026), Player Name input field (Required), Difficulty Selection (Level 1, 2, 3) via radio buttons or a select box.
- Start Button: Becomes active only when all information is entered; clicking it enters the game screen.
C. Game Screen Mandatory Components (Marking Items)
- Score: Real-time cumulative scoreboard.
- Combo: Current consecutive success count.
- WPM: Real-time calculated words per minute.
- HP Gauge: A visually changing health bar.
- Input Field: Text area for the player to type English words.
- Falling Words: Words falling from random top positions.
D. Projectile and Fever Effects
- Bullet and Collision: Upon pressing Enter, a bullet is fired from the bottom toward the real-time coordinates of the target word. When a collision occurs, a letter-fragment VFX is generated and the word is destroyed.
- Fever Mode: Achieving a 20 Combo reduces the fall speed by 50% for 5 seconds and activates a neon background effect.
E. Ranking Scene (Result Scene)
- Displays the Global TOP 5 leaderboard retrieved from the database.
- [New Game] Button: Clicking this resets all settings and returns to the Name Input screen.
6. Marking Scheme Summary (Total 25.00)
| Category | Detailed Criteria | Marks |
|---|---|---|
| Design (7.0) | Dynamic projectile/particle effects, visibility of essential UI (HP, Score), and VFX completion. | 7.0 |
| Front-end (11.0) | Difficulty-specific logic (Interval/Speed), duplicate-free word management, and bullet coordinate calculation. | 11.0 |
| Back-end (7.0) | DB table design and data persistence, Global TOP 5 Ranking API design. | 7.0 |