HaxeFlixel / flixel-demos

Collection of demos for HaxeFlixel
https://haxeflixel.com/demos
422 stars 291 forks source link

Demo Ideas / Suggestions megathread #337

Open ninjamuffin99 opened 3 months ago

ninjamuffin99 commented 3 months ago

Will use this as a megathread for discussion around ideas for new demos!

ninjamuffin99 commented 3 months ago

Life Universe by Saharan: https://oimo.io/works/life/ Source code: https://oimo.io/works/life/

Might be cool to see what it'd take to reimplement / port this to HaxeFlixel, code is under MIT license! I know it uses some of his own haxelibs (like HGSL) so might have to make use of those specifically

ninjamuffin99 commented 3 months ago

Canabalt: https://canabalt.com/ Source code: https://github.com/ninjamuffin99/canabalt-hf

Finji gave me the thumbs up for this to be hosted on haxeflixel.com as a demo.

I think rather than having a flixel-demos version and a canabalt-hf repo version, maybe can aim to make it load via submodules? There's some .gitmodules config stuff you can do so that when it pulls it will always pull from the head of a branch, so we can probably do that so that we don't need to always be updating the commit id (likely unneeded in this instance, but if we do that with other repos it might be nice to not have to worry about/deal with it)

would like your thoughts on it @Geokureli !

ninjamuffin99 commented 3 months ago

DJFlixel: demo https://john0032.itch.io/djflixel Source code: https://github.com/john32b/djFlixel

DJFlixel is pretty awesome and has some awesome effects! Again I think this would work best as a submodule, where we just compile the already made demo

SeiferTim commented 3 months ago

Life Universe by Saharan: https://oimo.io/works/life/ Source code: https://oimo.io/works/life/

Might be cool to see what it'd take to reimplement / port this to HaxeFlixel, code is under MIT license! I know it uses some of his own haxelibs (like HGSL) so might have to make use of those specifically

I would suggest someone should just make a small (about the size of the other demos) Game of Life demo instead of taking from this project... let people click to toggle cells etc.

Making a Game of Life is already an established "learning programming" task - or at least, it was when I was in school... I've had to make it using Pascal, C, and VB6 over the years... Showing how such a 'well-known' project can be done in HF makes a lot of sense...

Now I'm trying to think back to what other projects I had to do for school - I'll post if I can remember any.

SeiferTim commented 3 months ago

We often get people asking 'how do I do mechanic X?' - like wall jump, etc. Because of the overhead of having to have a whole platformer working to demonstrate it, it doesn't really work to have that be a Snippet or a standalone "wall jump" demo... but maybe a 'Complex Platformer' demo that shows how to do a variety of different things, like:

Maybe some more?

SeiferTim commented 3 months ago

DJFlixel: demo https://john0032.itch.io/djflixel Source code: https://github.com/john32b/djFlixel

DJFlixel is pretty awesome and has some awesome effects! Again I think this would work best as a submodule, where we just compile the already made demo

I'm not sure if we should have demos that are just for other people's libraries that are sort of separate from HF itself.

I would instead suggest a section somewhere that lists "Noteworthy External Libraries", where I would have djFlixel, Steamwrap, and some others linked there.

ninjamuffin99 commented 3 months ago

I'm not sure if we should have demos that are just for other people's libraries that are sort of separate from HF itself.

That one came to mind since I feel like I recalled one of the demos being something that showed off a lib in the same way, but skimming the demos I think I'm wrong!

ninjamuffin99 commented 3 months ago

Speaking of platformer demos, I wonder if we'd be able to get in touch with the person who wrote up the Discover HaxeFlixel book to just get it onto the HaxeFlixel site... Unsure how up to date the book is, or how many people buy it! Might be worth it's own pursuit (aka separate github issue)

SeiferTim commented 3 months ago

What do you think about splitting the Demos into 2 sections?

Those that show off/teach a specific Flixel thing, and those that are kind of just showing off how cool Flixel is?

BlendModeShader, CollisionAndGrouping, and Filters vs Mode, Flappybalt, and FlxTeroids for example.

ninjamuffin99 commented 3 months ago

The tentative plan I think is in general having better sectioning / filtering for the demos page (see https://github.com/HaxeFlixel/haxeflixel.com/issues/105)

Off the top of my head right now I can imagine it maybe something like

// dropdown toggle list at top of /demos
View by:
- All // current site view, sorted alphabetically
- Category // sorts into sections by their folder structure from /flixel-demos repo
- Showcasing // shows demos that show off how cool flixel is
- Utility // shows demos that show off utilities (BlendModeShader, Filters, FlxAsyncLoop)

// if these are the only two sorts, can be toggle rather than dropdown 🤔 
Sort by:
- Latest
- Alphabetical
ninjamuffin99 commented 3 months ago

Demo for LDTk: https://ldtk.io/

Written in Haxe, it already has some nice premade stuff that spits out nicely for HaxeFlixel

https://github.com/deepnight/ldtk-haxe-api

haxeflixel sample: https://github.com/deepnight/ldtk-haxe-api/tree/master/samples/Flixel%20-%20Render%20tile%20layer

SeiferTim commented 3 months ago
// dropdown toggle list at top of /demos

Please not a dropdown... I would have a list of filters, maybe as pills, and you can toggle them on/off.

Geokureli commented 3 months ago

I just got done remastering Gassy Rick Astley for the 10 year anniversary, I could strip out the NG stuff, use royalty-free midis and fix all the bad programming and make that a demo, too

That's my only bad concern with these old-ass remasters is that they have a alot of bad patterns and work around the lack of features that may not lacking in recent versions. On the other hand doing whatever it takes to ship a game is a part of gamedev and we shouldn't hide that, though maybe we should comment that better ways exist, now

ninjamuffin99 commented 3 months ago

I just got done remastering Gassy Rick Astley for the 10 year anniversary, I could strip out the NG stuff, use royalty-free midis and fix all the bad programming and make that a demo, too

I think it could be a fun example of implementing Newgrounds API :) In fact it might be cool to maybe even have something like FlxNewgrounds as we already have FlxGameJolt and FlxKongregate in the flixel-addons! That's likely a discussion for the flixel-addons repo though... lol.

In anycase, I think it having Newgrounds login / score posting could still be nice and cool

Geokureli commented 3 months ago

it might be cool to maybe even have something like FlxNewgrounds as we already have FlxGameJolt and FlxKongregate in the flixel-addons! That's likely a discussion for the flixel-addons repo though... lol.

I'm wary of this, there are some neat features that can happen, buti think FlxGameJolt and FlxKongregate have been out of date, and not super helpful for a while now. the newgrounds api is also about to have a new major version

SeiferTim commented 3 months ago

Just to make sure no one else decides to start on it I am going to tackle making a Conway's Game of Life demo while I'm at work for the next few days.

I need a small project to work on.

SeiferTim commented 3 months ago

FlxGameOfLife is done - we could add it to the site if you want.

Geokureli commented 3 months ago

FlxGameOfLife is done - we could add it to the site if you want.

We absolutely should!

ninjamuffin99 commented 3 months ago

FlxAnimate: https://github.com/Dot-Stuff/flxanimate/

Very useful haxelib for playing Adobe Animate exported spritesheets! This has been one of the main workflows for FNF, i cant imagine life without it! So I think I can put together a fun little demo!

Geokureli commented 3 months ago

FlxAnimate: https://github.com/Dot-Stuff/flxanimate/

Very useful haxelib for playing Adobe Animate exported spritesheets! This has been one of the main workflows for FNF, i cant imagine life without it! So I think I can put together a fun little demo!

My only issue with stuff like this is that we then have to include FlxAnimate in all of our CI, then the burden of making sure latest flixel and latest flxanimate work together falls upon flixel. On one hand I do want to know when flixel changes will break flxanimate, but I kind of expect it to happen so often that Ci will break with most new features and really flxAnimate should decide how it wants to keep up with flixel.

I think we reeeeeally need to beef up our External Resources page with stuff like FlxAnimate, but as for showcasing demos of them maybe we should simply link to their page that showcases itself, and have a really cool image/video that previews the benefits?

ninjamuffin99 commented 3 months ago

scratch pad idea, i like the way that pico-8 does their homepage demos https://www.lexaloffle.com/pico-8.php

i think something like this can be adapted for the haxeflixel demos in some way, where it just reloads the demo content with a new demo

Geokureli commented 2 months ago

Life Universe by Saharan: https://oimo.io/works/life/ Source code: https://oimo.io/works/life/

having the source point to the game is a meta af