Home Artists Posts Import Register

Content

Okay, so in the interest of being really honest with you all, I'd like to let you know what specifically the holdup is with the demo. (To reiterate, Triangulate is continuing with Ice Level art, and if we can't get the demo out in time for the end of the month, then we'll likely put up more art from the demo if people want that, or maybe even a preview of some of the Ice Level stuff if Triangulate's ok with it.)


Essentially, about a week or so ago, Cheshire was working on Future Fragments, and all of a sudden the game developed a massive memory leak.


For those of you who don't know what a "memory leak" is, basically imagine a gigantic ship, and it's got a tiny, tiny leak in it, the size of a fingernail, but this leak can cause the boat to slowly flood and sink.


The problem is, this particular leak, while still being the size of a fingernail... it lets in about 50,000 gallons a second. So the minute you start up the game, it quickly eats up 20 GB. Of RAM. Within about 5 seconds.


I'm not a programmer myself, but according to what he's said (and this makes sense from what I know of programming), the memory leak was sort of a cascade effect; it's something deep, deep in his programming, so it's not something where he can just rewind back to an earlier date of the game's code; it's something that if he doesn't fix now, no matter what he does, future iterations of the game will do this at some point.


Now, for those of you who are programmers, you probably are already kind of shitting bricks at this point, because you realize how ridiculously difficult and time-consuming it is to search for a memory leak like this; big studios generally have to employ something like 30+ people going ham on this full time to find something on AAA games because it's like searching for a coin in the ocean.


Luckily, Future Fragments isn't THAT huge, but Cheshire has spent pretty much all this time in the last week or so searching for this leak. He's down to the final 10%-ish of his code and still hasn't found it, despite literally testing it 16 hours a day, nonstop. (The dude's wearing clothes with blood on them from his last hospital incursion, lol)


So, we're basically facing three options (none of which will end the game, to avail any fears of that);


1) He finds the memory leak in the last 10% of code and fixes it and everyone is happy. This is the most preferable outcome, as it means we'd absolutely get the demo out before the end of the month.


2) We find some awesome programmers, and they grind through the code together, trying to find whatever the heck is causing the leak; if we go this route, we'll likely go in tandem with outcome 3) at the same time, but ANYONE who finds the memory leak's cause, I'll give them $300 of the Patreon money and a link on the activity feed page to whatever Patreon project they're doing or whatever else they'd like so long as it doesn't break Patreon rules.


3) This is the least preferable outcome, as it's going to take the longest amount of time; Cheshire would need to port the game to C++, which he intended to do to begin with, but he wanted to do it AFTER this demo was released as it'll take about 2-ish weeks to port the whole thing over and make sure it's running right, and then to compile a garbage-finding program that would directly root out the source of the memory leak, upon which he could fix it, and release the demo. (Notably, this route would make the demo even better than before in terms of aesthetics like dynamic light, loading times, and more, but we'd REALLY rather not have to delay this another two weeks.)

------------------------------------

So, in case Cheshire can't find the leak, we're asking for your help, any of you who are skilled, talented programmers; if that fits you, and you fit these requirements, then email me at hentaiwriter@gmail.com


- You have extended knowledge of "GML" and GameMaker

- You have at least basic CPP skills

- You have a full understanding of "Structs"


In the event that Cheshire gets through the code and CAN'T find the cause, we'll be contacting you.


I should also note, even if you AREN'T the person that finds the memory leak, I can always, always use skilled programmers for future projects, so if you volunteer for this, it's highly likely I'll find a project for you to work on in the future where you *will* get paid for sure, even if you don't find the leak this time.

------------------------------------

And as always, two reminders;

- Triangulate is continuing to work on the game's art, so progress on the game as a whole is not at a standstill; those of you pledging to us are not having your money go to waste.

- If you do want a refund however because you're dissatisfied with our progress or any other reason, please contact me at hentaiwriter@gmail.com or send me a PM on Patreon and I'll be happy to give you a refund, in full.

