dino-ge 1.0.0 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# dino-ge
|
|
2
|
+
|
|
3
|
+
A lightweight, performant 2D game engine built from the ground up in TypeScript. `dino-ge` provides a robust, developer-friendly framework for building commercial-quality 2D web games.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Composition-based Architecture:** Flexible `GameObject` system for managing game entities.
|
|
8
|
+
- **Built-in Physics:** Integrated 2D physics with support for AABB collision detection.
|
|
9
|
+
- **Rendering System:** High-performance canvas-based rendering for sprites, tilemaps, and primitives.
|
|
10
|
+
- **Input Management:** Easy-to-use handling for keyboard and mouse events.
|
|
11
|
+
- **Asset Loading:** Efficient resource management and preloading for textures and images.
|
|
12
|
+
- **Camera System:** Dynamic camera with support for zooming and following.
|
|
13
|
+
- **TypeScript Native:** Full type safety and modern ES module support.
|
|
14
|
+
|
|
15
|
+
## Installation
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install dino-ge
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Quick Start
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import { Engine, Scene, Sprite, Vector2, Loader } from 'dino-ge';
|
|
25
|
+
|
|
26
|
+
const engine = new Engine({
|
|
27
|
+
onLoad: async () => {
|
|
28
|
+
// Load assets
|
|
29
|
+
Loader.queueImage('player', 'assets/player.png');
|
|
30
|
+
await Loader.loadAll();
|
|
31
|
+
|
|
32
|
+
// Create and set scene
|
|
33
|
+
const scene = new MyGameScene();
|
|
34
|
+
Engine.currentScene = scene;
|
|
35
|
+
},
|
|
36
|
+
update: () => {
|
|
37
|
+
// Global update logic
|
|
38
|
+
}
|
|
39
|
+
}, {
|
|
40
|
+
title: 'My Dino Game',
|
|
41
|
+
backgroundColour: '#264653'
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
class MyGameScene extends Scene {
|
|
45
|
+
onLoad() {
|
|
46
|
+
const player = new Sprite({
|
|
47
|
+
tag: 'player',
|
|
48
|
+
img: 'player',
|
|
49
|
+
rows: 1,
|
|
50
|
+
cols: 4,
|
|
51
|
+
position: new Vector2(400, 300),
|
|
52
|
+
zIndex: 10
|
|
53
|
+
});
|
|
54
|
+
player.play();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Documentation
|
|
60
|
+
|
|
61
|
+
Full API documentation and guides are available at [https://gledrich.github.io/dino-ge/index.html](https://gledrich.github.io/dino-ge/index.html).
|
|
62
|
+
|
|
63
|
+
## License
|
|
64
|
+
|
|
65
|
+
Dino GE is released under the MIT License.
|