Author Topic: holy crap I think it's been like 6 months you guys  (Read 8492 times)

Adam Atomic

  • Founder
  • Key Contributor
  • *****
  • Posts: 852
  • Karma: +0/-0
  • new dad
    • View Profile
    • Adam Atomic
That's what twitter said anyways.  Which is insane.  Anyhow, what happened??

1 - I got pretty busy with work stuff.  I help run an iPhone games company with my friend Eric, and we've put out 2 games and a multitude of updates this year, with more updates on the way as we crunch up against the holidays.

2 - My lady and I are pregnant (yes on purpose) and are going to have a boy in January or February.  This is alternately terrifying, exciting, overwhelming, mundane and awesome.  Is also cutting into free-time projects a bit.

3 - Flixel is pretty OK.  I've been doing a lot of little prototypes and projects here and there, and it's basically working ok and not causing too many problems for me.  I've said a lot before that flixel is my most greedy project, and it's really true; if it does what I need, I get pretty unmotivated about updating it.

THAT SAID, it's been 6 months.  And each little prototype I've built in that time has resulted in some tweaks to flixel here and there, and they're starting to pile up.  None of this stuff is mindblowing, I promise, but I think sometime soon I'll be able to put out a nice update which just simplifies things a little more, and adds some nice functionality here and there.  Stuff that will be in it probably:

1 - FlxGroup will have some recycling abilities/options.  I am realizing, after typing a lot of the same code in a lot of different projects, that moving and extending some of the FlxEmitter behavior into FlxGroup would be really handy.  FlxEmitter will still exist, it'll just be much simpler, and only really handle the timed emission of sprites and the auto-generation of particle sprites.  This means FlxGroup can be used for all sorts of things, like managing the global sound pile, etc.  It should be super useful!

2 - FlxGroup will not have position or speed information anymore.  It will not extend FlxObject anymore.  This was handy for the collision functions, but I'll work out what to do with that - seems like most collisions are between groups anyways?  Anyways, putting stuff in groups that could move around was just kind of insane, since flixel doesn't really do nested rendering, it was wreaking havoc on collisions, and it wasn't that useful anyways.

3 - FlxSound is a lot more useful now I think, can check playback volume, waveform amplitude on each channel, and even do some simple beat detection stuff.

4 - The usual attempts to clarify collide vs overlap, and to get overlap to play nice with scrollFactor and sprites vs objects.  Not sure its fixed still, as the distinction is just confusing.  You want to use the sprite edge for onScreen() checks, but for object overlap you probably want to use bounding box... might need to rename some fucntions or something.

5 - I think it'd be handy to include a bitmap font class, I'm gonna think on how to do that in the simplest way.  Hopefully it'll just be another version of FlxText, that works more like tilemap (splitting up into tiles, caching to a single sprite).  Between that and removing the umm deprecated flixel.mp3 file this should get flixel down to just maybe 40 kb compiled, which I like.

6 - The beginnings of some more complex shape-drawing stuff that plays nicely with flixel sprites

7 - Will definitely try to incorporate some things like path-finding and path-following and some other goodies too

Ok I think that's about it!  Thoughts?

ambushsabre

  • New Member
  • *
  • Posts: 3
  • Karma: +0/-0
    • View Profile
Re: holy crap I think it's been like 6 months you guys
« Reply #1 on: Mon, Dec 13, 2010 »
Really really really excited about the AI functions you mentioned. Pathfinding (as well as other AI functions like milling around etc.) have always been the bane to my programming, so I'm really looking forward to it!

edit: maybe stick this dialog class in as well? I know it's easy as hell to implement yourself, but if having flixel be a really easy set of tools to make a game out of is one of your goals, then having a built in dialog box can't hurt. People who know what they're doing will do it themselves anyways.
« Last Edit: Mon, Dec 13, 2010 by ambushsabre »

