Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Josh @ Dreamland

Announcements / Re: Collisions
« on: March 26, 2010, 07:02:16 pm »
*doesn't see difference between collision_polygon and collision_triangle*
Would take an extra five lines of code.

I was thinking about just writing a wrapper to Box2D, really. Would take care of most such needs. Luda had started working on an engine that allowed for several polygon-based collisions...
I'm more concerned with bitmasks for GM-simulation purposes (Can't really think of a time where a quad wouldn't cut it that Box2D wouldn't be favorable).

Also, 1337th post in Announcements.

Announcements / Re: Collisions
« on: March 26, 2010, 06:25:41 pm »
Luda was just remarking about how easy that'd be to implement. He doesn't feel like signing on right now, though. *shrug*

Announcements / Collisions
« on: March 26, 2010, 05:05:17 pm »
Luda is back!

He offered to take up collisions again today, which is good news for the project. Luda wrote the original system used in R3, which I implemented rather poorly (no collision event), but it has since been over a year and it is safe to say we're both "on top of shit."

He apparently has hatched a plan for improving collisions to operate in O(n*log n) rather than O(n**2) like most systems. I'm not sure what time GM operates in, but frankly, who gives a crap; Luda's were faster than Mark's last time. (At least, as far as I can tell. I thought Mark was supposed to be an expert on collisions?)

Anyway, I'm personally tickled pink. Luda learned not long after making the original system that he could improve it by using integers instead of bytes (somehow that wasn't common knowledge at the time, now it's so obvious...), and with his new Quad Tree idea, we should be cooking with gas.

Also, I'd like to remind everyone that DLLs are also part of the equation now. These systems are the two things that everyone concurred are all that's left to set ENIGMA and GM apart. Let's hope we don't blow this, eh?

Announcements / Re: Summary
« on: March 26, 2010, 12:19:23 pm »
I'm hoping to improve var's speed from R3's. Have a newer version lying around somewhere. Other than that, not that I can tell. I ran a best-case version of this with beyond-perfect general-purpose optimization, and it ran the same speed. So, I think this is as good as we're getting from lines.

Loading time will increase slightly with sprites, but it shouldn't require a "Loading" form.

I'm just glad it consistently performs faster than GM, with some seven times the particles. XD

Off-Topic / Re: Who hear is from the GMC?
« on: March 26, 2010, 10:44:18 am »

Announcements / Re: Another quickie
« on: March 26, 2010, 09:45:35 am »
> backspace
Functions like the "Back" button in Vista. Didn't try since.

>"Oh, that's new! ... Wait, that was in 03?"
It's been the opposite for me. I was very used to the old layout.

Off-Topic / Re: ACTA
« on: March 26, 2010, 08:24:47 am »
I hope that Obama keeps that stance on internet privacy he told everyone he had during elections.

Announcements / Re: Summary
« on: March 26, 2010, 08:01:09 am »
> so what does this mean in terms of R4 release date?
Every time I set a release date, something goes wrong and I end up needing more time.

> Why do you need 2 different cc and cci variables?
One tells me how many objects I'm drawing. The other recycles the array to prevent reallocation.

Announcements / Re: Summary
« on: March 25, 2010, 11:04:37 pm »
Grazie. I was pretty pleased Vista didn't bite me. And neither did my odd texture-binding checks; there was no speed difference with or without them.

Announcements / Re: Summary
« on: March 25, 2010, 11:00:32 pm »
Good, that liveCD was 64Bit. >_<
And yes, it does. Ism gave me some structures I needed, and I'll be returning one to her tomorrow.

Announcements / Re: Summary
« on: March 25, 2010, 10:57:16 pm »

My Linux box is presently sleeping off a headache. Ehhh... I'd tell you to download serp's GIT repo, but I don't have the link and wouldn't wish it on anyone. *shrug*

WINE should be kind to ENIGMA... It doesn't use very much...

*Fumbles a liveCD into nearby computer*

Announcements / Re: Summary
« on: March 25, 2010, 10:26:00 pm »
Also, for your consideration, what happens if you don't use var for fucking everything (I revised to use int and double):

I'd up the room speed, but I know that if my framerate limiter doesn't get it, the vsync will. So...

*Realizes he's being a dumbass*
*uploads executables* (Over 9000 sets of at least 100 bytes; estimated forever on dial-up) (Three versions included; 300 KB)

Broken old version: (at least a hundred kilobytes, but barely. Like, 30 seconds on dial-up.)

So yes, do feel free to run those. And if for some reason the ENIGMA one doesn't work, errors, segfaults, or by some miracle runs more slowly than Game Maker's, do let me know.

And in conclusion, no, tr0ll, this really never does get old.

Announcements / Summary
« on: March 25, 2010, 10:11:28 pm »
Perfect summary of the project today as I tested serp's optimization fix (which was quite full of linker errors):

Game Maker

Can't do anything fast.


Can't do anything right.



