As most of you have no-doubt noticed, the prototype has been going through a rough patch in the last few weeks. The latest update - for all its good intentions - caused a whole plethora of issues with the game and the website due to its high memory usage. The memory issues were so bad that my hosting provider actually disabled the game on me mid-day last week and it's been a rollercoaster since then.
After disabling the game, my hosting provider sent me an email basically saying that I had to update the website/game to use less memory or else they would not allow me to keep it up. The memory being consumed was so bad that it was affecting other customers and slowing down their entire shared server. This was obviously an issue and as much as I did not like it, it was overall a fair action to take.
I spent the next several days reviewing game logic and trying to find places where memory was being consumed unnecessarily. After many, many hours of benchmarking and unit testing I finally got the game script down to about 50% of what it was before. This should have been a great moment and in my excitement I uploaded the changes online and had my host unlock the script for me. Everything was online and working again and I was excited to take the big notice off the home page.
I took the notice off of the home page, went through about 5 or 6 more test battles on the live server, and determined we were in the clear again. I was pretty happy to finally have it fixed, but I would be lying if I didn't mention how totally burnt out and tired I was. It was 2:00AM, after all. I took a break and decided to watch something on TV before bed as a means to relax, totally unaware of what was happening.
Users came flooding back to the website (and by flooding I mean ~10 people...) and the memory use exploded again. No more than 30 minutes after uploading the latest changes I got an email from my hosting provider with another warning. If the memory continued to be this high they would have to suspend my account. This was obviously the worst case scenario so I hastily tried to look for problems in the code. Unable to find anything and reading threads like this, I gave up hope and took the game offline again. I wasn't sure what to do and I wondered if it was really worth losing any more sleep over.
Fast forward to today and I think I've found the issue. You see, whenever you view someone's leaderboard profile it loads their save data into memory. This is done so that it can calculate stats, robots, abilities, etc. and print out the data to the viewer. The problem (I think) was that this data was not being cleared when you navigated to another page. Viewing two or three different leaderboard profiles quickly doubled and then tripled the memory usage, and viewing any more would result in an "Allowed memory size of X exhausted" error. This caused a whole buttload of other issues that seemed unrelated (like other parts of the site not showing up correctly or not loading at all) and was likely the actual reason for the initial memory outage.
I am putting the game back online again but I will be monitoring usage very closely and may take it off again if the issue persists. I am truly sorry about all the downtime lately but I am doing my best. In light of recent attacks on myself and the game, I think it's important to outline a few things:1. This is a FREE fangame programmed by ONE guy in his livingroom
2. That guy - me - has a full-time job in the day and can only work on this late at night or on weekends
3. I am not affiliated or endorsed by Capcom at all, and my "game" will never be as good or bug-free as an official one
4. Every single user who signs up is part of a (massive) "beta" test, maybe even an "alpha" test, but NOT a complete game. There will be bugs and they may or may not get fixed in a timely manner.
5. If there is any part of this game or process that you do not like, you are not forced to play and you can leave at any time. As much as I try to be modest about this project, it is a priviledge to play and nobody is entitled to anything.
6. As draconian as it might sound, at the end the day this is my project and if I decide that you as a user are poison to our community I will not hesitate to delete your account and ban your IP address.
With that out of the way, please return to normal operations and report any new bugs in the system on the appropriate forum (but without the attitude). I am really hoping I do not have to take the game down again, but if I do you will hopefully understand why. Thank you to everyone who has been supportive over these last few weeks and please enjoy what you can of the game while it's online.
Important Announcement : Server Issues Posted by Adrian Marceau on January 13th, 2014 at 4:49pm Viewed 1784 Times
The prototype seems to be working just like always, well done Adrian! :D I hope this doesn't happen again, but at least the game is working and the stars are still in there. Thanks for bringing back the game.
Congratulations on getting the game back up! I found the server while the game was down, and I'm so excited it's back up. After playing a few missions, I am already convinced that this is one of the best Mega Man fan games I have ever played. Keep up the amazing work Adrian!
*cheer* *cheer* *cheer* I don't know if I should put this in "bugs" or not, but... When playing the game, if I switch the focus off of the window, the game stops loading, character animations won't play, etc... I haven't encountered any other problems however, but then again, I've only just gotten Wily. How quick am I? The world may never know... :)
Posted on January 14th, 2014 at 8:02pm#11( Edited : 2014/01/14 at 8:18pm )
@QuickLikeQuickman : You are correct, it is a bug. There is a thread about it open in the bug forum. It's... gonna take a while for me to figure out a fix. I searched Google high and low and all the solutions I've found have not worked. :| It's the main reason I added the "Pause" button to the top of the battle window - it's the only way to prevent it from crashing when you're in another tab (and even then it sometimes has problems!). But yeah, sorry about that. The moment I find I fix I'll be sure to implement it! :P
Also, thank you so much everyone! ^_^ It's been a really, really long and tiring journey but I knew in my heart that I had something special and I'm glad I persevered. Now we have several other contributing members to the project and everything is coming together beautifully. We have an almost fully fleshed out campaign (three, actually), amazing remixes, beautiful new sprites, hilariously punny dialogue, diverse and interesting stats, types, and weakness cycles, sooooo many new features and mechanics, and (in my opinion) one of the coolest and most detailed enemy databases of any Mega Man game ever. We still have a looooooooong way to go until we're done, but it's been an amazing ride so far and I anxiously look forward to each new day of working on it. Thank you all again! ^_^