Orbiter-Forum  

Go Back   Orbiter-Forum > Orbiter Addons > Addon Development
Register Blogs Orbinauts List Social Groups FAQ Projects Mark Forums Read

Addon Development Developers post news, updates, & discussions here about your projects in development.

Reply
 
Thread Tools
  #1  
Old
Aev's Avatar
Aev Aev is offline
The Architect
Default Architect Development
by Aev 12-24-2013, 03:18 AM

Architect


Description: A new and detailed surfacebase editor written in java that supports large scale productions, object management, and more. This project is much more than a "surface base editor" so if you're curious, read below.


Introduction

Approximately five years ago, my younger self began working on a new surface base editor to improve and build upon Lunaís (ar81) Surface Base Wizard (SBW). Having used this program extensively in order to construct many intricate and complicated personal surface bases for my orbiter installation, I had utilized most, if not all, features provided in the application. Despite being a huge fan of SBW and what it brought to Orbiter, Iíd be lying if I stated that I was content with the software; there were many components and interface elements I would have designed differently and many features I would have liked to add. Unfortunately, Luna appeared to lose interest in the project and I assume he then moved on to new and greater endeavors. It was this that prompted my plans for a new and improved surface base editor, one with all the features I had envisioned. Complications in life arose soon after, and I was forced to cease working on the personal project.

Five years later, living a much more stable and balanced life, Iíve decided to continue work on this project. I recently took notice that in my absence a new editor has surfaced: ďOrbiter Base MakerĒ by csanders. In no way can my use of this program compare to that of my utilization of the Surface Base Wizard and though I greatly respect both users for creating these programs, in my opinion, they donít accomplish what I intend to.


Purpose

After reading the above, you may now think my goal and vision is to simply create a fancy new surface base editor, in which case youíd be wrong. Years ago when I was thoroughly engaged in Orbiter, the community was much more vibrant; new users were constantly uploading their surface bases on orbithangar. For many reasons that arenít the focus of this post, that has changed as addon uploads are a little more infrequent. However, itís important to note that the creation of surface bases, planets, and alternate universes was never a ďfriendly" process for the casual user. Orbiter Base Maker attempts to bridge that gap as the Surface Base Wizard did before it, but in my opinion, this area can be improved greatly.

My goal is to spark the creation of new scenic addons (such as surface bases and planetary systems) by providing a user-friendly set of tools that are both intuitive and advanced. Additionally, documentation and tutorials will be provided to pave the way for casual players.


Why A New Surface Base Editor

I support the creation of large and complicated surface bases that extensively use the basic orbiter objects (ex: block) in order to create complex objects. The first example that comes to mind is ar81Ďs Alysimia; if I remember correctly, this surface base creates billboards and lamps utilizing basic objects. Additionally, Iíd like to support the inclusion of meshes to form highly sophisticated bases. Making the construction of large, complex, and high quality surface bases is my primary goal, with the program being user friendly as a second goal, and ease of use being the third. Iíll avoid discussing any features I have planned at the moment, as itís a quite sizable list and this post is long enough as it is.


Development and Testing

Currently I have quite a bit of work to do before any testing is ready, but when that time comes, Iíll most likely create a group specifically for the program (if Iím able to). If any of you would like to participate in elaborate testing of the program, youíd be welcome to join. Furthermore, appropriate credit would be given within the application itself.


About Me

Iím currently a community active university student in search of various projects to complete not only for the experience, but to contribute to my very delicate future plans in life. Having great respect for the simulator and itís community, I decided to restart an old endeavor as one of those projects and make it a direct contribution to Orbiter in general. Being a university venture, I plan to work on this thoroughly, efficiently, and as professionally as possible. To anyone who wishes to work with me later on, I have to state that Iím a highly opinionated individual; I wonít hesitate to speak my mind or give an opinion. Having said that, Iím far from unreasonable and in the future, Iíd truly enjoy collaborating with any individuals who share my vision.

The future is unpredictable so I admit that this entire section may be invalid, but as I see it, Iíll be able to devote 3 years (possibly 4) to this project and any subsequent projects stemming from the original. I wonít be developing any other Orbiter programs; this project will be my one contribution to one of my greatest addictions and an amazing community.


Conclusion

Well thatís it. A big thank you to anyone who actually read this massive post and if you have any questions, concerns, and comments or want to voice approval or disapproval, Iíd really like to read it (especially disapproval). Lastly, if you have any features youíd specifically like to see implemented in the surface base editor, you can write them here. Donít be afraid to write completely insane or difficult suggestions either.

Regards


Last edited by Aev; 01-28-2014 at 04:11 AM. Reason: Revision
Reply With Quote
Views 15191 Comments 41
Total Comments 41

Comments

Old 12-24-2013, 04:10 AM   #2
paddy2
Addon Developer
Default

I think there is room for another base maker within Orbiter.
I am a huge fan of Orbiter Base Maker, it has been at the front of my wish to learn more about 3D modelling, textures et al. That having been said I still think there is room for another type of base maker and would love to help with beta testing this.
paddy2 is offline   Reply With Quote
Old 12-24-2013, 09:24 AM   #3
Face
Beta Tester
 
Face's Avatar

Default

Sounds like a very interesting project. Two questions, though:
  1. Why Java?
  2. Why not integrated in Orbiter?
Face is offline   Reply With Quote
Old 12-24-2013, 06:39 PM   #4
Aev
The Architect
 
Aev's Avatar
Default

Quote:
Originally Posted by paddy2 View Post
 I think there is room for another base maker within Orbiter.
I am a huge fan of Orbiter Base Maker, it has been at the front of my wish to learn more about 3D modelling, textures et al. That having been said I still think there is room for another type of base maker and would love to help with beta testing this.
That's great to hear. In addition to posting in this thread, when the time finally comes for testing I'll pm anyone who has volunteered!

Quote:
Originally Posted by Face
 Sounds like a very interesting project. Two questions, though:
Why Java?
Why not integrated in Orbiter?
I'm interested in your definition of "integrated". Unfortunately, my reasons for writing this in java aren't complicated or based on any intricate performance logic; I'm just extremely comfortable with the language. In risk of starting a "which programming language is better" war, using java for a project of this magnitude does have it's benefits, one of which being that my preferred development operating system is not Windows. (That's not to say that I'm without the OS entirely). Learning beyond the basics of C++ is on my list of things to do, but not quite just yet.

I recently finished writing a component that scans configuration files and all main directories, retrieving a vast amount of information beyond "surface bases" in general. In this respect, my program (and any subsequent extensions) will be "integrated" with an orbiter installation, but not within the actual application.

Regards

Last edited by Aev; 12-24-2013 at 06:46 PM.
Aev is offline   Reply With Quote
Old 12-24-2013, 06:53 PM   #5
Face
Beta Tester
 
Face's Avatar

Default

Quote:
Originally Posted by Aev View Post
 I'm interested in your definition of "integrated".
Well, a plugin for Orbiter is integrated, in the sense that you see the results of your work right within the very renderer it will use in the end, not some external engine that might not present the same results.

A separate application that generates files you'll eventually have to test in Orbiter to verify its validity is not integrated IMHO.

Quote:
Originally Posted by Aev View Post
 Unfortunately, my reasons for writing this in java aren't complicated or based on any intricate performance logic; I'm just extremely comfortable with the language.
I understand. Any chance you are familiar with .NET, too? It is quite similar to Java, works in *nix systems via Mono, and can be integrated in Orbiter. I don't think something like this exists for Java.
Face is offline   Reply With Quote
Old 12-25-2013, 01:44 PM   #6
Depth08
Orbinaut
Default

Glad to see a project like this! Awaiting updates :D
Depth08 is offline   Reply With Quote
Old 12-25-2013, 02:11 PM   #7
RisingFury
OBSP developer
 
RisingFury's Avatar
Default

There are quite a few things I like about Orbiter Base Maker, but that program is as much of a curse as it is a blessing. I'll list the bad aspects of the program so you can avoid the same mistakes:

- OBM uses its own storage of data and only writes it into the base configuration file on command. If you make a manual change to the configuration, it is overridden next time you run OBM.
- Once you position the base, you can't edit its geographical location. The coordinates you set seem to be there until you manually edit the file.
- While the program allows you to download Level 4 tiles and such, you need to zoom in to do so. There doesn't seem to be a way to pan that view in order to download high resolution maps of a larger area. You have to zoom out and download lower resolution maps.
- While there's a point-and-click way to position structures, I wish you good luck in actually aligning them! We need a way to measure distances and rules, slides and snap feature to allow us to position stuff. The grid just isn't enough.
- Quite often with quite a few meshes, when I load the base I'm working on, OBM fails to read all custom meshes I designed, even though I used OBM to originally position them.
- When positioning tiles, OBM doesn't read the current DDS textures that are used, but instead uses the JPGs it downloaded or the ones you provided for it. In order to reflect the change, you need to change the JPGs. Really annoying and it makes it difficult to work with surface tiles.
- Whole flow of the program is quite annoying. Popup windows, small windows, so many buttons to migrate from one end of the program to another,... GUI needs work. You can't maximize windows like the Tile editor and such, when failing to read meshes, it shows the same error over and over for every mesh, even though I told it not to display it until next restart and so on.


Hope you can improve upon that program and make something that allows quick and easy editing of bases. Also, I suggest you team up with a 3D designer that is willing to provide custom meshes for stuff like air control towers, hangars, taxiways (Very, very important! Make taxiways happen!), launch pads, lightning towers and other objects commonly found at airports and space ports.

That way, a whole array of decent quality surface bases can be created.
RisingFury is offline   Reply With Quote
Thanked by:
Old 12-25-2013, 06:13 PM   #8
Aev
The Architect
 
Aev's Avatar
Default

Quote:
Originally Posted by Face View Post
 Well, a plugin for Orbiter is integrated, in the sense that you see the results of your work right within the very renderer it will use in the end, not some external engine that might not present the same results.

A separate application that generates files you'll eventually have to test in Orbiter to verify its validity is not integrated IMHO.
My intentions were to respond to this sooner, but Christmas Eve had other plans for me.

Anyway, I'd have to agree with what you've written. In fact, a true sight to behold would be not only the use of Orbiter's renderer, but the ability to modify and edit the base while the simulator itself is running. Unfortunately, I will maturely admit that such a topic (as well as utilizing orbiter's default engine) is beyond the scope of my knowledge. Who knows, maybe l'll surprise you though. As I wrote above, assuming life doesn't change drastically, I can devote years to this project.

Quote:
Originally Posted by Face
 I understand. Any chance you are familiar with .NET, too? It is quite similar to Java, works in *nix systems via Mono, and can be integrated in Orbiter. I don't think something like this exists for Java.
I'm afraid the skills I possess reside on the opposite side of the programming spectrum. The languages I choose to retain at the moment are the web development languages (html, css, javascript (jquery), and php) and of course java (my main). As I'm no longer maintaining a job that mandates fluency in the web languages, my plans are to expand my knowledge on other fronts during the upcoming years.

Quote:
Originally Posted by Depth08
 Glad to see a project like this! Awaiting updates :D
If you have any suggestions or concerns, feel free to comment in this thread!

Quote:
Originally Posted by RisingFury
 There are quite a few things I like about Orbiter Base Maker, but that program is as much of a curse as it is a blessing. I'll list the bad aspects of the program so you can avoid the same mistakes:
...
I'd like to personally thank you for writing this post. Lack of in depth OBM experience is why I'v consciously avoided making any major criticisms of the program thus far. Though I greatly respect csanders for his work and the features he's created, the interface itself is not my favorite. What you've listed above are cautions and attributes I should be able implement, so all of it will be kept in mind (along with any other concerns or suggestions listed in this thread).

Regarding collaborating with a 3D designer (or a group) to provide a set of custom meshes, I really like the idea. However, prior to that, I'll need to deliver an initial release of Architect, not only for constructive criticism from the community, but as proof of my ability.


Merry Christmas, everyone

Last edited by Aev; 12-25-2013 at 06:21 PM.
Aev is offline   Reply With Quote
Old 12-25-2013, 06:49 PM   #9
Urwumpe
Certain Super User
 
Urwumpe's Avatar

Default

Quote:
Originally Posted by Aev View Post
 I'm just extremely comfortable with the language.
Same here. Just one question there: Fat client or rich client?

A base editor tool would be a good target for a rich client platform project, but thats still a matter of what you can handle as developer.
Urwumpe is offline   Reply With Quote
Old 12-26-2013, 05:30 PM   #10
Aev
The Architect
 