Today's lessons: Always remember to use unsigned chars when the situation calls for them, and don't be afraid to use an equation that makes sense when calculating framerate. Even when Linux won't let you use clock().
...I'll probably end up externalizing a function that uses clock() on Windows and gettimeofday() on Linux.

Technical blah:
They're actually geometric curves and trig: GM's nightmare, really. I used 20 lines each curve.

Code: [Select]

for (i=0; i<cc; i+=1) {
 for (ii=0; ii<ic; ii+=1) {
  yo[i] -= vs[i];
  ang[i] += rot[i];
  alpha[i] -= .001;
  if (alpha[i] < 0)
  cci = i;
room_caption = "Number of particles: " + string(cc) + "  FPS: " + string(fps) + "  ... Sad, really.";

Code: [Select]
repeat (2)
  xo[cci] = mouse_x - 16 + random(32);
  yo[cci] = mouse_y - 16 + random(32);
  ang[cci] = random(90);
  alpha[cci] = .12;
  rot[cci] = random(10) - 5;
  vs[cci] = .5 + random(2);
  cci += 1;
  if (cci > cc)
    cc = cci;

Code: [Select]
cc = 20;
cci = cc;
ic = 20;

for (i=0; i<cc; i+=1)
  xo[i] = mouse_x - 16 + random(32);
  yo[i] = mouse_y - 16 + random(32);
  ang[i] = random(90);
  alpha[i] = .12;
  rot[i] = random(10) - 5;
  vs[i] = .5 + random(1);

LGM can't actually pass that to ENIGMA yet, so I copy-pasted the code manually. Crude but effective.
The difference between ENIGMA's and GM's was (in addition to the caption) the repeat() value, which was 8 in ENIGMA.

I allocated like, 60 values more than I seemed to ever need, but you never know.

Anyway, thanks much to serp, who is the reason the game is like 288 KB. As opposed to like 420, which it has been before. He's probably also the reason it runs smoothly, and is certainly the problem I ran into five linker errors copy-pasting code. <3

Announcements / Re: Another quickie
« on: March 25, 2010, 09:39:11 pm »
> Just one thing, I miss the button to go to the parent directory!
I kinda miss that too. But since they at least mimicked GNOME's beautiful button-based address bar, I won't complain about that.

> First of all, I'm quite sure that you can disable that functionality in Windows 7.
I'd hope so. Fortunately, it's my mother's computer, so I don't have to worry about that.

> Second of all, what you claim is an "ambiguity" is actually not ambiguous at all. Mac's windowing system...
Yes, yes. But on XP and Vista, I knew what I was getting intuitively when I clicked a button. On Mac and 7, I'm still not sure what I'll get when I click things. I despise having to go to File->New Window in things, though it is nice that Mac does simulate an MDI and bring -all- the Windows to front when you click the icon, instead of making you select one like 7. Also, alt-tab has been pain-in-the-assified on 7.

> So it doesn't inherit ambiguity. It inherited a feature from Mac that was part of a coherent whole and shoved it onto a different paradigm, introducing that ambiguity. (Kind of like what you do when you try to combine GM and C++.)


> I can't quite understand what you're saying with the extremely poorly written ... I would say that the ribbon interface makes things more consistent and easy to find than the old drop-down menu + toolbars paradigm, and trying to switch back to it is a silly idea.
You just didn't stare at it long enough. Furthermore, if they actually had enough software that I was still forced to use in that shitty selection of theirs, it would seem more fitting for them all to have ribbons. My first thought when I saw Paint was that they were finally catching other programs up with Word. Problem is, 95% of the programs I use stick with the "File | Edit..." style menus. Not to mention that catching others up with Word isn't necessarily a good thing; Word often makes it fuck-impossible to find anything; I never had that problem before. At least Paint doesn't have enough features to really get lost in it. One nice thing about the ribbons was being easily extended as you work, so it doesn't have to show all that shit at once. Of course, try finding that shit if you need it when the program doesn't know you do...

Announcements / Re: Another quickie
« on: March 25, 2010, 05:12:52 am »
I don't hate them for taking the idea, I hate them for taking the idea badly.

I don't see how it's different; I've used both operating systems. Windows' is slightly more functional than Mac's, but it inherits everything I don't like about the dock, namely ambiguity: Did I mean to open the current FireFox, or launch a new instance?

Also, after extended use, I find the half-ass-stolen feature to maximize your window when dragged to a certain location on the screen REALLY annoying. GNOME's was nice because it allowed you to drag a maximized window out of the way, and only re-maximized it if you dragged it back before letting go. Now every time I need to look at a lower window, I have to be careful not to drag it to the top. It's an easy habit to get into, really, it's just that they're supposed to be catering to veterans as well.

Oh, and did I mention that as I said a few years ago (and was duly flamed by someone, probably Rusky), they have finally done away with "File | Edit | View | History" in all their programs. This is funny because I was reading about the same time I started bitching this HUGE writeup on how consistency is what makes Windows so friendly, and they devoted large chunks of that document to the very menu they have now hidden. That menu was the only reason I could put up with programs, and now I need alt- to get to it. <_<