issues
search
Bizorke
/
Gear3Engine-Issues
For bugs and features.
1
stars
0
forks
source link
Set up some automated test scenarios for the game instance.
#1089
Open
JSideris
opened
4 years ago
JSideris
commented
4 years ago
And manually test these things until it's fully automated.
Core
[x] Instantiate a game server.
[x] Instantiate a game client.
[x] Add a GameObject to a GameInstance and ensure it gets added to the appropriate collections.
[x] Test setters in GameObjectFactory.
[x] Add multiple GameObjects and check for unique IDs.
[x] Remove a GameObject via the GameObjectFactory and ensure that it really gets removed.
[x] Reset the ID counter and ensure that objects don't get overwritten.
[x] Deleting a GameObject should recycle the ID.
Auth
[ ] Spawning in with broken auth.
[ ] Trying to access a ship you aren't allowed to use.
[ ] Spawning in twice with the same login.
Gameplay
Two players killing each other.
[ ] Both get awarded kills.
[ ] If someone spawn is before the other dies, the kill shouldn't be applied to their running kill count.
[ ] Spawn messages being sent out of order.
[ ] Spawning in as each ship should result in the correct ship being spawned in.
[ ] Ability to cancel a death by inheriting onDeath and returning false.
Type Registry Tests
[ ] Encode/decode empty create.
[ ] Encode/decode create with data.
[ ] Encode/decode 1 byte int.
[ ] Encode/decode 2 byte int.
[ ] Encode/decode 4 byte int.
[ ] Encode/decode 8 byte int.
[ ] Encode/decode string.
[ ] Encode/decode array.
[ ] Encode/decode object with parent fields.
[ ] Encode/decode for a mapped object.
References
[ ] Ensure alpha references load first, then the current object, then beta references.
[ ] Ensure cyclic alpha references aren't possible.
[ ] Ensure linking two alpha and beta causes all objects in the other chain to load.
[ ] Ensure breaking an alpha or beta chain causes all objects in the broken-off chain to unload.
[ ] Verify that alpha and beta references can be reinforced, and that objects are correctly unloaded if and only if all reinforcements are broken.
Physical Objects
[ ] Creating an object and adding it to the scene.
[ ] Removing an object.
[ ] Removing an object => Primary + secondary physical bodies.
[ ] Object gets added to correct area on server.
[ ] Object gets added to correct area on client.
[ ] Switching areas on server.
[ ] Switching areas on client.
Tracking
[ ] Tracker beam.
[ ] Tracker bolt.
[ ] Tracked object dies.
[ ] Tracked object gets kicked.
[ ] Tracking the power skull.
[ ] Picking up the power skull tracks the grabber.
And manually test these things until it's fully automated.
Core
Auth
Gameplay
Type Registry Tests
References
Physical Objects
Tracking