freddyInKorea Posted August 29, 2021 Share Posted August 29, 2021 (edited) Hello It has been a long journey since I started this project (a few years), and the journey is not finished yet. But I assume that I reach a milestone (0.8.25 version) that I can present. Resume Hexa tank is a real-time strategy game where you need to defeat your opponents by colonizing areas. When an area is colonized, you can install bonus cells to upgrade your tanks. An upgraded tank is a tank that conquests! Features • Well guided tutorial. • Two villains to defeat in campaign mode. • Possible to play a customized match in a single player. • Multiplayer is available, playable against friends however a good connection is required. • No registration. • No advertisement. The game is still under development, any great ideas to improve it is welcome. Demos The game was designed for tablets and mobile phones (you can play it with iPhone but it’s better to have an Android) /!\ Please watch the google play video to grasp some game mechanisms. Google play Website Architecture A snippet of the architecture → Components → Common → Button → Circular menu → layouts → input → charts ... → Screen (handle the display) → home page → single player page ... → Hooks (handle the state of the page) → home hook → single player hook → Core → Framework → Builder (setup map, sound, AI…) → Record (save all actions game into a Json file) → Network (synchronize players game state) → Audio (handle sound effects of the game) → Stats (generate game stats (number of tanks, number or cells...)) → AI (pathfinder and a couple of artificial intelligence) → Interaction (handle input behaviors) → Items → Cell → Field → Unit → Tank → Truck → Network → Lobby → Message → Socket → ServerSocker → PeerSocket → Utils → Collections → Events → Exceptions → Logger There is a signal server to connect peers to each other but I think it is enough to just describe the architecture of the main project. Libraries • TYPESCRIPT • WEBPACK • PREACT • PIXI.JS • WEB RTC • SOCKET.IO • CHART JS • HOWLER • CORDOVA I really enjoyed combining all these technologies together, you can make crazy things with them. Considerations and thoughts market First of all, the video game market is really tough there are not so many spaces for little fishes like me. open source I am considering making the project open source I strongly think a lot of bricks of this project can be used to make other games. I hope it can avoid developers to reinvent the wheel when they start a new web game. A list of generic bricks: • statistic service • record service (record logs and the game, possible to visualize each step of the game) • exception handler • interaction manager • multiplayer service • multiplayer lobby • hexagonal map generator • IA • pathfinder • generic UI components • PIXI.JS animator (translation, scaling, fading) … However, I am pretty sure the code will need more clean up to facilitate its usage, I may need some helps. ? Developing a game Making a game is fun but it is time consuming, there are some many aspects to take care of. I am wondering if there are any other persons want to make new game projects with me. My champions Big thanks to all people who did contribute creating all these open source libraries. I especially want to thank Ivan who saved my ass a couple of times for fixing bugs through this forum. Feedback ??? What do you think about making it open source? And what do you think about this game? best regards Edited September 9, 2021 by freddyInKorea Quote Link to comment Share on other sites More sharing options...
freddyInKorea Posted May 22, 2022 Author Share Posted May 22, 2022 the code is open source: https://gitlab.com/bertrand.blanquet/program6 enjoy Quote Link to comment Share on other sites More sharing options...
wong bener jaet Posted October 3, 2022 Share Posted October 3, 2022 would you mind add "how to play"? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.