Commit Graph

46 Commits

Author SHA1 Message Date
695a592254 Fix invalid objects overlapping in ObjectLayer 2021-03-02 21:59:12 +01:00
64d290503c Add camera support in :API Context 2021-03-02 21:23:14 +01:00
ed0f9ac0c5 Replace custom Vector with JOML's Vector2* in :API 2021-03-02 20:26:43 +01:00
c5e2888048 Add some additional methods to Entity and GameMap API classes 2021-03-02 14:12:24 +01:00
4446e82049 Create GameMap API scaffolding 2021-03-02 12:43:43 +01:00
9147aa55ce Create Entity API scaffolding 2021-03-02 11:37:44 +01:00
6130dc5bb4 Move Movement enum to :API 2021-03-02 10:31:45 +01:00
8b012b8584 Move Direction enum to :API | remove "world" package segment 2021-03-02 09:29:43 +01:00
814ec50267 Create EntitySetAsset | create common AssetManager<A, T> interface 2021-03-02 09:07:12 +01:00
de23809f37 Create Keyboard API scaffolding 2021-03-01 22:01:09 +01:00
0b6137c0ca Create MapHandler API scaffolding 2021-03-01 20:56:59 +01:00
a4fe85e87c Create GameRunner API scaffolding 2021-03-01 20:56:13 +01:00
efc614939c Add runner to Project in :game module 2021-03-01 15:45:51 +01:00
d6177e40cb [Editor] Create :api module which provides a common classes for both :game module and user project's Java code developed with :editor 2021-02-26 09:32:57 +01:00
5b01d3bee9 Improve ImageLayer model on the :game module side 2021-02-22 14:05:14 +01:00
713ebb1c54 [Editor] Enable ImageLayer deserialization on :game module side 2021-02-20 23:32:22 +01:00
0772984779 Implement ColorLayer on the :game module side 2021-02-18 21:55:16 +01:00
8a41e50e6d [Editor] Split ImageLayer to ColorLayer and ImageLayer 2021-02-18 20:56:10 +01:00
973b0ada58 [Editor] Enable serialization and deserialization for passage map of ObjectLayer 2021-02-17 22:42:48 +01:00
c76ad76d37 [Editor] Enable basic serialization for object and image layers
The layers' properties are not serialized/deserialized yet. All the protos for object layer and image layer contains actually nothing except the layer name in Layer proto container.
2021-02-17 14:37:10 +01:00
0003e5b42a Create working deserializers in :game module 2021-02-16 23:25:31 +01:00
a40ec1f45a Refactor world-related objects | move them to :game module 2021-02-16 21:18:09 +01:00
7e89bedffc Improve material, animations and sprite positions code 2021-02-16 13:03:28 +01:00
499e232e17 Move the camera object out of the game map object
TODO: this commit impacts the performance.
FPS decreased from ~60 to ~24, it should be immediately fixed.
2021-02-15 18:50:27 +01:00
15549930e0 Replace AOP-driven based time profiler with a simpler one based on lambdas 2021-02-15 11:49:28 +01:00
f75d56ee01 Remove Animator object 2021-02-15 10:28:36 +01:00
e60add30c5 Migrate CRLF file endings to LF 2021-02-10 17:50:40 +01:00
d405b01316 Improve :engine and :game modules Gradle build scripts 2021-02-10 14:15:41 +01:00
8175b0c966 [Editor] Install :proto dependency to :game and :editor modules 2021-02-09 18:07:22 +01:00
73d0d94553 Create execution time measurement aspect 2021-02-03 22:48:05 +01:00
de80cf04ed Create image layer 2021-02-02 20:35:08 +01:00
1b87af14b2 Replace Scene with GameMap | improve GameMap to allow variable layers
From now on, GameMap is the central container for objects
and is acting as a scene was before.
What's more, GameMap is not restricted to 4 layers anymore.
User can combine TileLayers (which define the terrain)
and ObjectLayers (which can contain movable objects) together
and is no limited to have only one ObjectLayer.
Thanks to that it would be easier to implement i.e. birds which actually
are a movable objects and are flying above the map and the highest
terrain (top TileLayers in fact).
2021-02-02 11:36:26 +01:00
b047a2530a Make Scene implements Updatable interface 2021-02-01 13:50:51 +01:00
8e2c63aac7 Introduce pushToScene() and removeFromScene() Entity's methods 2021-02-01 13:19:54 +01:00
b6439e010a Introduce off heap garbage collector 2021-02-01 12:38:11 +01:00
71a1e47d24 Create basic movement collision detector 2021-02-01 10:55:09 +01:00
93c61e371f Repackage Entity-related code 2021-02-01 00:04:19 +01:00
212073d48a Fix some little bugs 2021-01-31 23:55:59 +01:00
050fa14631 Introduce MeshManager and EntityManager 2021-01-31 23:22:47 +01:00
a04538874b Extract some responsibility from MovableObject to Entity 2021-01-31 20:02:27 +01:00
3c7143ad20 Merge Movement object to MovableObject class 2021-01-31 19:00:19 +01:00
14906b7e37 Enable resetting default frame when movement is finished 2021-01-31 18:06:18 +01:00
9c65dbad38 Improve movement code 2021-01-31 17:38:56 +01:00
435b8760d2 Create working PoC of creature movement 2021-01-31 15:12:42 +01:00
845844d15b Create Moveable Object 2021-01-31 14:19:57 +01:00
8d1f78cb1d Split project to submodules 2021-01-31 10:56:55 +01:00