Crossing my fingers that Cheshire finds it, but if not, at least the port to C++ will make the game that much better (and it'll be out of the way too, as it'll be a necessary evil we have to undertake anyways)!

Thanks so much again for understanding and being patient; all three of us are feeling pretty bad for letting everyone down like this, and again, we fully understand if you've lost faith in us, but we're hoping once the demo's out, we can redeem some of that. Thanks so much again, seriously.

I’ll of course keep everyone updated on if he finds it or not or if we need help or not. :)

Comments

Tableuraz

Well, if that memory leak was in C, I would recommend to run Valgrind or the MacOs Leaks utility in tandem with GDB (or LLDB), but considering the tools you're using and the OS Cheshire is using, it can be pretty difficult... Why can't he use a memory profiler for instance ?

Tableuraz

Mkay, I am looking into this, I know there is a way to find memory leaks in C-coded programs without necessarily running them through a debugger tool, is he using Malloc to allocate memory, or is it GameMaker's job there ?

Anonymous

My opinion may differ from some others, but I would recommend just going straight for a port and making us all wait. I personally wouldn't mind but I'm sure there's a few who would

Anonymous

Go for the port. Make "Ches" get some rest, with how sick hes been lately he's no good to anyone half dead or worse.

Tableuraz

Kinda agree, seems like trying to maintain and find leaks on a soon to be abandonned code could be pretty time consuming for no reason...

FutureFragments

He's really determined to fix this though, that's sort of a last ditch choice for him. He'll definitely port it eventually though!

Anonymous

While I'm not personally a talented programmer, I do have an understanding of what is going on because I go to a school that focuses on computer programming. I have a lot of friends who are really talented guys and I can try and see if one of them would take a look. The problem is that they are all gearing up to graduate and are all in full time job hunt mode (they graduate on the 9th). The easiest way for me to get them to help would be if I was able to just straight up give them the code to look at. I can have them sign an NDA on it if you're concerned about that, and I can sign one too, but really the best way I can help you guys out is if I can get eyes on code directly. But before any of that I can collect up copies of their resumes and see if any of them fit the bill of requirements you threw up there. The guys I'm thinking of definitely hit the last two requirements with 20-lb sledges, but not sure how much they have worked with GML if at all.

Anonymous

Damn, sounds like you guys are shitting some seriously huge bricks out there. I'd say that, if you're going to port the game anyway, just go ahead and port it now, save yourself the trouble. Just think: This could happen AGAIN after you fix it. You don't wanna face that... Right?

FutureFragments

Would be really helpful, but don't trouble yourself until Cheshire gives the go ahead and he's checked all the existing code; don't wanna inconvenience you any!

Katherine Tightpussy

God damn, you guys just can't catch a break can you? After all this shit, it has to start going well soon.

Matthew R Vaccaro

Thanks for the info you guys. I wish my coding was up to snuff, but I'm just a beginner still... I hope everything works out however you guys go about it. Especially for poor Cheshire. Keep on keepin' on, y'all. We're still here for support.

Anonymous

What language are you using right now? If I was looking for a memory bug, I would do this: 1.) Check every instance of "new". All of them. Are they being deleted at any point 2.) Object creation in loops. Are we creating any objects in a loop? If so, do they: a.) Create an object that updates and creates an object? b.) Get deleted when they should 3.) 20gb leak is HUGE. For even a simple game like yours, my first guess would be to check resource loading functions. 4.) Here is my personal suggestion for finding the bug a.) List every time new is cast. Every. Single. Time. b.) Determine which ones (guesstimates are OK here), are the most memory intensive c.) See if they are being deleted. d.) See if they are created nested objects that bloat the system Send me a PM or reply here if you wanna communicate about programming help. I don't mind giving help. I even have sample code of C++ smart pointers I'm willing to just give to you, if it helps the project. It's messy but it works.

Anonymous

As a side note, an option you might want to look to is instead of porting this over to C++, consider porting it to Unity. It's free, it can every you want and more, it's amazing, super fast, you don't need to be an awesome programmer (even a decent one) to know how to use it, oh and did I mention IT'S FREE!?!?!?!

Anonymous

Lastly if you DO port to C++, if you plan to build from scratch, I have some OpenGL and SMFL projects I'd totally be willing to donate. They'll get you on the right track.

Anonymous

Oh, thing about Unity, it uses C# OR Java. I recommend C# because it's nearly identical syntax wise to C++. It's a new language, yeah, but my friend in University used to write C++ (thousands of lines of game logic) and I just copy and pasted it over and it worked. Hell, if you go Unity, I'll fucking give you a project if it helps I really don't mind. Just wanna see you guys do well :D

Anonymous

Oh yeah. One more thing. Unity has a huge amount of tutorials, you don't need any external software to run it, it builds into its own neat little projects all on its own that will run on any computer, you can literally, with one mouse click, convert your entire project into apple and export it. YOU CAN EVEN PUT IT ON PHONES JUST AS EASILY LIKE OMG. I know I'm spamming at this point, but the amount of progress you'll be able to make using Unity is insane. This is coming from nearly 5 years of programming experience. I've built engines from ground up, it's a pain in the ass. If you want fast and awesome, go Unity.

Anonymous

Ok seriously, my last reply. I'm bored, can't sleep, and etc. The ONLY two drawbacks to Unity is that: 1.) Unity is based on Scenes. A scene contains all data pertaining to where objects are located. Because you guys would be using the free version, you would NOT be able to combine scenes very easily. Ches could still easily write blankets of code no problem, but two people could NOT work on the same scene at the same time, or else one will quite literally over write the other. However, because you guys have lots of mini levels, you could have like 20+ scenes and easily divide the work load. 2.) If you guys earn over 100,000 a year, then you MUST buy the Unity license, which is 1500 bucks upfront or 75$ a month. Here is a link to the FAQ so I can stop spaming you Btw, it's free. <a href="https://unity3d.com/unity/faq" rel="nofollow noopener" target="_blank">https://unity3d.com/unity/faq</a>

Anonymous

Had this been known a few weeks ago, I'd be all up for that and offering to help, but as it is now I do not have the time. You should get Chesire to try and do something like what was said in the forum: Save the current code and start checking previous versions. In one of those the memory leak will stop being there, and checking what's changed between versions will probably be the best way to find out where's the memory leak. From the way you describe it, it sounds like something that gets created a fuckton of times but never deleted. Probably something with allocating memory for a BUFFER or a DS_LIST or other DS_ data structures thing. Those things don't stop existing just because you stop using them, and stay around until you explicitly kill them. And AFAIK Game Maker doesn't have a garbage collection, so that's there too.

Zelnik

Nah I want you to keep my money. work hard and give us the goods when you can

FutureFragments

Unity is ridiculously difficult to do with platformers, and the game is already mostly written in C++ (about 95% of it, that is), so to port it to Unity would require a lot more effort than just porting over that 5% that makes up GameMaker :P All the rest of your recommendations I've passed onto Cheshire and such, but most of his code is custom (as in, it doesn't use any existing code, a lot of it is stuff made from the ground up etc.)

Thongtham Chongmesuk

No, you just remind me of the nightmare I had half year ago. I don't want to ever remember about how fuck up thing can go with this. I hope you guys can fix this peacefully without having anybody get mental damage.

BazookaDre

I can assist in debugging the code. I used C++ for some 6 to 7 years and still remember enough of it to look through the code and I know what structures are, those are really basic anyways.

BazookaDre

