Project Update – Phase 1 Complete
היום הצלחתי, סוף סוף, מוקדם בבוקר, להביא את הפרויקט לרמה שאפשר להציג. זאת אומרת, סיימתי ליצור חדרים בצורה אקראית ולחבר ביניהם… בצורה מסוימת. והבאתי את זה למנחה שלי והוא ראה את זה ובדק את זה ואמר שזה נראה נחמד רק שיש כמה בעיות (שאני יודע עליהם) ואז… נעבור לנושא אחר לחלוטין. זאת אומרת, כל מה שעשיתי עד עכשיו. זרוק חצי מזה לפח ונעבור למשהו אחר. מה שעשיתי עד עכשיו זה ליצור את האסטרואיד, ליצור חדרים בתוכו ואת המנהרות ביניהם ואז להשתמש במנגנון הקיים של המשחק בשביל ליצור את מבנה האסטרואיד הממשי. מה שהמנגנון הזה עושה הוא לבדוק מה נמצא בתוך האסטרואיד ולא בתוך חדר ואז לשים שם אבן. מה שזה אומר זה ליצור אסטרואיד ואז ליצור חדרים ואז ליצור מנהרות ואז ליצור כל אבן ואבן. וכל פעם שאני אומר ‘ליצור’ אני מתכוון לפקודת Insantiate ב-Unity. וכל פקודת Instantiate עולה הרבה משאבים. אז המטרה היא לחסוך כמה מהם. אז מה שאני אעשה זה לבנות את האסטרואיד כאוסף של פונקציות שבסוף יגידו לי אם צריכה להיות שם אבן או לא. ומה שבאמת מגניב אותי: אני ממש מתרגש מכל זה. זה הולך להיות מגניב.
Posted in Gaming, Geekdom, No Category, Programming by Eran with comments disabled.
The Price
Got a new thing in my Programming Projects. Please check it out. It’s in an early stage and I would appreciate feedback. Just click that link at the bottom of the screen.
Posted in Gaming, Programming by Eran with comments disabled.
Life and Project
במקרה וזאת הפעם הראשונה שאני מציין את זה (אין לי ממש כוח לבדוק, סלחו לי טוב, זה לא נורא מסובך לבדוק. זאת הפעם הראשונה), אני עובד עכשיו על הפרויקט שלי בטכניון. תכל’ס, מכל הדברים שאני חייב לעשות, נשארו לי רק זה וחישוביות. הצלחתי להסתנן לפרויקט של משחקי מחשב וכרגע הרעיון הוא לבנות מערכת של בנייה פרוצדורלית. אני עדיין לא סגור לגמרי מה יהיה התוצר הסופי אבל התהליך והתוכנית הנוכחיים הם כדלקמן: הורדתי את הקוד של משחק שקיים באינטרנט (שהוא דיי מטורף, כדאי לפחות לנסות), הבנתי איך הוא יוצר את הסביבה שלו ועכשיו אני מנסה לגרום לו ליצור סביבה אקראית בכל פעם שהוא מתניע מחדש. אני יודע, המשחק הקיים דיי קשה וייצור אקראי עלול להפוך אותו להרבה יותר קשה או הרבה יותר קל. אבל זאת המטרה וצריך להיות מעניין. ההתקדמות הנוכחית שלי היא שהצלחתי ליצור אסטרואיד עגול בגודל אקראי (החל מ”אתה קורא לזה אסטרואיד? זה אגוז” ועד “!That’s no asteroid! That’s a Space Station”) וליצור לו חדר כניסה אקראי. עכשיו אני עובד על לבזר יותר את יצירת החדרים בתוך האסטרואיד והכניסות שלו כדי שאוכל לקרוא להם בצורה אקראית. 2/5/2013, עדכון: יצירת כניסות אקראיות – עובד. יצירת חדרים אקראיים – עובד. עכשיו אני צריך לחבר אותם ביחד.
Posted in Gaming, Geekdom, No Category, Programming by Eran with 1 comment.
Reading Files in C++, Quick and Easy
It’s a simple thing that can get needlessly complicated, especially if, like me, you return to C++ after a while of not using it. And then you ask yourself: “I need to read from a file but how did I use to do that? And what’s the best way to do this any way? Well, I don’t know about best but this is the quickest and easiest way I could find. std::ifstream t(“file.txt”); std::stringstream buffer; buffer << t.rdbuf(); And now your buffer contains the entire contents of the file and you may do with it as you please, using it like any other stream. Yes, streams allow you to output as strings two. You may even use a wstringstream if you want it to be encoded wide. My problem came when my boss told me to dump the streams. But more on that later. Maybe.
Posted in Programming by Eran with comments disabled.
How to Compile OpenSSL for Visual Studio 2010/2012
We are using OpenSSL for secure communication because… well, anyone with an application communicating over any kind of network should use some kind of secure communication. OpenSSL is free and open source so it’s a good choice for many of the usual reasons. OpenSSL is multiplatform and requires an on-site build. We are working with Visual Studio 2010 (now moving to 2012) and thus we need to compile it specifically for that environment. I couldn’t find any set of instructions this clear and this precise. This has been cobbled up from many sources and modified by me to fit our scenario. But, I believe this should be useful for anyone compiling OpenSSL for Visual Studio from 2003 and beyond. Basically, there are two ways to do this: With the Visual Studio assembler or with the Netwide Assembler. I will explain them in tandem. After some (read: many) iterations on this, I’m not sure if there is a problem with either or which one is better. I ended up using the Netwide Assembler. It, however, requires another install. So my suggestion is using the VS assembler and if you have problems you can’t fix, try the Netwide Assembler. Ingredients: Install the Perl compiler for windows. Put it in an easy to reach place like C:\Perl Download the latest OpenSSL sources. Put them in an easy to reach place like C:\openssl-<version> If you are using the Netwide Assembler (NASM), install that too. Put it in an easy to reach place like C:\NASM Continue Reading →
Posted in Programming by Eran with 4 comments.
תרגיל פשוט בתקשורת אינטרנט
לפני כמה ימים הגשתי את התרגיל התכנותי של הקורס ‘תקשורת באינטרנט’. מדובר היה בתוכנית פשוטה המורכבת משני קבצים, כל אחד מהם מספר מאות של שורות, והיא שימשה כתוכנית מסרים מידיים רבת משתתפים. ואני לא יודע להסביר בדיוק למה אבל זה גרם לי להרגיש ממש טוב. זאת אומרת, השקענו בזה פחות משבועיים ואני והשותף שלי יצרנו סוג של ICQ קטן בפחות מאלף שורות קוד. זה דיי מגניב שיצרנו משהו שהוא לא סתם הדגמה או סימולציה אלא משהו שיכול להיות שימושי בעולם האמיתי אם כי קצת פרימיטיבי.
Posted in No Category, Programming, School by Eran with comments disabled.
לפעמים אי אפשר לחלוק
אז הפרויקט שעבדתי עליו בעבודה עובד. למרות שזה משהו יחסית פשוט ובנאלי אני אנקוט בזהירות ולא אגיד מה זה בדיוק כדי לא בטעות לעבור על תנאי החוזה שלי. אבל בגלל שזה משהו יחסית פשוט ולפי דעתי לפחות, עובד יותר טוב מהאלטרנטיבה הקיימת, רציתי לחלוק אותו עם העולם. זאת אומרת, ברגע שהוא גמור רציתי לשאול את הבוס שלי אם אפשר רק לעקור ממנו את החלק המורכב יותר שהוא חלק מהתוכנה הגדולה יותר ולהפיץ אותו חינם באינטרנט. כשחשבתי את זה בהתחלה, החלק שרציתי להוציא בשביל שיהיה אפשר היה בערך עשירית מהפרויקט. אבל במשך כל השבוע האחרון עבדתי עליו כבר כחלק מהתוכנה הגדולה והוא לאט לאט השתלב בה יותר ויותר (בעיקר כדי שיהיה יותר יעיל בפעילות הרצויה שלו) כך שעכשיו, לעשות את מה שרציתי בהתחלה יכלול להוציא בערך חצי מהקוד. אז חבל. הייתי שמח לחלוק את זה אבל אני כבר לא יכול. :(
Posted in Programming, Thinking Out Loud by Eran with 2 comments.
קצת מביך
אתמול גיליתי שהפרויקט שעבדתי עליו בעבודה, ובעצם כבר בדקתי וראיתי שעובד, מלא בפגמי עיצוב בסיסיים והיה צריך שכתוב מסיבי כדי להיות מהיר ויעיל יותר. בעצם, זה קצת הרבה מביך. אני לא יודע מה לחשוב על דבר כזה. מצד אחד, זה מבייש ואני מרגיש כאילו הכבוד שלי נפגע. מצד שני, זה משהו שמובן בהתחשב בכך שאני מתכנת מתחיל? ואחרי שעבדתי על זה עוד כמה שעות טובות, עדיין לא הצלחתי לסיים את היום עם משהו שבאמת עובד. קצת מתחשק לי לקבור את הראש בחול. והיום אני צריך להתקדם הרבה עם התרגיל בתקשורת אחרת אני בצרות.
Posted in Practice, Programming, Thinking Out Loud by Eran with comments disabled.