Aev's Avatar
Default

Wow, I revised and trimmed the first post significantly and it's still a monster in size. What was I thinking.

Quote:
Same here. Just one question there: Fat client or rich client?

A base editor tool would be a good target for a rich client platform project, but thats still a matter of what you can handle as developer.
Initially, thick. Is there potential for this to change later on? Possibly, but it's not my main focus at the moment and most likely won't be until a proper and stable version is released. Being somewhat of a perfectionist, there's a lot of weight in that statement. Right now, I'm more concerned with completing a new surface base file format (that supports object labels among other fancy things) that can then be exported to an Orbiter configuration file.

Last edited by Aev; 12-26-2013 at 05:44 PM.
Aev is offline   Reply With Quote
Old 12-26-2013, 05:48 PM   #11
Urwumpe
Certain Super User
 
Urwumpe's Avatar

Default

Quote:
Originally Posted by Aev View Post
 Initially, thick. Is there potential for this to change later on? Possibly, but it's not my main focus at the moment and most likely won't be until a proper and stable version is released. Being somewhat of a perfectionist, there's a lot of weight in that statement. Right now, I'm more concerned with completing a new surface base file format (that supports object labels among other fancy things) that can then be exported to an Orbiter configuration file.
Well, it is mostly the question, how modular it is going to get and if adding new tools or new building categories later will become easier later, while it initially means some architecture decisions. Refactoring to it later is possible, but hard.
Urwumpe is offline   Reply With Quote
Thanked by:
Old 12-27-2013, 01:40 PM   #12
4throck
Enthusiast !
 
4throck's Avatar
Default

My only suggestion is not to redo OBM.
Concentrate on what OBM does not do, like taxiways and random/ordered placement of custom meshes/objects.
That would be useful.

Another interesting route would be to import data from Open Street Map for example.

As for 3D objects, you can search Orbiter Hangar and see what's there and contact the authors. A quick search turned up a radar dish:
http://www.orbithangar.com/searchid.php?ID=3408
4throck is offline   Reply With Quote
Old 12-27-2013, 01:54 PM   #13
RisingFury
OBSP developer
 
RisingFury's Avatar
Default

Quote:
Originally Posted by 4throck View Post
 My only suggestion is not to redo OBM.
I think this new program should encompass EVERYTHING.

I don't want to switch from one program to another to build a base. It'd be a complete mess.

OBM stores the base data somewhere else, not in the base's configuration file. You must avoid this at all costs! If custom data must be written, write it as a comment into the configuration file.
RisingFury is offline   Reply With Quote
Old 12-27-2013, 02:28 PM   #14
Urwumpe
Certain Super User
 
Urwumpe's Avatar

Default

And please write a program that does not require me to switch my locale from Germany-German to US-English for editing something. MeshWizard is alone a torture in that category.
Urwumpe is offline   Reply With Quote
Old 12-27-2013, 04:07 PM   #15
4throck
Enthusiast !
 
4throck's Avatar
Default

Quote:
Originally Posted by RisingFury View Post
 I think this new program should encompass EVERYTHING.

I don't want to switch from one program to another to build a base. It'd be a complete mess...
Going the latest best super complete program is a nice way to only get a half functional beta. That's the way most projects usually go.
I'd rather have a base editor that does some things well than one that does many things but badly.

Switching programs is the usual way of working. Each tool to each trade.
Just my

Anyway, with terrain on the next Orbiter version, I guess that bases will use more and more custom meshes. So I think that we need something that opens a mesh (for terrain and scenery) and then let's the user define "Orbiter objects" on top of it, like pads, runways, lights, etc.
A concept similar to Orbiter Shipyard.
Satellite images from Bing, GMaps, etc, could be used to help in accurate placement, but not much more.

Last edited by 4throck; 12-27-2013 at 04:11 PM.
4throck is offline   Reply With Quote
Reply

  Orbiter-Forum > Orbiter Addons > Addon Development


Thread Tools

Posting Rules
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
Forum Jump


All times are GMT. The time now is 08:07 PM.

Quick Links Need Help?


About Us | Rules & Guidelines | TOS Policy | Privacy Policy

Orbiter-Forum is hosted at Orbithangar.com
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.
Copyright ©2007 - 2017, Orbiter-Forum.com. All rights reserved.