Crap, I pressed Enter too soon. I'm only annoyed because I had pointed out about two weeks ago that you guys had set a release date before your code complete QA run and even before you were code complete with the demo and you kind of went off on me about there not being a showstopper bug. A memory leak that eats 20 GB of RAM is a pretty damn big showstopper. However, thats water under the bridge. I would love to assist in anyway possible with the leak. I want you guys to succeed after all.

FutureFragments

Right, when I made that post, the memory leak wasn't present :P I'll keep you in the loop, and sorry for going off on you.

FutureFragments

Yeah, that's the big one, if he ports it to C++ then bam, garbage collector. He's checking previous versions today, I think.

Netharius

This is what I love about the communities of game designers, Its just amazing to see these people try to help however they can, All you guys kickass and don't worry about rushing it I know the game will be awesome.

FutureFragments

Thanks, it's super appreciated; again though, if you ever do change your mind, don't feel bad for requesting a refund!

Alvehyanna

I work in an environment with clients - where some are really understanding of delays, and some see no excuse for it. Technology can be fickle and sometimes problems just need time. I'm with ya!

Zelnik

Shut up and take my money. If you want to make it up to me, add more knocking up ;)

FutureFragments

we DO intend to have "fertilization", but no actual like, making of a fetus or birth or anything like that, haha.

Zelnik

Well, then just add more, problem solved.

Thongtham Chongmesuk

I am ok now, it's just a bad decision to try Unity 5.1.1 Unet and found out it's 'too new too be stable' and no way my team can fix Unity core's code (what's we believe to be the problem, you can get lag with only 2 players who share only their position to the server). Basically after a week of no productivity, we decide to scrap it and do every thing new again.

Anonymous

I mean not to argue or debate, but Unity is actually insanely easy to make a platformer with. Unity 5.0 is awesome with a lot of great features. And the C++ isn't a problem since you can just use c# which is pretty much the same thing (you could copy and paste most of your logic). I'm not trying to tell you guys how to make your game, but Unity is an awesome tool. But that is just my suggestion.

Thongtham Chongmesuk

I just want to said that, when shit could happen, it will happen in the most shittiest time (my presentation demo crash(freeze) when I was presenting LOL ....... T_T ). As a fellow programmer (although still not fully-employ, just doing professor's assist work and other stuff), I understand that the situation you guys are in are because you are not working hard enough and hope you guys can get the situation under control soon. And I recommend (just my opinion) that you guys should port the game first before releasing the demo, this should my you guys work much easier and faster, not to mention we will get better demo. Also, Cheschire, you should rest some more, I don't want to hear that you work so hard that your got a heart attack you know?

Thongtham Chongmesuk

It seem that you are very familiar with Unity, I agree with most of your statement and suggest Unity as a good choice for non-AAA title or some insanely 'abnormal' game system and logic. However, currently I found that Unity's 5.1.2 Unet is still FUCKING BUGGY. Honestly, even the manual of Unet still refer to 'none existing' function which was not implemented in the 5.1.2 yet (or was it in beta 5.1.3? or pay version? I don't know, I know that the manual abandon me midway). I know there's some people who can make them work, but I am using free version so maybe that's the reason.

FutureFragments

It's not really a matter about not working hard enough, Cheshire's pulling 16 hour days, haha, unless that was a typo

Anonymous

One thing I am going to do: stay where I am Quitting patron will not gonna help neither you guys nor myself for enjoying. So what the hell, I will just wait. GL guys

Tableuraz

Well, I found Unity easy to use and cool to do 3D games, but I spent less time coding my own little engine to do 2D platformers than using Unity, mostly because Unity is made for 3D and packages everything (and some of it is useless for 2D), the 3D view for 2D projects is pointless for instance... Also, as said before, at this point Unity 5 is not stable or reliable enough. IMHO, using Unity for 2D is like using a cannon to kill a mosquito, especially if they already have their own engine running. ;-)

Thongtham Chongmesuk

Sorry, I lost a 'not' before "because". I try to mean "not because you guys are not working hard enough that this memory leak occur"