Joey's profileJoey Sipos's FSX Develop...PhotosBlogListsMore ![]() | Help |
|
Joey Sipos's FSX Development BlogSipos Studios - Joey Sipos June 30 Formation Flying - Video!Here's a sneak peak of the blue angels flying information using AI recording. It's actually extremely hard to fly in formation; it took me recording after recording to get the effect I wanted. When you install the mission you will be able to fly alongside the Blue Angels as seen here! I’m not very pleased with the video, the quality is horrible plus the editing sucks. But this was my first time using Adobe Premiere and I learned a lot. I will get better as I go on. I guarantee the next trailer for our video will be much better quality and worth watching.
June 22 The AI Obsticle!Ok, so I promised a post every Monday, so here I go. This week’s subject is artificial intelligents! One of the hardest challenges we've faced with making a Blue Angels Mission is AI aircraft. We asked ourselves over and over again, how the heck are we going to get this AI to work? How in the world are we going to get 6 Blue Angels flying in formation at the same time? Is it even possible? I looked at a variety of solutions with the mission system, using AI waypoints and so forth, but after experiencing copious amount of problems and bugs I knew this solution was far from possible. But where this a will there is a way! And I came up with a solution. It involves recording your flight and playing all 5 of them back at the same exact time. It works like a charm! The only problem is it takes forever to record each AI! You have to fly each aircraft in formation and if you make one mistake - START ALL OVER. I will post a video of the working AI tomorrow! I have to say, it's pretty amazing seeing all 5 of the Blue angels (plus you) working together! And I think I am the only one who successfully implemented this in a working Mission, I’m surprised no other Blue Angel Missions exist yet! June 15 Full throttle here we go…..!!!I mentioned earlier about how I am working on a F-18 Blue Angel Training mission for FSX. You might have though I quit but OHHHH NOOOO - we are still on and have big plans for this project! My partner Mike and I are starting up a company entitled Free Sky Productions LLC, aimed at making high quality complex missions for FSX. A very rough draft of the website is going up and will be under construction for quite some time (while we get closer to release date). I guess you can take a look now if you want… http://freeskyproductions.com/ and watch it develop as time goes on. The goal is to get a well done quality mission out the door and up on our site by Early August 2009 and will be working very hard this summer to get it done. Since becoming very familiar with the mission system over at ACES and starting to learn programming, I wish to build a mission that’s quite unique and much more sophisticated than any other mission developed. Perhaps the most sophisticated mission built for fsx!
What makes this mission any different from the rest? The answer is it’s much different! You may have played the default missions for FSX but this mission is nothing like those. The original plan was to create a tutorial like mission with built in visuals to help you learn the F-18, which can be quite intimidating to any first time user. For instance instead of having to read a long manual on how to operate the aircraft you would just start up the mission and it will step you through the start up procedures, how to properly take-off, complete some maneuvers and land. Well, when starting off we got the first half of the mission complete, with some cool features including a helper cam that will show you where in the cockpit the various controls are in real time while playing the mission. But something was missing. It wasn’t very fun to play, especially when flying over and over again. It needed a challenge and a reason to re-play the mission.
So this is when we started thinking about a point system. One which keeps track of your score depending on how well you fly the mission. The mission system really doesn’t have anything developed for keeping score, except perhaps via counter trigs – which can become quite tedious and time consuming and doesn’t really give us the results we want. So I had to find a way… And there is a way! The answer is in Simconnect! Just recently I hooked up my first simconnect program and have it running. Simconnect basically opens the door to unlimited possibilities and wished I explored it earlier – you can connect to any simVar or simEvent and use that in your external application. There is one action in the fsx mission system that has one million times more power then any other action or trigger in the OPT. They should have called it the “SUPER MEGA ACTION” but instead it’s called the “custom action”! Basically it lets you send your own payload string to simconnect and if your simconnect app is able to do something with it, it can process it and do whatever you want. Whether it adds a point to your score, fire another mission action, send a message to flight sim, set a simVar, create a waypoint for AI object, or anything you can think of for that matter! Basically it’s awesome! So right now I am working on the FSX Blue Angel Training Mission External Application that connects to FSX and will keep track of your progress and score and perhaps a little more. We are thinking after completing the mission you will upload your score to our website where you can compare a judge yourself amongst the other Mission players. This is an unknown feature at this time but one we wish to include it. We will probably need to find a web programmer that will help us develop the online experience. If you know any web programmers/ developers that are willing to take chance and help a start up company, let me know!
Also, it needs to be exciting and enticing to play. Not cut and dry. This is why we want to spend a good time getting our story down, with a good plot and well done voice over’s. We also wish to include music, some custom scenery objects and custom aerial imagery.
Anyways, there is a ton of work to do and now that school is over it is time to get down to work! I know words are easier said then done but we are commited toward this project! Mike is getting a forum set up, so any discussions or questions should be discussed over there. Discussion and ideas are very much welcomed! There is no link to the forum on our site at this time but ill give it to you anyway - http://freeskyproductions.com/forums/
-I wish to post updates every Monday on the progress of our mission. So stayed tuned! May 22 The most complicated java program I ever had to do!Man, I’ve had to deal with writing so brutal java programs this quarter for my 143 class. The LinkList program which requires you to write your own node class, and LinkLint class, plus three other classes that create a mini word editor was probably the hardest. You had to be able to insert or delete a letter at your cursor using LinkLists. If you don't know what I’m talking about, a LinkList works by using only one class and the only way to get to a node in the list is to call the same class. LinkLists don't bother me when you just have to use a class that is already written, but when you have to write your own class to make it work that's a whole nother story... who ever came up with the concept I bow to, lol.
Anyways, I spent all night on another ridiculous program. Basically I had to find all possible words that can be created within a certain phrase/word. Like, how many words can you make out of the word "sink". The solution took me forever to find. After asking my teacher for help I finally came up with one. It’s a recursive solution that explodes extremely fast in memory due to the amount of possible solutions. For brushhair there are 362,880 solutions just for using all the letters (also know as a anagram - if i printed them out the list would be huge), and then when counting smaller words it grows to an even more extremely large number. If you enter a word over 10 letters it takes about 5 minutes to finish gathering all the possible solutions. Out of the millions of possible solutions there are only a couple words that match in the dictionary file that was given to us! Anyways, here is the solution I came up with the code: ![]() /* Joey Sipos
* Assignmetn 07 Anagram solver * May 19, 2009 */ import java.io.*; import java.util.*; public class AnagramSolver {
//ArrayList of all anagram-phrases private List<String> finalAnagramList = new ArrayList<String>(); List<String> gumbleAnagramList = new ArrayList<String>(); private String phrase = ""; Set<String> dictionary = new TreeSet<String>(); public AnagramSolver(String phrase1, String dictName) throws FileNotFoundException { //add the dictionary words to the set String dictWords = ""; Scanner input = new Scanner(new File(dictName)); while (input.hasNext()) { dictWords = input.next(); dictionary.add(dictWords); } //remove white spaces from phrase, cosolidate into one word Scanner tokenScanner = new Scanner(phrase1); String temp = ""; while (tokenScanner.hasNext()) { temp = temp + tokenScanner.next(); } phrase = temp; } //takes a word and produces all possible anagrams //all anagrams that are the orginal length of the phrase are stored in a list //The list is procesed for smaller words is the solver method public void produceAllAnagrams(char insertChar, String word) { //store the letters into a char array char[] arrayWord = word.toCharArray(); //turn the char array into a linked list LinkedList listWord = new LinkedList(); for (int i = 0; i < arrayWord.length; i++) { listWord.add(arrayWord[i]); } for (int i = 0; i <= listWord.size(); i++) { //add the insert char to create the new word listWord.add(i,insertChar); int j = 0; //turns the new Word into a string String newWord = ""; while (j < listWord.size()) { newWord += listWord.get(j); j++; } //recurse if (newWord.length() < phrase.length()) { produceAllAnagrams(phrase.charAt(newWord.length()), newWord); } //store if it the length of the orginal phrase if (newWord.length() == phrase.length()) { gumbleAnagramList.add(newWord); //System.out.println("test"); } //remove our insertchar listWord.remove(i); } } public void printAnagrams() { String firstLetter = "" + phrase.charAt(0); produceAllAnagrams(phrase.charAt(1), firstLetter); for(int j=0; j < gumbleAnagramList.size(); j++) { String anagram = gumbleAnagramList.get(j); for(int k=1; k <= phrase.length(); k++) { //if the dictionary has the word and is not already in the final list if ((dictionary.contains(anagram.substring(0, k))) && (finalAnagramList.contains(anagram.substring(0, k)) == false)) { finalAnagramList.add(anagram.substring(0,k)); } } } System.out.println(); for (int i=0; i < finalAnagramList.size(); i++) { System.out.println(finalAnagramList.get(i)); } } } ![]() May 05 Lesson Learned. Preproduction – very important!While working on the F-18 mission as well as my 3D stuff, I’ve learned a thing or two about the process of storytelling. The first thing I’ve learned is it’s not easy! It’s hard to make a good story, and make it appealing to watch – or play. With my 3D stuff we have to create a 3D animatic of a real life story we came up. We had to tell the story like 5 times in front of a group of people and each time try and make it more detailed and appealing to the listener. Then we had to take our story and turn it into a script with detailed descriptions of how we plan to do our shots. Now I’m working of creating the shots. The shots are supposed to be extremely simple (blocked out) with simple geometry. But of coarse I got sidetracked into making visually appealing which is a bad habit of mine. I always get caught up in the details instead of letting it go and keep blocking my scene out. My teacher and I had a discussion about this. He stated how important it is to throw your ideas together really fast then go back and work on the details. Which is a simple concept, but nothing I took very seriously. Now I’m sitting here at midnight rendering and trying to finish my scenes for tomorrow because I spent too much time trying to make stuff more visually appealing. And of course with more detail it takes a lot more time to render! So now I’ve decided to take out the visual stuff for now and just get it blocked out. Hehe. Dam– he was right! So lessoned learned, the preliminary work that goes into preproduction is actually a very important step. Get your ideas all sorted out, right the script, create a quick rough draft of your project then go back and add your changes and details. When you spend too much time on the details, and you get to the end and realize your story sucks then you have to scrap everything and start over again. Block it out first! Update: here is the stroy I threw together that night. Now I am going back and adding the more detailed models and textures.
|
|||||
|
|