NightsWatchGames / battle-city

Classical battle-city game made with bevy engine.
https://nightswatchgames.github.io/games/battle-city/
MIT License
87 stars 12 forks source link

I want to help you, but need some clarification #7

Closed MyMarvel closed 7 months ago

MyMarvel commented 7 months ago

Hi! I want to learn Rust and Bevy and improve your battle-city project at the same time. I noticed that your implementation of the battle-city game is different that the original one from Nintendo: image image (and to compare with a screenshot from your implementation) image For example, the area is 27x18 in your game instead of 13x13 in the original. I think it is not an issue and it is easy to change, but was it made by intend? How about to create an original 13x13 map just for development sake to make sure it matches the original game? There are also a lot of other differences. The most important are: the size of the battle tank is much less than the area of a cell (one cell of 27), but in the original the size of the tank is almost the same as the cell image image Is it a bug, can I fix that, or you want it to be like that? I noticed you game is missing some original features, like partial walls damage, and two bullets crash. image Can I try to implement those features after fixing the size of the battle tanks? Thank you for a great opportunity to learn bevy on your project.

MyMarvel commented 7 months ago

Here is a list of similar projects to get inspiration from: https://github.com/dogballs/cattle-bity - the most implemented version, it is almost full clone of the original Battle City by Namco (1985). It is written on TypeScript, unfortunately. We can grab a transparent full sprite 32x32 from there, by the way https://github.com/dogballs/cattle-bity/blob/master/data/graphics/sprite.png https://github.com/newagebegins/BattleCity - a decent javascript implementation. https://github.com/olegpolyakov/battlecity - it is a javascript version too, but the cool thing is that the author made 10 full-length video about how he made it. Unfortunatlely for anybody (not me), it's on Russian language, so you can use subtiteles or just skip it. https://www.youtube.com/playlist?list=PLqHlAwsJRxAPZ5LQpGfZRQjLeWIEIfX2- We can grab some ideas about how to use particles system from there.

lewiszlw commented 7 months ago

I created this project for learning bevy and Ldtk, not for creating a clone of original game, so just developed it based on my memory. But if you can help developing it to make sure it matches the original game, that will be really cool and I'm very appreciated!

lewiszlw commented 7 months ago

I'm very glad and willing to cooperate with you to improve this game. Feel free to ask me and share you ideas.

MyMarvel commented 7 months ago

Thank you very much for the answers! How do you think, when will be a proper time to move this project to Bevy 0.13? I noticed there is lack of documentation for 0.13 (no TextureAtlas::from_grid for example, but it definitely exists in the migration guide https://bevyengine.org/learn/migration-guides/0-12-to-0-13/), so I think it is wise to wait till it be more mature, right? What do you think?

lewiszlw commented 7 months ago

Yeah, I'm waiting for a new release of bevy_ecs_ldtk compatible with bevy 0.13.