בנוגע למשחקי פלאש...

erezor

New member
בנוגע למשחקי פלאש...

מי מכם שעוסק בזה (כמו darakan...) - מה הגודל הממוצע של משחק שאתם מעלים? לדוגמא, מה היה גודל ה-SWF של נאוטילוס?
 

Darakan

New member
מגה וחצי.

אבל בהשוואה - המשחק הבא שלי הולך לתפוס כ-10 מגה (ואולי יותר). בעקרון, משחק פלאש מתנפח בגודל רק מגרפיקה לא וקטורית ומקבצי סאונד (בעיקר לופים/מנגינות [אפרופו לופים, לפני כמה זמן מישהו פה העלה יוצר סאונדים דינמי לפלאש שיכול ליצור נעימות די אטמפוספריות למשחקים, אז בכלל משחקים לא תופסים הרבה]). עבור המשחק הבא שלי, אני הולך להשתמש בביטאמפים ברזולוציה גדולה יותר ולגוון מבחינת המנגינות - ומכאן הגודל.
 

erezor

New member
סבבה...

הפרוייקט שלי כרגע תופס 3 מגה, פחות או יותר, אז אני נמצא במקום טוב, אבל עד עכשיו ממש התקמצנתי על הגרפיקה, למרות שזה קל בהתחשב בסגנון המשחק. כמה זמן להערכתך תהיה טעינה של משהו בגודל 10 מגה?
 

Darakan

New member
זמני טעינה זה חרטא

אנשים לא עומדים ובוהים במסך הטעינה כמו פעם, אלא פותחים טאב נוסף ועושים משהו אחר במקביל. זמני טעינה ארוכים כבעיה הם נחלת העבר מהסיבה הזו (שיש לך טאבים בכל דפדפן) וגם מהסיבה שלשחקנים לא אכפת לחכות דקה-שתיים ואפילו יותר בשביל משחק טוב. לא סתם Newgrounds העלו את רף הגודל ל-15 מגה - יוצאים בימנו משחקים כמו Sonny, Remus ו-Germcraft ששוקלים אפילו 20 מגה ועדיין יש להם מליון כניסות.
 

De-Panther

New member
מה שמוזר, שלא אכפת להם לחכות שזה יטען במשך...

הרבה זמן(מה גם שיש טעינות ברקע שמצמצמות את זמן הטעינה הראשי, וגם האינטרנט יותר מהיר מבעבר), אבל כן אכפת להם שזה לא יהיה משהו שצריך לשמור במחשב
 

erezor

New member
ברור

בכלל, ברגע שיש לך איזשהו תהליך של התקנה או הרשמה, אתה מאבד 50% מהשחקנים
 

Darakan

New member
לדעתי זה שונה

אנשים משחקים במשחקי פלאש כי זה נגיש - אתה לוחץ על השם של המשחק, מחכה זמן קצר, לוחץ Play ויש לך את הכל. התקנה היא תהליך ארוך ומסובך הרבה יותר בשבילהם: "מה אני מוריד?", "אולי זה וירוס", "אין לי כוח להתעסק עם זה", "אין לי מקום במחשב", "זה המחשב של אח שלי/אבא שלי והוא לא מרשה לי להוריד דברים" בלה בלה בלה...
 

voguemaster

New member
אתה צודק לגבי התקנה

זה תהליך שמשתמשים לא רוצים. הם מעדיפים את השיטה של הקונסול - תכניס דיסק וזה ירוץ לבד, או לחלופין, תקליק על לינק וזה ירוץ, בלי התקנות ובלי כאבי ראש. הדבר שאני לא מסכים לגביו הוא הקטע של "אולי זה וירוס" וכד'. פה דווקא המשתמשים מציגים דביליות אמיתית. אם המודעות לוירוסים וסוסים טרויאניים עלתה עבור הורדות, אין את המודעות הזו כלפי אפליקציות דינאמיות שבאות מהרשת. למעשה, כל השיקולים האלה ממש לא נכנסים למע' השיקולים של המשתמש, לצערנו הרב, מה שמותיר פרצות אבטחה לא קטנות בכלל.
 

somebodddy

New member
לא יודע לגבי פלאש, אבל בג`אווה למשל

ישומונים מוגבלים מאוד ביכולות שלהם, כדי למנוע אפשרות להחדרת וירוסים דרכם.
 

adiel666

New member
תאמין לי

ההגבלה הכי קשה בJAVA זה הMaximum Ram שהJVM מקצה לתוכנית שלך ובApplets לא ניתן לשנות את זה(בדרך כלל משתמשים שלא מתעסקים בהגדרות נותנים אוטומטית רשות רק למקסימום של 64MB)- ברגע שתעבור את ה64 MB המשחק יתקע ויפסיק לעבוד. במנוע שבניתי למשחק שלי(דו מימד) הייתי צריך "לאבד מצביעים" ולקרוא בעצמי לGC בכל פעם שרציתי לטעון נתונים אחרים בגלל שיעילות מהסוג הזה חשובה ביותר בדברים האלו.
 

somebodddy

New member
דווקא דיברתי על מגבלות כמו

גישה לקבצים, או תקשורת עם שרתים.
 

voguemaster

New member
אני מכיר היטב את ה-SANDBOX של ה-JVM

אבל אני יכול להגיד לך שביותר מדי אפליקציות רשת האתר מנחה אותך לאשר לאפליקציה לעשות מה שבא לה. אם זה ACTIVEX אז לאשר את ההתקנה שלו והגישה שלו למה שהוא צריך. אם זה APPLET אז לאשר שהוא בטוח ואז ה-SANDBOX לא יפריע לו לגשת לכל מיני משאבים שהוא צריך וכד'. במשחקים הבעיה היא פחות חמורה כי אפשר ליצור משחק שלא דורש דברים מיוחדים מצד מחשב הלקוח אבל כמו שאמרתי קודם - כל הנושא של אבטחה, מניעת וירוסים וכל השיט הזה לא קיים כמעט כשמדובר באפליקציות רשת. המשתמשים הם הבעיה העיקרית פה כמובן.
 

adiel666

New member
אם רוצים לבטל את הגבלות הSANDBOX

צריך לקנות Digital Certification וזה עולה בסביבות 400$. אם מזייפים חתימה דיגיטלית, זה יתן למשתמש בין פעמיים ל3 פעמים "אזהרה חמורה" כי התוכנית אינה בעלת חתימה דיגיטלית אותנתית ומסוגלת להזיק למחשב והאם לתת לה הרשאה מלאה(כאשר רשום שזה לא מומלץ) או לא. בקיצור, קונים.
 

voguemaster

New member
אפשר גם לייצר CERTIFICATE

ולבקש מהמשתמש לאשר אותו. גם זה עובד. עשינו אצלנו דבר כזה באחת האפליקציות (ג'אווה, מבוססת WEB, אחלה אפליקציה
). קנינו CERT בשביל תקשורת HTTPS (כדי שלא תופיע הודעה למשתמש, אחרת אפשר בלי ה-CERT) אבל את ה-JAR של האפליקציה עצמה חתמנו בעזרת CERT שיצרנו בעצמנו. המשתמש צריך לאשר פעם אחת בלבד את האפליקציה (בזמן "התקנה") וזהו, זה מנגן.
 

adiel666

New member
וזה בApplet??

כשאתה אומר לייצר, זה כמו שאמרתי לזייף. וכשמדובר על זיוף בApplet - זה ישאל כל פעם מחדש פעם אחת, ובפעם הראשונה מס' פעמים.
 

voguemaster

New member
לא לא

יש לנו 2 תעודות. הראשונה של THAWTE שנועדה לאבטח את החיבור (HTTPS), במידה ורוצים לעבוד עם הצפנה. במקרה הזה, בתוך ה-JAR של האפליקציה עובר גם CLIENT CERT. הוא קיים כדי שהדיבור בין הלקוח לשרת בפרוטוקול המיוחד שלנו (של האפליקציה) יהיה מאובטח ב-SSL. ה-CLIENT CERT הזה וגם ה-SERVER CERT המתאים לו נוצרו על ידינו. לא צריך מעבר לכך כדי לאבטח את החיבור. הדבר היחיד שצריך זה CERT אמיתי בשביל לעשות את החיבור המאובטח מעל HTTP. עכשיו, ברגע שיש CLIENT CERT כזה (הוא קיים עבור האפליקציה שלנו) אז המשתמש צריך לאשר (אם זכור לי נכון) פעם אחת כדי לאפשר להגיד ל-JVM שה-APPLET הזה הוא SIGNED ולתת לו גישה יותר גדולה למחשב.
 

adiel666

New member
WebStart?

באיזו טכנולוגיה השתמשתם? סלח לי אבל אני לא מבין הרבה בכל התחום של Digital Signatures ככה ש...אני אקח את מה שאמרת כמו שזה.
 

voguemaster

New member
כן

אבל דווקא את זה אפשר לעשות גם עם APPLETים. דווקא ב-WS זה יותר קשה כי WS דורש שעבור JAR חתום כל ה-RESOURCES שלו (כל JAR אחר שהוא משתמש בו) יהיו גם חתומים. אפשר לעקוף את זה בעזרת הפניה ל-JNLP אחר...
 

Yotam Noy

New member
הנחת העבודה שלך צריכה להיות: משתמש=דביל.

בגלל זה כל מה שאתה עושה צריך להיות כמה שיותר "חסין-טיפשים". לפעמים אני נדהם מרמת אי-ההבנה של אנשים לגבי דברים שלי ולך יהיו ברורים כשמש. אלה החיים, זה המצב, כך העולם עובד, וכו'.
 
למעלה