Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request for a new example project #62

Open
OmiCron07 opened this issue Sep 10, 2018 · 3 comments
Open

Request for a new example project #62

OmiCron07 opened this issue Sep 10, 2018 · 3 comments

Comments

@OmiCron07
Copy link

The current rogue example project has particular things making hard to grasp some concepts of the EcsRx library.

One of the things is the nature of the one-infinite-autogenerated-level scene. Almost all are set up and generated by code, but I want to see a menu scene loading a game scene. The game scene can use pool to spawn enemy, but other objects are already in the scene and probably come from prefab drag & dropped on the scene. Would be nice to see additive/multiple scenes to see how the objects talk to each other.

One of the other things, the WASD inputs do not control directly the player but some kind of turn-based/differed. I would like to see more standard movement, jump and fire bullets inputs to see how to implement them.

I'm a beginner at Unity, ECS, Rx and for me, the rogue example does not show off the essentials from the point of view of a more traditional game and workflow with the editor, composed of many scenes and in-place objects.

Is it possible for you to create another example more toward static scenes with RegisterAsEntity?

@grofit
Copy link
Member

grofit commented Sep 11, 2018

Sorry I don't have the time for this right now, I did start making a shmup style game but it takes a while to make a good demo, and then there is the maintenance cost of those examples and at the moment I am juggling too many projects with little spare time.

I am more than happy to advise others on making such an example, but within the EcsRx.Unity repo there are bare bones examples showing each sort of facet of the system, and the roguelike combines it all.

I will leave the ticket open as I completely agree more examples would be great but at the moment I personally wont be able to do them for a while.

One thing to mention though, although EcsRx can quite happily let you do things scene first, ideally you want to be doing as much as possible in code, the unity editor is great as a design tool for geometry and high level design but its not so good for functionality and behaviour, so not everything in the scene needs to be an entity, as you can quite happily have stuff going on in the scene without needing it to be hooked up or knowledgeable of the ECS world, and vice versa, there is no hard and fast rules but if you have more static scenes and are wanting to control more things with monobehaviours it may end up being more complicated for you to employ ECS within the scenario. If this avenue was of interest then you could always just inherit from InjectableMonoBehaviour (I think thats its name) which provides you an object which is aware of the event system and has some other helpers built in which let you communicate with the ECS world without technically being part of it.

@OmiCron07
Copy link
Author

I don't think I want to be full scene first, but maybe a hybrid. Possibly I will learn from my errors?!

No problem. I already started a sample on my own to learn it the hard way. Do you mind I reuse the core idea of the rogue game and the assets? My repo is public and you can link or merge it in your example repo when it will be done.

@grofit
Copy link
Member

grofit commented Sep 11, 2018

The Roguelike stuff is all unity assets, it was a unity tutorial they put out which a few frameworks adopted as a basic "heres how to do unitys tutorial in our framework" sort of thing. So use whatever you want from that stuff. If you do make any examples I will happily link to them on the main site, the more examples and demos the better for everyone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants