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

Demo Ideas / Suggestions megathread #337

Open
ninjamuffin99 opened this issue Mar 31, 2024 · 22 comments
Open

Demo Ideas / Suggestions megathread #337

ninjamuffin99 opened this issue Mar 31, 2024 · 22 comments
Labels

Comments

@ninjamuffin99
Copy link
Member

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

@ninjamuffin99
Copy link
Member Author

ninjamuffin99 commented Mar 31, 2024

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
Copy link
Member Author

ninjamuffin99 commented Mar 31, 2024

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
Copy link
Member Author

ninjamuffin99 commented Mar 31, 2024

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
Copy link
Member

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
Copy link
Member

SeiferTim commented Mar 31, 2024

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:

  • Dash
  • Wall Jump
  • Ledge Grab
  • Cloud Platforms
  • Ladders
  • Double Jump
  • Ground Pound

Maybe some more?

@SeiferTim
Copy link
Member

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
Copy link
Member Author

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
Copy link
Member Author

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
Copy link
Member

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
Copy link
Member Author

The tentative plan I think is in general having better sectioning / filtering for the demos page (see HaxeFlixel/haxeflixel.com#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
Copy link
Member Author

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
Copy link
Member

// 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
Copy link
Member

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
Copy link
Member Author

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
Copy link
Member

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
Copy link
Member

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
Copy link
Member

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

@Geokureli
Copy link
Member

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

We absolutely should!

@ninjamuffin99
Copy link
Member Author

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
Copy link
Member

Geokureli commented Apr 10, 2024

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
Copy link
Member Author

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

  • click to play
  • has a selection of different demos that you can all play on the same homescreen

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
Copy link
Member

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

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

No branches or pull requests

3 participants