Adam Atomic

  • Founder
  • Key Contributor
  • *****
  • Posts: 852
  • Karma: +0/-0
  • new dad
    • View Profile
    • Adam Atomic
Re: holy crap I think it's been like 6 months you guys
« Reply #2 on: Mon, Dec 13, 2010 »
oh i forgot, i'm gonna try and make it so you can do a little bit of debug value tweaking on the fly via the console if i can, we'll see...

PaulGene

  • Member
  • **
  • Posts: 83
  • Karma: +0/-0
    • View Profile
    • PaulGenehompson
Re: holy crap I think it's been like 6 months you guys
« Reply #3 on: Mon, Dec 13, 2010 »
Hello Adam

Nice to see you back and a huge congratulations on the baby, if my experience is anything to go by you will have no time to do anything after he is born.

One thing that really needs fixing is this https://github.com/AdamAtomic/flixel/issues#issue/90 as it causing havoc when you use advanced render.

Also the "tile caching to a screen-sized buffer" you introduced to FlxTilemap in v2.38 was a BAD idea for most types of game. It causes 2 full screen writes on top of drawing the actual tiles.

**EDIT** it looks like you already removed the tilemap caching! **EDIT**

One last thing, sprites call render even when they are off screen! this is even worse if advanced render is being used because all the matrix stuff is getting called every frame for every single sprite, even if 200 of them are offscreen!
« Last Edit: Mon, Dec 13, 2010 by PaulGene »

vonWolfehaus

  • Active Member
  • ***
  • Posts: 247
  • Karma: +0/-0
    • View Profile
    • Cold Constructs
Re: holy crap I think it's been like 6 months you guys
« Reply #4 on: Mon, Dec 13, 2010 »
Hey Adam, good to see you around again. Congrats on the commercial and human successes!

I'm really looking forward to how you do pathfinding as well. I've been fiddling with an implementation I found on these forums a little and it's pretty cool.

FlxSound can definitely use some love. Sound has always been Flixel's weakness I think, because you can't pause a sound (music) and resume after loading a new state, plus there's a noticeable slowdown when a sound is first played. I wonder if there's a way to optimize loading and playback?

Bitmap fonts are always rather righteous.
Meet Obama every day at #flixel on irc.freenode.net.
Use your favorite IRC client or  http://webchat.freenode.net/

Christian223

  • Member
  • **
  • Posts: 19
  • Karma: +0/-0
    • View Profile
Re: holy crap I think it's been like 6 months you guys
« Reply #5 on: Mon, Dec 13, 2010 »
Great news :D
Thanks for sharing Flixel with us :D

zuperxtreme

  • Contributor
  • ****
  • Posts: 254
  • Karma: +0/-0
    • View Profile
    • Buddah
Re: holy crap I think it's been like 6 months you guys
« Reply #6 on: Mon, Dec 13, 2010 »
Welcome back, Adam. :)

Here's a list of 3rd party classes that could be interesting to check out, to speed up development time and whatnot: http://flixel.org/forums/index.php?topic=2540.0

Cheers. :D
..."without order nothing exists, without chaos nothing evolves"... 
Zoklet.net

initials

  • Contributor
  • ****
  • Posts: 378
  • Karma: +0/-0
  • Initials
    • View Profile
    • Initials Blog. Code and other things.
Re: holy crap I think it's been like 6 months you guys
« Reply #7 on: Mon, Dec 13, 2010 »
Hi Adam,
Welcome back.
Flixel is so amazing! It has really allowed me to make the games I've always wanted, quickly and easily.
How is Flixel for iOS going? Programming in objective is something I'm learning but it's a pretty slow process.
Initials: Super Lemonade Factory, Super Lemonade Factory Part Two, Above The Clouds, Revvolvver, Four Chambers of the Human Heart

Vexhel

  • Member
  • **
  • Posts: 30
  • Karma: +0/-0
  • Huh?
    • View Profile
Re: holy crap I think it's been like 6 months you guys
« Reply #8 on: Tue, Dec 14, 2010 »
Nice to see you again.
For the pathfinding feel free to use and modify my implementation ( http://flixel.org/forums/index.php?topic=1514.0 )!

darthlupi

  • Active Member
  • ***
  • Posts: 241
  • Karma: +0/-0
  • All Smiles
    • View Profile
    • LupiGames.com
Re: holy crap I think it's been like 6 months you guys
« Reply #9 on: Tue, Dec 14, 2010 »
Fantastic!  Are you interested in us posting our tweaks and hacks that we have made? 

I've implemented a method in FlxSound that allows you limit the number of times a sound of a certain type is playing ( you set a public var when calling the play sound  to name it ) , and I've got a BitMap font class that makes use of the output of the following font tool...

http://eocommunity.co.uk/play/76

...just wondering since we have all been messing about with your o so selfish project in a similar selfish way.  :P
To take care of that not so fresh feeling: #flixel on irc.freenode.net.

Use your favorite IRC client or  http://webchat.freenode.net/

Adam Atomic

  • Founder
  • Key Contributor
  • *****
  • Posts: 852
  • Karma: +0/-0
  • new dad
    • View Profile
    • Adam Atomic
Re: holy crap I think it's been like 6 months you guys
« Reply #10 on: Tue, Dec 14, 2010 »
One last thing, sprites call render even when they are off screen! this is even worse if advanced render is being used because all the matrix stuff is getting called every frame for every single sprite, even if 200 of them are offscreen!

double plus good point, and very easy to add in, i'm making a note of that now!  I didn't even think about for the matrix stuff

initials

  • Contributor
  • ****
  • Posts: 378
  • Karma: +0/-0
  • Initials
    • View Profile
    • Initials Blog. Code and other things.
Re: holy crap I think it's been like 6 months you guys
« Reply #11 on: Tue, Dec 14, 2010 »
From http://blog.semisecretsoftware.com/gravity-hook-hd-v11-update-is-out

First, writing software to magically change our Flash games into iPhone games ended up being... slightly trickier than anticipated

Does this exist?
Initials: Super Lemonade Factory, Super Lemonade Factory Part Two, Above The Clouds, Revvolvver, Four Chambers of the Human Heart

XanderXevious

  • Contributor
  • ****
  • Posts: 360
  • Karma: +0/-0
    • View Profile
    • Deadly Alien Microbots
Re: holy crap I think it's been like 6 months you guys
« Reply #12 on: Tue, Dec 14, 2010 »
It's good to see your return, Adam!

I second the need to not render sprites when off screen. There are definitely a lot of small optimisations that could make a huge difference in performance. Just completely avoiding rendering a FlxGroup if all of the sprites within it are off screen would be a huge benefit for games with large maps.

Slopes would be very great as a standard feature utilising all of the optimisations in the flixel collisions. I know it's a perennial request, but where would Sonic be without them?

I'd also love to get some feedback on the DAME editor :D It wouldn't exist without flixel running it under the hood!

Jon

  • Member
  • **
  • Posts: 93
  • Karma: +0/-0
    • View Profile
    • Stencyl
Re: holy crap I think it's been like 6 months you guys
« Reply #13 on: Thu, Dec 16, 2010 »
From http://blog.semisecretsoftware.com/gravity-hook-hd-v11-update-is-out

First, writing software to magically change our Flash games into iPhone games ended up being... slightly trickier than anticipated

Does this exist?

As someone who's doing the same, except in the realm of game creation software, I can attest that it's harder than you might think at first. At first, it comes quickly, but then you hit these annoying patches. 90% of the effort spent on those 10% of areas where things don't roll along as smoothly as they should.

Tyranus

  • Member
  • **
  • Posts: 54
  • Karma: +0/-0
    • View Profile
    • Tyranus:: Indie Games.
Re: holy crap I think it's been like 6 months you guys
« Reply #14 on: Thu, Dec 16, 2010 »
Hi Adam,

Thanks so much for flixel. :D

I made a few changes in FlxGroup, I thinks can be useful:

add a property maxAutoMembers
add a property ClassOfMember, this is a class with a constructor with X:int,Y:int as parameters.

and a method:

      
Code: [Select]
public function resetOne(X:int, Y:int):FlxObject {
var o:FlxObject;
o = getFirstDead();
if (o == null) {
if (ClassOfMember != null && members.length<maxAutoMembers) {
o = (new ClassOfMember(X, Y) as FlxObject);
this.add(o);
};
}
                        if (o!=null) o.reset(X,Y);
return o as FlxObject;
}

This method return a reseted FlxObject. If no one exist in members (and limit was not reached) create a new ClassOfMember object (and add it to members).
If not exist one dead member and ClassOfMember is null ( or limit was reached) return null.

Greetings.

Matoking

  • Member
  • **
  • Posts: 57
  • Karma: +0/-0
    • View Profile
Re: holy crap I think it's been like 6 months you guys
« Reply #15 on: Thu, Dec 16, 2010 »
FlxGroup changes sound interesting. How will the recycling work?

What things will be breaking in the update?

3WG

  • Active Member
  • ***
  • Posts: 110
  • Karma: +0/-0
    • View Profile
    • Jeux.MU
Re: holy crap I think it's been like 6 months you guys
« Reply #16 on: Thu, Dec 16, 2010 »
Hi Adam

Congrats for the Baby .. believe me it's youre greater creation that is on the road :-)

For update of flixel i have to admit that for me a this point flixel is very great.

Another point : Maybe you can put a Donate With Paypal buton for speeding up your effort .. I'm sure that here is a lot of people that will send some $$ .
This is not charity just some of gift for your baby born :-)
Flash games are FUN !
Jeux.MU

