Raised This Month: $51 Target: $400
 12% 

In retrospect, is there anything you would of done different?


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Dygear
SourceMod Donor
Join Date: Apr 2004
Location: Levittown, NY
Old 03-04-2011 , 21:45   In retrospect, is there anything you would of done different?
Reply With Quote #1

This is to the devs.

Source Mod is now a 7 year old project and with everything you have learned what would you have done different if you had the chance to do it all again? I'm talking about anything that has bothered you over the past 7 years, what have you learned, what turned out to be a great idea, and what turned out to be a bad idea.

I ask, because I have a project that is similar to SourceMod and I want to learn from your mistakes and successes. I want to know what was a great idea, and what was a terrible idea because that's how we all learn.
__________________
Dygear is offline
Send a message via AIM to Dygear Send a message via MSN to Dygear Send a message via Skype™ to Dygear
sinblaster
Grim Reaper
Join Date: Feb 2010
Location: Australia
Old 03-04-2011 , 23:27   Re: In retrospect, is there anything you would of done different?
Reply With Quote #2

Wouldn't you be able to get a good idea from looking at the changelogs for each version change. They would clearly state what was removed and in some cases state why. etc ..
__________________
Happy Happy Joy Joy

sinblaster is offline
zeroibis
Veteran Member
Join Date: Jun 2007
Old 03-05-2011 , 01:11   Re: In retrospect, is there anything you would of done different?
Reply With Quote #3

I do not think he means the type of thing that would appear in a change log. He is trying to find wisdom not knowledge.
__________________
zeroibis is offline
Dygear
SourceMod Donor
Join Date: Apr 2004
Location: Levittown, NY
Old 03-05-2011 , 19:56   Re: In retrospect, is there anything you would of done different?
Reply With Quote #4

Quote:
Originally Posted by zeroibis View Post
I do not think he means the type of thing that would appear in a change log. He is trying to find wisdom not knowledge.
Thank you, that was my point.
__________________
Dygear is offline
Send a message via AIM to Dygear Send a message via MSN to Dygear Send a message via Skype™ to Dygear
BAILOPAN
Join Date: Jan 2004
Old 03-10-2011 , 12:11   Re: In retrospect, is there anything you would of done different?
Reply With Quote #5

I have trouble labeling anything as a "mistake," because by and large, we didn't know what we were doing. We just knew what we didn't like about AMX Mod X and somewhat managed to solve those specific problems. As you said, these projects are evolutionary and each iteration you approach something you're a little happier with.

If I were to do SourceMod over again, the biggest thing I would change is dropping Pawn for a dynamically typed language.
  • Most important, the interaction between plugins and Core is bad. The interop layer is expensive. We did a lot of work to optimize it in SourceMod but really what's needed is a new, more expressive language, with a less CPU-ish bytecode and a JIT that understands foreign functions. Right now we can't do SDKHooks sanely without having a mess of Handles to close. Plugins also have to jump through insane hoops to act as "libraries" and provide shared functionality.
  • Self-hosting SourceMod, entirely. That is, writing the Core as scripts. This is surprisingly important for a number of reasons. It makes it much easier to ad-hoc support new games. Right now, per-OS, we're shipping around 7 builds of Core (that's like 2MB) each with basically a few tiny changes to account for the different interface layouts. Alternately, we could have factored out engine stuff early on, but it's hard. FFI can be fast and a self-hosted Core would let us distribute updates and take community patches much easier. Builds would be like 10X faster too.
  • Pawn is unsafe and has no heap. Type errors are easy and can lead to crashes or memory corruption. People want composite types (records, structs, whatever) and sane dynamic arrays.
  • Static typing makes it difficult to express the HL2SDK variations. It ends up being verbose.
  • The compiler produces binaries, which makes it much easier to lose your source. We've also seen people slide backdoors in or violate the GPL.

Who knows, these ideas could end up being sub-optimal too. But I have a feeling we would be better off.
__________________
egg

Last edited by BAILOPAN; 03-10-2011 at 12:18.
BAILOPAN is offline
Dygear
SourceMod Donor
Join Date: Apr 2004
Location: Levittown, NY
Old 03-11-2011 , 05:49   Re: In retrospect, is there anything you would of done different?
Reply With Quote #6

Thank you BAILOPAN, it's something to think about.
__________________
Dygear is offline
Send a message via AIM to Dygear Send a message via MSN to Dygear Send a message via Skype™ to Dygear
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 13:51.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode