Page 1 of 5

Glamorize Me, Capt'n! -- Level Editor Preparations

Posted: Wed Jan 21, 2009 6:12 pm
by Arce
As usual, I’ve tried to incorporate devving into my school day. If I’m lucky, I can get a good grade for something I’d have done anyway. ;P

This year, I’ve signed up for another independent research class. Last time I’d done this was 7th grade, and I made my space game. This time, however, my project shall be none other than my level editor.

The teacher requires that we enter our project into a small state competition, ‘ACSL.’ Generally, there are only three schools that enter with the majority of winners being from mine. As prize, you’d get a cool little trophy, and perhaps a pat on the back… I may be undermining the competition a bit (actually, I’ve never gone, though I think Gyro did when he was a lad), but I kinda don’t want to submit the editor I’ve been working on for over a year to a competition I know I’ll win—especially when the prize for winning isn’t quite as high as I’d like. The winners for the last three years were complete1y dos-prompt based, and were mostly calculatory apps: “Save Earth! Calculate the projectile trajectory to hit an asteroid! (using an already written algorithm provided by my dad’s friend at NASA!!11oneone).” Though some projects were pretty cool, I just don’t really like the idea of going to that competition…Though the option is still open. From what I understand, winning here is a matter of making your project the most visually impressive. A student who previously entered a dos-prompt demolition-calculator told me that an ignorant judge asked him “Does it have steam engines? I like trains. . . “ *doh*

There’s another one I could try...The University of Alabama over Huntsville Science and Engineering Fair. This one, which is hosted by Intel, is obviously a bit more prestigious. I believe that winning would graduate your project to a national level and win you a few other things (scholarship!? Ha, wishful thinking…? xD). However…This isn’t a programming based competition. The dude who won last year did a project on a freaking catapult…I’ll be going against every science project that 8-12th graders dream up…

So, after reading through tons of paperwork and guidelines…I continually ran into the usual science crap: “Step one: Ask a question! Step two: Form a Hypothesis!” So I found myself wondering if it would be worth tweaking my presentation of the editor to fit the damned scientific method…Is that not a science and engineering fair?!

Then, at about page 17 (after 6 pages of human research and informed consent rules, even including a segment on the use of persons in a federal prison…o.o), I ran into this little paragraph (http://www.societyforscience.org/isef/d ... bk2009.pdf pg2):

Click here to see the hidden message (It might contain spoilers)
Non Inquiry Based Research
Not all areas of study are best served by scientific method
based research. Because engineers, inventors,
mathematicians, theoretical physicists, and computer
programmers
have different objectives than those of other
scientists, they follow a different process in their work. The
process that they use to answer a question or solve a
problem is different depending on their area of study. Each
one uses their own criteria to arrive at a solution.

Engineering Projects
“Scientists try to understand how nature works; engineers
create things that never were.”
An engineering project
should state the engineering goals, the development
process and the evaluation of improvements. Engineering
projects may include the following:
1) Define a need or “How can I make this better?”
2) Develop or establish design criteria (could be more
than one)
3) Do background research and search the literature to
see what has already been done or what products
already exist that fill a similar need. What make them
good and what makes them weak?
4) Prepare preliminary designs and a materials list.
Consider costs, manufacturing and user requirements.
5) Build and test a prototype of your best design.
Consider reliability, repair and servicing.
6) Retest and redesign as necessary. Product testing.
7) Present results



Ha, beautiful, perfect, awesome, great. That’s more how I imagined—I can work with those guidelines easily.

As with most science fairs, you have a display area setup with some kind of visual presentation, and you deliver an oral explanation to the judges. There are some highly specific guidelines for the presentation setup, but little on the oral part.

I think I’m going to enter this competition thingy. This is a good thing, as it’ll force me to get work done on the editor I may not have done otherwise (particularly glamour and heavy code documentation). At very least, we can add to our photo album pics of me (and maybe Gyro?) presenting the editor before judges; completed with a professional setup and a nice suits. And if things go well, a picture of some kind of certificate or plaque along with a cash prize by IEEE or some other organization.

So, why’d I bother to make this topic and tell you? Well, I’m going to need some heavy, heavy preparations. I’m going to be using this topic regularly for updates, changelog, and other stuff related to the preparation of the editor. My project’s a little non-traditional; the fact that I had to reach page 17 before mention of engineering projects leads me to think that most everybody else follows the standard scientific method, 3 board display format. In this respect, I think I may have an upper hand--I won’t be going up against a barrage of presentations identical to mine. Not only this, but I actually enjoy what I’m doing. I’m willing to put an extra assload of time and effort into every aspect of it; this is something I was doing anyway, so there’s no excuse for having a half-assed project.

Again, why bother telling you? Because any suggestions, help, recommendations, etc. would be highly appreciated.

“But it’s supposed to be your project, right?”
If that’s your thinking, then I aught to shove my foot right up your goddamn ass! Most of these kids are working with ‘mentors’ who have their doctor’s degrees, or daddy’s friends at NASA! I live in one of the US’s engineering capitals, a few miles away from the National US Space and Rocket Center. I’m going up against projects that have absolutely nothing to do with programming. We’re comparing apples to oranges. And, I don’t need help on the editor at all--the trick here is to make the presentation reflect pure engineering genius and scream at the judges “PICK ME!” If one of your guy’s suggestions can help my project, then by all means let me know. This is as much to the team’s benefit as my own. There's absolutely nothing wrong with suggestion changes to my presentation, or even the editor. I am not and will not ask for coding or other help regarding the actual engineering of the editor.

Now that that’s settled…What needs to be done? Again, I think the key to winning this thing is in the presentation. That means quite a bit more than a nice 3-section poster board. I’ve got to show them the sheer amount of work that’s gone into this thing, as well as the professionalism in the development routine (lol). The student guidelines said that a dev-notebook is acceptable and recommended, which is great news. Also, I will be able to bring a computer to the presentation if I were to feel so inclined—not sure if that’s the smart way to go, though. I’ll talk a lot more on the subject later…Also, I need a research outline, as well as a 250 word abstract on the project to be turned in before the sign-up deadline, Feb 6. The actual presentation is March 5 or 6, so I’ve still got some time to get everything else together.


____________________________________________________________________________________________________________________

The Dev Notebook
In my opinion, this’ll take the most work. I’m trying to decide how to section this thing off, but I haven’t finalized my decision yet.

I could do something like this:

• Changelog –
Obviously, this’ll be a changelog for the project. I’m not sure if I should browse the forums, personal notes in my older source files, repository change logs, etc for this section to get dates before today…Or even just make some up? I think the more dates the better, but I most definitely cannot get a day-by-day detailed explanation since the project started, as I didn’t even know about this competition thingy by then. Also, you’re only allowed to enter project you’ve constructed in the last year, which means no dates before ~Feb 08.

• Problems/Solutions -
This is, again, pretty self explanatory…But will be one of the heavily glamorized segments of the notebook. Here, I’ll discuss in details major problems and errors, chronologically, that I’ve encountered since the opening of the project. If I were doing it classical scientific method, ‘form a hypothesis, write an experiment, draw a conclusion’ style, this segment of the notebook would best compliment it. Here I’ll detail what is and is not working, as well as a number of possible solutions. I’ll probably begin with the initial problem statement and requirements for the editor, an outline of possible solutions (Use an already existing editor, Use an already made framework, Program own) and continue to tree it off as I go (I’ve chosen to create my own because of blah, which leads me to the next problem: Choosing a language). This segment will largely be my explanations for my decisions and actions, such as choosing to switch from SDI to an MDI application, my bizarre method of switching maps, etc. Also, I may include feedback/forum quotes from you guys through the ages (with permission) and screenshots for older project executables (Gyro told me to I need to restructure the project saving, from this (image) to this (image)). This section will be highly glamorized by my detailed explanation of problems and solutions—hopefully this will give the judges more than enough technical insight as well as sufficient insight into my ‘scientific approach’ to give my project some serious consideration. Remember, most people will be engineering or researching in order to ‘better humanity’—I’m mine is being done to better our project as a whole.

• GUI Components –
This section will contain sketches, hand made or computer generated, of the different dialogue windows my editor uses. Believe it or now, I already have ~1/4th this section done, as I really did hand draw or create a paint template of most of my windows. These will include buttons, text fields, drop down menus, etc. as well as placement coordinates. This section of the notebook will obviously be glam. I may even put window control and updates here (“I had to change the variable “width” to support values other than 16,32,64, which requires me to change dropdown_menu_1 to text_field_3). Also, I am seriously going to be remodeling many of my windows—the new templates will be fully collected here.

Edit: Idea! Maybe even put a functionality map here? Like, put a legend detailing what the buttons should do and stuff at the bottom? Yeah, I may just do this, but it’ll be completely external stuff (“Button_1 => Save the tileset” rather than “Button_1=>doDebugCheck() & saveTileSet()”)

• Usability? Feeback? Bug reports? –
Not 100% what to do here…Should I talk about the user-friendly features here? Talk about auto-scroll, save-work prompt after changes, undo button, easy-warp-laying (vs manually laying cords), launch engine/debug menu, side panel reorganization, mouse drag-fillsection capabilities, etc? Maybe put feedback and suggestion logs, and what I’ve done to fix them? Maybe be like:

“After releasing build .0.2.7, Jools (graphics artist) responded: “Could you please add some kind of option to reload the sheet so I don’t have to restart the editor when I make changes?”

And

“After releasing build .3.0.1, Peter (script kiddie) responded: “It crashed when I clicked somewhere in the top left corner. And items no long work!”

And follow them up with a ‘fixed report’ of some kind? The three topics above kinda go together…Should I literally lable the section “Usability/Feeback/Bugs” or what? Help needed here….”

• Source Code: –
This will be a full print out of the editor’s source code. I’m going to be working my hardest to get some decent documentation in and try to make it at least half-presentable…I’m going to need to get it organized better than it is now (my current BP IDE doesn’t have full support for projects, and therefore sorting stuff into files is up to me. Getting funcs and classes that go together is sometimes hard, as the differences are often quite ambiguous…BP is about as structured a language as C) I’m going to have to be sure I use consistent naming conventions throughout the source… Chances are pretty good I’m going to spend hours upon hours simply renaming some variables. I’m sure as crap not doing a line-by-line documentation; I think I’m going to assume the judges are computer literate and understand atleast some kind of programming language. Here I’ll use technical terms to describe what I’m doing (ex, ‘here I’m looping through a (linked) list of objects…)

Suggestions here on how technical/non to make it would be helpful….

____________________________________________________________________________________________________________________


I think that the notebook and abstract should have the discussion priority at the moment, as those need to be worked on the quickest (abstract Feb 6ish, notebook needs to be worked on ASAP till completion). The poster board and actual presentation will need to be hammered out a bit later on…

Again, any help, suggestions, or previous experiences in similar competitions would be awesome.

As for the abstract, I looked up some of the winning projects and found a few somewhat similar to mine. I found a spelling mistake in one (that still won hundreds of dollars in prizes.) I’d recommend taking a look so you know what kind of projects they award cash to.

Thanks everybody.

Click here to see the hidden message (It might contain spoilers)
2008 - CS003
STEGACRYPT: A MODULAR STEGANOGRAPHY FRAMEWORK
Martin Christoph Maas
Georg Cantor Gymnasium, Halle (Saale), GERMANY

When it comes to privacy, most people rely on cryptography to protect their communication. But since transmission of encrypted data can easily be regulated (e.g. by oppressive governments), it is sometimes necessary to hide the fact that there is secret communication at all. A way to achieve this is to hide information within other data like pictures or audio files. This technique is called steganography.<br><br>There already exists a great number of sophisticated steganography algorithms and programs but they are rarely being used in pracital environments. This is mostly due to some limitations of these products: most of them are very difficult to use and only support hiding some data in a single carrier file. There is no product that fits the needs of the average user: being flexible and easy-to-use at the same time.<br><br>I created a software to close this gap. It is called Stegacrypt and combines steganography and traditional cryptography to achieve a high level of privacy. By implementing an own filesystem it can hide files as well as entire folder structures. Data is automatically spread across multiple carrier files which can be of different types. Besides that Stegacrypt offers an easy-to-use GUI. It also provides a powerful and extensible framework that enables developers to add new algorithms to the program and to use steganography features in their own software.<br><br>Considering all of these points, Stegacrypt could potentially make steganography available for everyone and provide a standard for the implementation of steganographic algorithms.

Awards won at the 2008 ISEF
Third Award of $300 - Association for Computing Machinery
Third Award of $350 - IEEE Computer Society
2008 - CS018
AN OPTIMIZATION ALGORITHM FOR SPACE MISSION DESIGN: DYNAMICALLY SIMULATING ENERGY-EFFICIENT TRAJECTORIES
Erika Alden DeBenedictis
Saint Pius X High School, Albuquerque, NM
Introduction<br><br>This project focuses on the development of a software system that plans, optimizes, and simulates spacecraft trajectories. Its end goal is a dynamic space mission design system to automatically construct spacecraft trajectories between one planet and another with minimal energy expenditure by using the gravity of other planets as a form of propulsion. <br><br>Problem Statement<br><br>How can energy efficient spacecraft paths be automatically planned and effectively simulated?<br><br>Method and Results<br><br>This project uses a computer program developed by the researcher that incorporates both simulation and automatic data analysis for computerized space mission planning. The program refines the initial positions of spacecraft so their paths meet user specified requirements. This is accomplished by tracking the spacecraft’s crossing of goal regions and using this data to direct the next iteration of refinement. This method allows the user to automatically find an accurate path for a spacecraft with specified itinerary. The use of mathematical concepts underlying gravitational physics help these paths be energy efficient. The software runs on multi-core processors and has been analyzed for scalability.<br><br>Conclusion<br><br>The current program has individually simulated launching into an L1 halo orbit, automatically transferring into an L2 halo orbit, and reaching both near and distant planets with gravity assist from intermediate planets. These trajectory segments may be connected with an energy-gaining transfer pattern which allows the spacecraft to achieve more distant destinations. The program makes effective use of 2- and 4-core processors and should show further performance increases with more cores.

Awards won at the 2008 ISEF
First Award of $1,000 - IEEE Computer Society
Third Award of $1,000 - Computer Science - Presented by Intel Foundation
Third Award $150 - Patent and Trademark Office Society
First Award of $3,000 - United States Air Force
DEVELOPING XUNI: A GRAPHICAL USER INTERFACE WIDGET TOOLKIT
David Christopher Williams-King
Argyll Centre, Edmonton, Alberta, CANADA
xuni, an open source Graphical User Interface (GUI) widget toolkit, was developed in C for the Simple DirectMedia Layer (SDL). xuni was designed to be as portable and flexible as possible, and supports many features, including widget rescaling -- something no other toolkit examined can do.<br><br> xuni is a very large project, with over 10,000 lines of source code. As designed, xuni is also very flexible, for all who might utilize it: programmers, artists, and end users. xuni also has many features that fall into the other three categories: it is reasonably complete, very robust, and fairly efficient.<br><br> Some example features of xuni include: external resource files and themes (artist flexibility); basic text editing with insertion and deletion (user flexibility); reference counting to catch memory leaks (efficiency); and of course, rescalable widgets (user flexibility), which xuni is unique in implementing.<br><br> xuni was published online, and feedback was received, including some bug reports. Several test programs were written that used xuni, and a game was even ported to use xuni.<br><br> Finally, xuni was compared with other similar widget toolkits in terms of flexibility, completeness, robustness, and efficiency. xuni performed very well in the tests. It won all of the flexibility subcategories with ease. Though somewhat weak in completeness, xuni still won half of that category. xuni won robustness overall, and was reasonably efficient.<br><br> xuni is a competitive open source toolkit that, uniquely, provides a way for SDL applications written in C to use widget rescaling.

Awards won at the 2008 ISEF
First Award of $1,000 - Association for Computing Machinery

Re: Glamorize Me, Capt'n! -- Level Editor Preparations

Posted: Thu Jan 22, 2009 9:59 pm
by MarauderIIC
Moved from Private Development because I thought it'd do better out here.

Re: Glamorize Me, Capt'n! -- Level Editor Preparations

Posted: Fri Jan 23, 2009 12:43 pm
by M_D_K
I'd be careful about running a demonstration of your editor to the judges, not because its crap or nothing just that VIP bugs tend to happen(crashes/hangs that only happen when showing to VIPs). If you do make sure that your editor is bullet proof, get the rest of the dev team to grind it trying to make it crash.

Re: Glamorize Me, Capt'n! -- Level Editor Preparations

Posted: Fri Jan 23, 2009 12:46 pm
by Falco Girgis
M_D_K wrote:I'd be careful about running a demonstration of your editor to the judges, not because its crap or nothing just that VIP bugs tend to happen(crashes/hangs that only happen when showing to VIPs). If you do make sure that your editor is bullet proof, get the rest of the dev team to grind it trying to make it crash.
aka give it to Peter for a few minutes... if something can crash in any possible scenario, that bastard will find a way to do it.

Re: Glamorize Me, Capt'n! -- Level Editor Preparations

Posted: Fri Jan 23, 2009 12:57 pm
by dandymcgee
I think it's a really cool idea, although I won't be of much help as far as a presentation. I'm looking forward to pictures, and I wish you the best of luck!

Re: Glamorize Me, Capt'n! -- Level Editor Preparations

Posted: Sat Jan 24, 2009 12:34 am
by eatcomics
Well Marcel I wish I had some advice for you but, seeing as how I'm a lazy freshman who lives in flora (aka the middle of nowhere) I don't have any experience in such fields, but I wish you the best of luck and congratulate you on making the decision to do something like this. For me the pressure would be too much and I would give up... Anyways I can't wait to see how this progresses and I hope you win
Oh and the xuni thing sounded cool, and so did the space flight path finder thing as well...

Re: Glamorize Me, Capt'n! -- Level Editor Preparations

Posted: Sat Jan 24, 2009 12:40 am
by LeonBlade
I say you pwn them with something easy and just win with no effort lol

Re: Glamorize Me, Capt'n! -- Level Editor Preparations

Posted: Sat Jan 24, 2009 12:43 am
by Arce
M_D_K wrote:I'd be careful about running a demonstration of your editor to the judges, not because its crap or nothing just that VIP bugs tend to happen(crashes/hangs that only happen when showing to VIPs). If you do make sure that your editor is bullet proof, get the rest of the dev team to grind it trying to make it crash.
Ha, most definately. I'm not yet sure if I am going to present it directly or not...A cheapass way to side-step that kind of problem is to create a soundless movie showing off various features of the editor. That way I can pause the video when I feel like talking, and have a real-time demonstration that's pre-prepared (meaning, i won't forget to show stuff, no crashing, etc)

A1so, thanks everybody for the feedback. Working on some sample pages for the "GUI" section of the notebook atm. Will upload a sample or so when Marauder and I decide we like what we've done. XD

Would very much appreciate some feedback. Starting with the most basic windows.

Re: Glamorize Me, Capt'n! -- Level Editor Preparations

Posted: Sat Jan 24, 2009 1:30 am
by cronjob00
I haven't had to much experience with it although I had a friend enter one he did what you said and showed a pre made video he said it was a lot easier instead of having to try and think of what he was doing and what he had to do next he could just concentrate, He also at the very end gave a real quick live demonstration just to show them that it was real and that it worked. anyway figured I would just throw that out sounds like its going to be cool good luck with it.

Re: Glamorize Me, Capt'n! -- Level Editor Preparations

Posted: Sat Jan 24, 2009 1:55 pm
by Falco Girgis
There is no way in fucking hell that Marcel won't win this. His level editor is a shining engineering feat that serves a very important purpose with the magnificence and majesty of an all lesbian porno library.

I'm the master at glamour. We're going to pimp the fuck out of his display. Imagine having the Dreamcast running a build of the level that they are currently editing (and having our dynamic reload system reload the level right as he pushes save). The judges can see/run through levels that they are creating in real-time.

If you don't win, it's because of the judges being ignorant, closed minded douche bags who don't know shit about engineering. Good luck, my brother. You won't need it. ;)

Re: Glamorize Me, Capt'n! -- Level Editor Preparations

Posted: Sat Jan 24, 2009 11:46 pm
by eatcomics
PWN A11 TEH NOOBS ARCE!!!!!!!1111
good 1uck man, and I'm gonna start using 1's for l's too, just so you don't fee1 awkward and a1one, trust me I've been there :lol:
Man I'm gonna have to triple read my posts just to put 1's 1o1

Re: Glamorize Me, Capt'n! -- Level Editor Preparations

Posted: Sun Jan 25, 2009 5:32 am
by Chaos Clown
Good luck, and don't forget to take pictures while you're there.

Actually, It'd be pretty cool to have a segment from this in AiGD chapter 17 (if 16's out before march ;) ). So cool, in fact, that If I wasn't skint, I'd donate money towards the camera and DEMAND it to be there!

Re: Glamorize Me, Capt'n! -- Level Editor Preparations

Posted: Sun Jan 25, 2009 5:55 pm
by trufun202
M_D_K wrote:I'd be careful about running a demonstration of your editor to the judges, not because its crap or nothing just that VIP bugs tend to happen(crashes/hangs that only happen when showing to VIPs). If you do make sure that your editor is bullet proof, get the rest of the dev team to grind it trying to make it crash.
At my last job we would give live product demonstrations to clients, and random shit would always go wrong. Eventually we just recorded a video of the app so we didn't have to worry about any issues - plus it gave us a chance to perfect the timing of the presentation.

Marcel, I really hope the judges will grasp the amount of depth and power in your editor. You're doing some amazing work and you're not even in college yet! The future is is bright for you, sir.

Nice work, and good luck.

Re: Glamorize Me, Capt'n! -- Level Editor Preparations

Posted: Fri Jan 30, 2009 6:48 pm
by Trask
So when is this happening(glanced through the post, didn't see it). If it's not too late, good luck. And if you don't win, its definitely just because this being way over the judge's head. I think you've done fantastic things just from the small bit we saw in the videos, definitely worthy of some prize.

Re: Glamorize Me, Capt'n! -- Level Editor Preparations

Posted: Fri Jan 30, 2009 6:52 pm
by MarauderIIC
The write-up is currently this (Word 2005/7). Looks pretty, no? :)