Project Architect Development

Aev

The Architect
Donator
Joined
Dec 12, 2013
Messages
19
Reaction score
0
Points
0
Location
Neptune
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 :cheers:

:hailprobe::hailprobe::hailprobe:
 
Last edited:

paddy2

Addon Developer
Addon Developer
Joined
Jul 21, 2012
Messages
384
Reaction score
1
Points
18
Location
Kent, UK
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.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,403
Reaction score
581
Points
153
Location
Vienna
Sounds like a very interesting project. Two questions, though:

  1. Why Java?
  2. Why not integrated in Orbiter?
 

Aev

The Architect
Donator
Joined
Dec 12, 2013
Messages
19
Reaction score
0
Points
0
Location
Neptune
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!

Face said:
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 :thumbup:
 
Last edited:

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,403
Reaction score
581
Points
153
Location
Vienna
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.

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.
 

Depth08

New member
Joined
Nov 22, 2013
Messages
19
Reaction score
0
Points
1
Glad to see a project like this! Awaiting updates :D
 

RisingFury

OBSP developer
Addon Developer
Joined
Aug 15, 2008
Messages
6,427
Reaction score
492
Points
173
Location
Among bits and Bytes...
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.
 

Aev

The Architect
Donator
Joined
Dec 12, 2013
Messages
19
Reaction score
0
Points
0
Location
Neptune
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.

Face said:
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. :tiphat:

Depth08 said:
Glad to see a project like this! Awaiting updates :D

If you have any suggestions or concerns, feel free to comment in this thread!

RisingFury said:
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 :cheers:
 
Last edited:

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,655
Reaction score
2,376
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
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.
 

Aev

The Architect
Donator
Joined
Dec 12, 2013
Messages
19
Reaction score
0
Points
0
Location
Neptune
Wow, I revised and trimmed the first post significantly and it's still a monster in size. What was I thinking.

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:

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,655
Reaction score
2,376
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
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.
 

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
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:[ame="http://www.orbithangar.com/searchid.php?ID=3408"] http://www.orbithangar.com/searchid.php?ID=3408[/ame]
 

RisingFury

OBSP developer
Addon Developer
Joined
Aug 15, 2008
Messages
6,427
Reaction score
492
Points
173
Location
Among bits and Bytes...
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.
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,655
Reaction score
2,376
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
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.
 

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
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 :2cents:

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:

RisingFury

OBSP developer
Addon Developer
Joined
Aug 15, 2008
Messages
6,427
Reaction score
492
Points
173
Location
Among bits and Bytes...
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.

I've been working on AI for OBSP for over 4 years. So I know the level of dedication it takes. And trust me when I say, I want the full package, even if I have to wait months for it.


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

You can't switch from one tool to OBM. OBM won't allow for it. It has bugs with reading existing bases and it keeps its data internally and is thus not available for other programs unless you make an effort in reading that.

Better to focus effort on just making a good program. OBM is the result of this "let's put something out now" mentality.



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.

I would prefer the terrain editing to be built into Architect, but only the second version of the software, only after the release of new Orbiter, not just the beta.
 

csanders

Addon Developer
Addon Developer
Joined
Jan 18, 2012
Messages
219
Reaction score
0
Points
0
Location
Plymouth
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.

And when people screw up/override their base when merely editing?

Programs shouldn't be editing Orbiter's files directly.
 

RisingFury

OBSP developer
Addon Developer
Joined
Aug 15, 2008
Messages
6,427
Reaction score
492
Points
173
Location
Among bits and Bytes...
And when people screw up/override their base when merely editing?

Programs shouldn't be editing Orbiter's files directly.


That argument is invalid. If you're making your own base, it's easy to undo any damage you've done. But if you opened some other base and did happen to make a change and accidentally save instead of dropping the changes, backups are available on the net where you downloaded the files originally.
 

csanders

Addon Developer
Addon Developer
Joined
Jan 18, 2012
Messages
219
Reaction score
0
Points
0
Location
Plymouth
That argument is invalid. If you're making your own base, it's easy to undo any damage you've done. But if you opened some other base and did happen to make a change and accidentally save instead of dropping the changes, backups are available on the net where you downloaded the files originally.

And that's better than just clicking "Load Base From Orbiter" if you screw up?
 

RisingFury

OBSP developer
Addon Developer
Joined
Aug 15, 2008
Messages
6,427
Reaction score
492
Points
173
Location
Among bits and Bytes...
And that's better than just clicking "Load Base From Orbiter" if you screw up?

Yes, it is.

You're balancing for people's accidents over developer's convenience. You have made the program *very* inconvenient for dozens of developers that use the program, just to prevent someone from accidentally messing up a base that they can easily restore from an online backup. It's not like hundreds of people download OBM and then mess up all their bases...

OBM is incomplete enough to where you have to do certain things by hand and in certain cases, it will never be able to do things on a scale that other programs can.

Accurate positioning and tile editing stand out the most.
 
Top