ููุงู ูุนุจุฉ ูุฏูู ุฉ LaserAge ู ูุชูุจุฉ ุจุงูููุงุด (ุนูู Macromedia Flash 4 ูุฏูู ุฌุฏูุง) ูุชุนู ู ููุท ู ุน Windows. ุนูุฏู ุง ููุช ุทููุงู ุ ุฃุนุฌุจุชูู ุญููุง ุ ูุฐูู ูุฑุฑุช ุฃู ุฃููู ุจููููุง ุฅูู ุงูุฑูุญ ุญุชู ุฃุชู ูู ู ู ุงููุนุจ ู ู ุงูู ุชุตูุญ ู ู ุฌู ูุน ุงูุฃุฌูุฒุฉ.
ุงููุฏู ู ู ุงููุนุจุฉ ูู ุชุฏู ูุฑ ุงูุฎุตูู ุจูุงุณุทุฉ ุณูููุฉ ุงููุถุงุก ุงูุฎุงุตุฉ ุจู ุนูู ู ุณุชููุงุช ู ุฎุชููุฉ ูุงูุญุตูู ุนูู ู ูุงูุขุช ุ ุฅุฐุง ุญุตูุช ุนูู ู ูุงูุฃุฉ ุ ูุชู ุชุญุณูู ุงูุณูุงุญ. ุนูุฏู ุง ูุถุฑุจ ุทูุฑุจูุฏ ุนุฏู ุ ูุชู ุชุฎููุถ ุณูุงุญ ุงููุงุนุจ.
ุนูุฏู ุง ูุชู ุชุฏู ูุฑ ุฌู ูุน ุงูุฎุตูู ุนูู ู ุณุชูู ุ ุชููู ุจุงูุชุจุฏูู ุฅูู ุงูู ุณุชูู ุงูุชุงูู. 100 ู ุณุชูู ููุท.
ู ู ุญูุซ ุงููุนุจุฉ ุ ูุฅู ุงูู ุณุชูู ูู ู ูุฌุฉ (Wave) ุ ููุชู ุฏู ุฌ ุงูุนุฏูุฏ ู ู ุงูู ูุฌุงุช ูู ู ุณุชูู ูุจูุฑ (Level) ุ ููู ุจุจุณุงุทุฉ ุชุบููุฑ ูู ุงูุฎูููุฉ ุ ุฃู ููุท 4 ู ุณุชููุงุช ูุจูุฑุฉ ูู ูู ู ููุง 25 ู ูุฌุงุช. ูู ุงูู ูุฌุฉ ุงูุฃุฎูุฑุฉ ู ู ุงูู ุณุชูู ุงูุนุงูู ุ ุนุงุฏุฉ ู ุง ูููู ููุงู ุฑุฆูุณ - ุนุฏู ูู ููู ุฉ ูุจูุฑุฉ ูู ุงูุญูุงุฉ ูุฃุณูุญุฉ ูููุฉ.
ูุนุจุฉ ู ูุทู ุงูุฃุนู ุงู
ู ุณุงุญุฉ ุงููุนุจ
ุฅููุง ู ูุทูุฉ ู ุณุชุทููุฉ ุนุงุฏูุฉ ุ ูู ุงูุฌุฒุก ุงูุนููู ุชูุฌุฏ ุณูู ู ุนุงุฏูุฉ ุ ูุฃุฏูุงู ูุงุนุจ.
, , .
.
( ) ( ).
, : ( ), .
1 (), 0 .
- โ
- โ 1
- โ 2
- โ 3
-
- โ 4
- โ 5
- โ 6 7 ( )
- โ 8 ( )
- โ 9 ( , , )
:
- โ 15-19 ( , , )
- โ 20-24
- โ 25-29
- โ 30-34
- โ 30-34
- โ 35 โ 39
- โ 40+
Hit Points | ||||||
---|---|---|---|---|---|---|
1 | 5 | 25 | , , | |||
1 | 5 | 50 | ||||
3 | 7 | 30 | ||||
2 | 8 | 30 | 3 | |||
2 | 4 | 30 | ||||
4 | 4.5 | 30 | ||||
2 | 3.8 | 40 | ||||
4 | - | 15/55 | 5 |
1 | |
2 | + |
3 | + + |
4 | + + + |
5 | + + + + |
6 | + + |
7 | + + |
8 | + + |
9 | + + |
15 โ 19 | + + + |
20 โ 24 | + + + |
25 โ 29 | + + + |
30 โ 34 | + + + |
35 โ 39 | + + + |
40+ | + + + |
2.5 | ||
3.5 | ||
4.5 | ||
5 | ||
3 | ||
3.2 โ 3.8 | ||
4 โ 6 | ||
- |
, .
, . ().
:
"torpedo": {
"sprite": "Bullet1_1.png", //
"isRandomIntensity": false, // - true - false
"intensity": [
// 0
{
"min": 50, //
"max": 200, //
"type": "pause" //pause - , shoot - ()
},
// 1
{
"min": 100,
"max": 200,
"type": "shoot"
},
{
"min": 50,
"max": 80,
"type": "pause"
},
{
"min": 30,
"max": 100,
"repeat": 2
}
],
"speed": 2.5, //
"type": "bullet", //
"sound": "alienTorpedo"
}
, .
โ
โ
. .
( ).
, , , . .
1 | 2 | ||||
2 | 4 | ||||
10 | () | ||||
10 | - | ||||
10 | ( ) | ||||
30 | ( ) | ( ) | |||
30 | ( ) | ||||
30 | |||||
1 | 2 | ||||
30 | ( ) | ||||
30 | |||||
35 | + | ||||
35 | + + + | ||||
100 | ( ) + ( ) | ||||
250 | ( ) | ||||
500 | + + + + + + + | ||||
1000 () | + + + + + + + + ( ) |
JSON- :
"alien10": {
"life": 35,
"weapons": [
{
"weapon": "blueTorpedo",
"position": {
"x": -6,
"y": 0
}
},
{
"weapon": "blueTorpedo",
"position": {
"x": 6,
"y": 0
}
}
],
"sprite": "AlienShip10_1.png",
"movement": "horizontalFast",
"killPoints": 2100
}
JSON- :
"horizontalFast": {
"movements": [
{
"type": "freeMovement", //freeMovement - , followPlayer - ( )
"speedDelta": {
"vx": -6,
"vy": 0
},
"intensity": [ //
{
"min": 20,
"max": 150
},
{
"min": 150,
"max": 350
}
]
}
]
}
,
, . , ().
, . .
JSON- :
"2": {
"level": 1,
"enemies": [ //
{
"id": "alien1",
"position": {
"x": 200,
"y": 35
}
},
//...
{
"id": "alien1",
"position": {
"x": 525,
"y": 40
}
}
],
"bonuses": [ //
{
"id": "bonus1",
"position": {
"x": 350,
"y": 10
}
}
]
},
JavaScript
JavaScript, Hexi JS: https://github.com/kittykatattack/hexi .
:
- (, )
- , ,
-
- -. JSON (, )
- (), -.
- TexturePacker
: https://github.com/kittykatattack/sound.js
:
:
Main
.
:
- resources โ (, , json)
- sounds โ : โ , โ
- gameScene โ HexiJS
- game โ Game
- hexi โ HexiJS
- gameStorage โ localStorage
:
- init() โ HexiJS
- load() โ (, , json)
- setup() โ , ,
- playLoop() โ ( , , , ).
- saveGame() โ
- loadGame() โ
:
Main.resources = [
"images/environment1.png",
"images/environment2.png",
"images/environment3.png",
"images/environment4.png",
"images/interface.png",
"images/life-icon.png",
"images/ships-texture.json",
"images/bullet-texture.json",
"sounds/alien-torpedo-shoot.wav",
"sounds/alien-red-plasma-shoot.wav",
"sounds/hero-torpedo-shoot.wav",
"sounds/explode.wav",
"sounds/hero-green-plasma-shoot.wav",
"sounds/alien-green-plasma-shoot.wav",
"sounds/alien-blue-torpedo-shoot.wav",
"sounds/alien-yellow-laser.wav",
"sounds/pulse-plasma.wav",
"sounds/laser.wav",
"sounds/track0.ogg",
"sounds/track1.ogg",
"sounds/track2.ogg",
"sounds/track3.ogg",
"sounds/track4.ogg",
"data/hero-configuration.json",
"data/levels-configuration.json",
"data/enemy-configuration.json",
"data/ui-configuration.json",
];
Game
.
:
- level โ . :
{ "wave": 1 // , "type": 1 }
- score โ . :
{"points": 0 }
- bulletsController โ BulletsController.
- enemyController โ EnemyController. ( .. )
- player โ Player
- hexi โ Hexi ()
- game โ Game
- gameStorage โ GameStorage
:
- clearShips() โ ,
- setupLevel() โ ( , , )
- nextLevel() โ
- previousLevel() โ
- forwardLevel() โ ( 5)
- rewindLevel() โ ( 5)
- restoreState(gameState: JSON) โ gameState
- resetGame() โ ( )
- update() โ
- enemyDestroyed() โ
GameStorage
.
:
- game โ Game
:
- save() โ
- load() โ
InputDevice
: click touch , .
:
- game โ Game
:
- init() โ callback'
- loadTapped() โ "Load"
- storeTapped() โ "Store"
- resetTapped() โ "Reset"
- pauseTapped() โ "Pause"
Actor
.
:
- hexi โ Hexi ()
- game โ Game
- life โ
- initialLife โ
- sprite โ Hexi.Sprite
- shipConfiguration โ
:
- move() โ
- update() โ
- setPosition(position: {x, y}) โ
WeaponedActor
( ) .
:
- automatedWeapons โ
- canShoot โ
- isWeaponShooting โ
:
- startShoot() โ
- stopShoot() โ
- onShootStarted() โ ,
- onShootStopped() โ ,
- updateShooting() โ
Enemy
.
:
- type โ
- syncWeapons โ
- movementEngine โ MovementEngine
:
- setWeapon() โ
- shootWithWeapon() โ
- setLifeLine() โ
- hit() โ ()
MovementEngine
.
, . vx, vy . ( ).
:
- movementsConfiguration โ
- firstMovementConfiguration โ
- movementItensity โ
- movementItensityCounter โ
- movementItensitySlot โ
- isBounceBottom โ . false,
:
- setMovement() โ
- updateMovement() โ
Player
.
:
- weapons โ
- collisionSprite โ ( , )
- weaponLifeLevels โ
- invisibilityCounter โ ( , )
:
- upgrade() โ (+1 )
- downgrade() โ (+1 )
- shootWithLaser(currentWeapon, weapon) โ
- shootWithBullets(currentWeapon, weapon) โ
- setWeapon() โ
- setLife(life: number) โ ( )
- hitUpgrade(upgradeItem) โ
Bonus
. .
:
- type โ
- movementEngine โ MovementEngine
- upgradeBonus โ
:
- shootWithUpgrade(upgradeBonus: JSON) โ
EnemyController
, , .
:
- enemies โ
- bonuses โ
- player โ
- upgrades โ
:
- isLevelCompleted() โ ( , )
- update() โ
- clear() โ ,
BulletsController
(), .
:
- playerBullets โ
- enemyBullets โ
- explosionSplashes โ
- playerLaser โ ( ).
:
- update() โ ,
- clear() โ ,
- updatePlayerBullets() โ
- updatePlayerLaser() โ
- updateEnemyBullets() โ
- updateExplosions() โ
JavaScript.
, , .
, , ..
, !
!
http://laseroid.azurewebsites.net/ โ
https://github.com/EntityFX/laseroid โ