SlayHorizon / godot-tiny-mmo

A tiny open-source web-based MMO / MMORPG built in Godot 4, with unique project organization.
Other
19 stars 4 forks source link

8 Direction 2D Animation Sprite Support #35

Open WithinAmnesia opened 2 weeks ago

WithinAmnesia commented 2 weeks ago

How can 8 Direction 2D Animation Sprite Support be implemented in Tiny MMO Demo to test 2.5D 64 x 64 Pixel ~480 Pixel Resolution 2D Animation Sprites?

We had 4 direction sprite support in the early builds. If 8 direction animation sprite support with 64 x 64 pixel sprites is achieved it will unite the ARPG and RPG open source dev creative communities and can creatively support more styles of games to be possible to support with the Tiny MMO Demo.

There are a lot of open source ARPG, RPG, Beat Em Up and Metriodvania style games that use ~480p 64 x 64 to 128 x 128+ pixel animated 2D sprites that lack multiplayer server back end. This is a great opportunity to help the world creative community and Tiny MMO Demo could give a new start for those creative communities and unite them together as one with the GDscript MIT forever free engine community.

There are already a lot of big format 64 x 64 pixel to 128 x 128+ pixel animated art that can be used for performance and proof of concept community prototype template as well.

8-Directional Great Sword Knight Character by Hormelz 8-Directional Great Sword Knight Character https://hormelz.itch.io/8-directional-great-sword-knight-character Here is a great Creative Commons 0 (C.C.0) public domain forever free 8 directional animation character sprite. That can be either 3D or 2D or both given the render process. I can make both 3D and 2.5D 8 directional animated 2.5D sprites in any resolution effectively. Yet practically a 3D character rendered natively in Godot would be easier to work on for devs later on for the whole dev and creative community; so much more awesome having rocking and rolling 3D equipment slot customizable character rigs!

Here are more open source 8 direction 2D 64 x 64+ pixel to 128 x 128+ pixel animated sprites: isometric_hero_and_heroine_0 chars skeleton_0 https://opengameart.org/content/isometric-hero-and-heroine https://opengameart.org/content/flare-collection https://opengameart.org/art-search-advanced?field_art_tags_tid=flare https://itch.io/game-assets/assets-cc0/tag-animation

Either way if we can get 8 directional sprite animation working (or simple 3D character / entity animation layer on top of a 2D background). This will open up so many doors and unite the open source creative community for most games multiplayer game development; yet this time forever free.

Also this would work great with the 360 degree aim weapon / combat system being developed already with Tiny MMO Demo. That's how character animations for combat work with Flare and JDungeon: https://github.com/flareteam/flare-engine . I can also do proper performance tests with bigger sprites and bigger map sizes too with 64 x 64 pixel to 128 x 128+ pixel animation sprites.

What steps are needed for 8 direction animation support for spites of 64 x 64 pixels to 128 x 128+ pixels to be implemented for Tiny MMO Demo?

All feedback is welcome and I look forward to making things better. πŸ’ͺ πŸ˜„ πŸ‘ 🏰 ✨ πŸ’―

SlayHorizon commented 2 weeks ago

Should be easily doable with minimal changes, the project doesn't stop you from adding new sprites and character animations or even converting it to a 3D project.

WithinAmnesia commented 2 weeks ago

Excellent to hear. I have confidence to start building the foundation for high resolution graphics support. This is how 864 x 480 pixels to 1920 x 1080 pixels to 4K to 8K support can be grown over time while still keeping things realistic for the near future.

For my past experience with GDscript and other open source and non-open source game engines, I can say with a practical degree of confidence that 2D, 2.5D, 3D and potentially voxels can be supported. Yet it will take time and for now 864 x 480 pixels with 64 x 64+ pixels sprites with 8 directional animation support would a great success.

Details for high resolution graphics for 2D, 2.5D, 3D and Voxel pragmatic feature growth over time. Here are my current thoughts / scales / forging a path forward to go the distance:

I can probably make technology / graphics demonstrations / demos for ~16:9 aspect ratio graphical displays: ~432 x 240 pixels scale graphics format games of 16 x 16+ pixels sprites ~640 x 360 pixels scale graphics format games of 32 x 32+ pixels sprites ~864 x 480 pixels scale graphics format games of 64 x 64+ pixels sprites ~1280 × 720 pixels scale graphics format games of 128 x 128+ pixels sprites ~1920 × 1080 pixels scale graphics format games of 256 x 256+ pixels sprites ~2560 x 1440 pixels scale graphics format games of 512 x 512+ pixels sprites ~3840 × 2160 pixels (4K) scale graphics format games of 1,024 x 1,024+ pixels sprites ~7680 × 4320 pixels (8K) scale graphics format games of 4,096 x 4,096+ pixels sprites Although my first tests would be with a rough focus upon: - The current 2D art assets Demo (~432 x 240 pixels to ~640 x 360 pixels with ~16 x 16 pixels to 32 x 32 pixels sprites) - A community 2.5D art assets Demo (~864 x 480 pixels to ~1280 × 720 with ~64 x 64 pixels to 128 x 128 pixels sprites) Later if the above prototypes work I could do advanced ultra high definition / resolution graphics tests upon: - A 2.5D super graphics test of 1080p to 8K yet with 2D graphics and or efficient 2D / 3D hybrid graphics. - A cutting edge flagship 3D natively rendered character in a 3D world and or 3D with 2D backgrounds (~4K to 8K+ 2020's to 2030's+ technology demonstrator) Ideally voxels and building can be added but that is an engine upgrade and it should be a different subject like 'Voxel support / GDscript Voxelgame compatibility' etc.). This may require more work than what is practical currently but its a decent goal and Voxelgame / Blockygame was built in mind with multiplayer support. Although for the near future I'd focus upon 2D graphics and maybe when that is working well experiment with 2D / 3D hybrid graphics then if that goes well try full 3D graphics and if that goes well then try the more matured Voxelgame / Blockygame engine GDscript voxel feature upgrades practically. I have 2024 to 2025+ goals of a ~864 x 480 pixels 2.5D community project for Tiny MMO Demo as an advanced option along side the default ~240p to 360p current pixel art graphics scale. I think it is most practical to split the 'Tiny' 2D current scale art to keep it together and as the easier entry point for devs to start and then have options of greater graphical performance that are optional demos / templates for those looking for larger scale game development. From my experience with amassing nearly all of the internet's Creative Commons 0 forever free open source game assets / art, that the ~432 x 240 pixels to ~640 x 360 pixels to ~864 x 480 pixels art is most easy to find. With the larger / greater graphical performance / demanding art being less and less available to the community. This diminishing returns of the creative community availability for high resolution art is reinforced in a cycle of by what seems to be a natural filter force acted upon higher production requirements. For it seems that the higher resolution art that filters out the easier, more approachable and less demanding to produce low resolution art such as 2D pixel art and low polygonal 3D art assets. Pixel art is easy, 3D graphics are harder and high resolution anything is hard and especially high resolution 3D art assets. Thus I would support a default line of 2D low definition graphics for the starter version of the Tiny MMO Demo to have the most approachability / help new or regular people make games. This will make the Tiny MMO Demo able to be available for the whole or overwhelmingly most all of the creative community. Higher performance / high definition 2.5D art would be wise to support so the engine / Tiny MMO Demo can grow the high skilled / higher resolution projects such as 864 x 480 pixels to 1920 x 1080 pixels to even possibly 4K and 8K with enough evolution and community growth. I wish to share more information over time. Yet for now there is a lot to think about and further mentally process and contemplate over time for pragmatic implantation of high graphical features. I've been studying hard into how to practically grow and support the high resolution and greater graphical abilities to power up Tiny MMO Demo into a project that has the potential to unite the creative communities of the world I've worked with over the decades. Either way the combat system will be the big upcoming test for sure. ![GreatSwordKnight_2hIdle5_dir1](https://github.com/user-attachments/assets/b9a4e27c-ef9f-446f-aaaa-45f45dd77a22) That 8 directional C.C.0 Knight from Hormelz can work as a prototype for 8 direction 2.5D Animation Sprite Support for ~864 x 480 pixels scale graphics format games of 64 x 64+ pixels sprites.

I suppose the next step would be getting an 8 directional animation character controller that can swap art in and out of so low to high resolution pixel art can be supported. This can go on top of the 360 degree weapon support for that can be adjusted to support a game like Flare or be made invisible for other types of games. We already have the flipping of the sprite animation for following the mouse / cursor. So I suppose that would be the same yet with 6 more directions of animation supported for:

If this 8 directional character sprite animation feature can be done, then I can get the various graphics tested for all the different resolutions. I can then properly make a ~240p to 360p lower resolution 2D demo as the default demo. Then I can make a 480p to 1080p+ higher resolution 2.5D demo with templates of the sprites and tile sizes to match.

This 2D and 2.5D demo list would look like:

All feedback is welcome and I think this stage of the project is really great, its growing in really awesome ways. If 8 Direction 2D Animation Sprite Support is implemented then the whole project will start rocking and rolling with all of the world creative community across with so many great types and genres of video games! πŸ’ͺ πŸ˜ƒ πŸ‘ πŸ—ΊοΈ 🌎 🌍 🌏 🧭