Geti

  • Active Member
  • ***
  • Posts: 143
  • Karma: +0/-0
    • View Profile
    • 1 Bar Design
Re: holy crap I think it's been like 6 months you guys
« Reply #17 on: Thu, Dec 16, 2010 »
Glad to see you back Adam, congrats on the child! I'm looking forwards to these updates, especially the console stuff :)

CptRB

  • New Member
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Re: holy crap I think it's been like 6 months you guys
« Reply #18 on: Fri, Dec 17, 2010 »
I had a few ideas I said on twitter, but I wasn't sure if these were picked up. 
Maybe make a generic hit check that doesn't need to figure out which direction it came from? (Performance)

Are you going to take advantage of some flash 10.1 features like Vector?
Allow us to disable the console for release?

Any reason a list (linked list or array) of Rectangles for sprite sheet image position shouldn't be used instead of buffering into _framePixels frequently?  I don't see why we need to keep copying a buffer.  Maybe I'm missing something in regard to sprite transformations. 

Random other thought:  I can't use rootbeer in my username?  That's disappointing. That's related to my site name.

klembot

  • Member
  • **
  • Posts: 61
  • Karma: +0/-0
    • View Profile
Re: holy crap I think it's been like 6 months you guys
« Reply #19 on: Sun, Dec 19, 2010 »
I'd like to see in a upcoming version a built-in ability to do tweens and delayed function calls based on FlxG.elapsed. I realize there's TweenLite and Flash timers out there, but they're both based on realtime, not FlxG.elapsed so far as I know. I wrote some simple classes to do this stuff for me, and I've found it's changed how I write code a lot... i.e. to make something fade in or out, I don't need to write a custom update() method for it anymore.

I'd be happy to share what I've written... I'm going to throw it up on my web site anyway once I feel like it's been well-tested, but this seems like a general enough thing to be worth considering including in the Flixel core.

p.s. Congratulations on impending fatherhood!
I will never reveal the twofold secret.