• Welcome to the new COTI server. We've moved the Citizens to a new server. Please let us know in the COTI Website issue forum if you find any problems.
  • We, the systems administration staff, apologize for this unexpected outage of the boards. We have resolved the root cause of the problem and there should be no further disruptions.

Software Development

When I wrote Universe I used InterBase6 as the database. It was open source, ran on multiple platforms, and I made the Universe schema 'open' so people could add to it if they wanted. However there are some issues running InterBase on Vista.

I am now writing Universe2 (everything in Universe plus system generation) and I'm using MS SQL Server 2005 Express. Later in the year I will be releasing the new schema. Windows developers might want to look at using SQL Server Express as well to avoid the proliferation of different database technologies.
 
Try emailing him at farfuture -at- farfuture -dot- net.

He's pretty busy with development of T5, but I think he'll want to discuss what you have in mind (just a personal opinion, I don't know the man personally).

Thanks Dean!!!
 
Computer programs

I was just surfing the net and just found this thread.

I am looking at writing the same idea but in C++ with libs that will work on MS, Linux and Apple hardware and software plus perhaps Cell phones and other small computers.

Being stuck to MS is NOT a good thing. MS is slowly dieing. They are down to less that 59% of the Server market, FireFox has eaten up IE, Ubuntu is growing like crazy, Google in making their own system and I have yet to meet a Vista fan. They also dropped a bunch of workers to save money.

As for databases there are 3 really good ones out there that can run on any of the systems spoken off. There is PostGre, MySQL and SQLite. I am also not so sure that a DB is really needed. The files if done correctly should be stored in XML and modern computers can hold a whole sector in memory with ease.

One of the first steps should be a good open source XML standard for T5 data storage.

Last but not least the system should have international abilities, IE more than English.
 
I was just surfing the net and just found this thread.

Hello magic.crow. Welcome to CotI.

Being stuck to MS is NOT a good thing. MS is slowly dieing. They are down to less that 59% of the Server market, FireFox has eaten up IE, Ubuntu is growing like crazy, Google in making their own system and I have yet to meet a Vista fan. They also dropped a bunch of workers to save money.

I'm not sure I agree with your assessment. And, when developing software for Traveller players you need to look at that subset of users rather than the global situation. Also, are factors like market share of servers or how many workers MS have lost during a recession relevent to desktop development?

On this first point I have a Traveller website and, assuming that there is a strong correspondance between typical visitors to it and typical Traveller software users, it's stats for January say the following:

89.6% of pageviews were Windows
5.24% of pageviews were Apple Mac
4.62% of pageviews were Linux
... the rest were 'other'

I know Apple users are vocally supportive of their OS, as are Linux users. But how much effort is needed develop, test, and deploy a multi-platform solution compared with a Windows only solution ... and is it worth it for the extra 10% potential user base?

As for databases there are 3 really good ones out there that can run on any of the systems spoken off. There is PostGre, MySQL and SQLite. I am also not so sure that a DB is really needed. The files if done correctly should be stored in XML and modern computers can hold a whole sector in memory with ease.

One of the first steps should be a good open source XML standard for T5 data storage.

XML is the worst choice for data storage. It is a great tool for sharing data in general, but it is an inefficient tool for exchanging data where there is a strong tie between data consumer and provider (ie. within a product or between products from the same vendor), and it is NOT a relational database ... at best you can use the power of modern computers to crudely emulate an RDBMS but it's still fake.

Oh, and I'm a Vista fan.
 
I was just surfing the net and just found this thread.

As per Hemdian, welcome!

I am looking at writing the same idea but in C++ with libs that will work on MS, Linux and Apple hardware and software plus perhaps Cell phones and other small computers.
good luck: something simple may work, but once you get complicated you may start getting tied to a particular library to make it work. Not all libraries across platforms do the same thing in the same way, and you will be dependent on some external libraries.

Being stuck to MS is NOT a good thing. MS is slowly dieing. They are down to less that 59% of the Server market, FireFox has eaten up IE, Ubuntu is growing like crazy, Google in making their own system and I have yet to meet a Vista fan. They also dropped a bunch of workers to save money.
Pretty much everyone has dropped employees, but I have to agree w/Hemdian that you are reading far too much into that. The desktop is where Traveller programs are run, and most people, even Traveller-players, use Windows.

As for databases there are 3 really good ones out there that can run on any of the systems spoken off. There is PostGre, MySQL and SQLite. I am also not so sure that a DB is really needed. The files if done correctly should be stored in XML and modern computers can hold a whole sector in memory with ease.
There are issues with all and any SQL systems. You pick one that works for the platform you are using pretty much. The XML thing - well, if you are importing files or exporting, perhaps. But for actual data storage, it can leave a lot to be desired. I'm using it for some stuff simply to test things out, but if I was really going to make a semi-professional program, as my software is Windows & .Net, I'd just use the free MS SQL server. No stored procedures, but it is free & ties in really nicely with the .Net development framework.

One of the first steps should be a good open source XML standard for T5 data storage.
There are a few discussions on this already, if not particularly T5. The main problem is that it is like a committee: a lot of talk, but no real development. Same for the SEC file format: there are always people wanting to extend that or whatnot. Most Traveller software is home grown, and the market being what it is (a niche of a niche of a niche) I don't believe there is any return on development costs for this.

Although Traveller Universe looks good, and that is Windows running MS-SQL as the data store.

Last but not least the system should have international abilities, IE more than English.
Depending on the development platform, this can be relatively simple.

But really - good luck in your development efforts. It will be fun at least!
 
Hemdian

Thanks for the welcome!

Browsers lie. If I say I am using FF on Linux some websites will not work so I say I am use MS with IE and they work. I know a lot of other Linux users do the same. Perhaps Apple too?? According to the Market Share site IE has 67% of the market now. Traveller players tend to be about 40 years old and perhaps stuck in their ways. "Net Applications Market Share statistics indicate that Linux use among visitors to sites tracked by them has doubled since February 2007." This is close to a doubling of nothing but it is still rapid growth and they too are tracking the lieing browsers so it is really hard to say for sure.

First I think your 10% is off, but second even if correct, it is changing fast. I think it makes good sense to plan ahead. Also use QT and you don't have your fears about things not working cross platform to worry about. It is not like we are writing first person shooters. These are simple programs that are mostly dealing with text and GUI elements, not much else but a possible database.

I agree with you about XML. The thing is that most GMs have very little data to search and play with. I would say that stars might be the only place where a rdbms is really needed and then only for older computers or really huge game areas (How many stars have your players visited in the last 20 years?? Bet it is not more than 2000). QT has this (SQL interface) as part of it anyway.

With my own system of stars and star making, I have a group of 28,000 star systems in detail and it all fits into my 2g of ram, NP. 10 years from now 2g of ram will seem small. Why 28,000? It was the age of my wife when I wrote it and only about 4% are habitable in any way. :-)

Have you tried Linux with kde 4.2 yet? You might be shocked at how much faster your Vista computer runs without vista. You will also be shocked at just how much smaller your file sizes are (based on my XP tests.)! Save a document with Open Office and then cut and paste the same one into Vista office and save. Compare file sizes. Next compare prices of a Vista system with MS office and a few other common programs to the price of Linux (free) with 1000 programs (free). Also my computer has not crashed in 5 years! Some programs have though.

BTW how is Vista doing against viruses and malware? Does it still need to run an anti viral program or did they finally write a good OS?? Everything I know about vista is hearsay.

One really nice thing about Linux is that you don't have to install drivers or reboot. Also installing software is simple. You want FF just type apt-get install firefox. After a few moments of download it is ready to use and in your menu, again no reboot needed.

Is Linux perfect? NO! Getting Linux to work on some laptops can be a pain but it is quickly getting to be less of a problem. Sometimes graphics card drivers can be a bit of a pain for newbies but this is also getting better fast
.

coliver988

I have yet to need to do things differently for different systems with QT.
What external libs did you have in mind? QT has openGL, XML, SQL, SVG, GUI, and networking to name a few parts of it and it is LGPL.

When you say most people use Windows, you are talking only about the USA right? I live in Germany and know only one person who uses it. Perhaps I live a charmed life. LOL. But yes, it is currently the top dog and that is why I do write with it in mind as well.

What SQL issues did you have in mind? All three I talked about work just fine on all three systems. No need to pay MS or get stuck in a .Net or limit yourself to Windows.

Hope I don't sound to heavy or preachy, I was once a Windows fan too. I even taught a class on their campus in Seattle. But one day I had had enough of the Blue screen of death, virus checkers and the endless driver update and hunt with its endless reboots just to update the window system. So I started duel booting Linux and Windows but I found that after about a year the idea of having to use windows just make me think of getting my teeth pulled. The first few months were a bit hard with Linux because that was 10 years ago (linux still hand big problems) and ANYTIME you try something new it is hard.

We will see what becomes of my project. Still waiting for a green light on it.
 
XML is the worst choice for data storage.

Totally agreed. Of course, it's what I'm using to back travellermap.com but I was a database weenie when I put it together. :) At some point I'll rejigger the site to use a SQL Server back end.

But on the technology-choice end of things... I'd recommend taking a look at sqlite if you haven't - it's basically an in-process database engine for use within an app. Think of it as having the benefits of SQL (an actual SQL interface, etc) plus the benfits of flat files (no external process dependencies, no operating system component dependencies - just your app + files on disk). I haven't used it for personal projects, only a handful of tools at work, so I'm not recommending it, merely suggesting that it's worth taking a look at.
 
SQLite is good unless you want the power of PostGre and mostly I think for games we don't. I would also recommend you looking django for your website or something like it.
 
I wouldn't want PostgreSQL, MySQL or a cut down SQL Server. It's too much overhead for a simple desktop app. Something like SQLite would be good because when the app isn't running, neither is the database.
 
Your app can always start and stop the sql server but I agree our type of programs are not needing the advanced powers of big SQL engines.
 
@Crow:

Who cares about the SERVER market when we are talking playsoft for the DESKTOP. And on the Desktop Windows (XP or Vista) is King followed by Mac-OS and than as a follow-up Penguin-OS (with Solaris gaining speed to steamroller it) And given all the problems POS has with graphic cards, lack of recreational software etc. it is quite unlikely that POS will usurp Apples place on the Desktop let alone that of Microsoft.

As for the database: Use one that can run integral to the program like Hypersonic/hsqlDB. Most potential users have little to no interest in jumping through the hoops of setting up mySQL or postgresql

As for the language: Use something that by default is platform-independent and optimised for GUI-based software, not an old Clunker that is optimised for low level and OS-software. C(++) should have joined the DoDo when it comes to GUI programming a decade ago
 
"And given all the problems POS has with graphic cards, lack of recreational software etc. it is quite unlikely that POS will usurp Apples place on the Desktop let alone that of Microsoft."

What problems are you talking about? Nvidia ATI and Intel are work with no problems and sometimes can ever run games faster than on MS. There is no real lack of games for Linux users. Sure not all games on MS are on Linux or the other way around. For the most part, if it runs on MS it will run on Wine under Linux too.

"As for the database: Use one that can run integral to the program like Hypersonic/hsqlDB. Most potential users have little to no interest in jumping through the hoops of setting up mySQL or postgresql"

The program does all the setting up and if you look close you will see that we are talking about using SQLite. Do you know anything about SQLite??

"As for the language: Use something that by default is platform-independent and optimized for GUI-based software, not an old Clunker that is optimized for low level and OS-software. C(++) should have joined the DoDo when it comes to GUI programming a decade ago "

Here you are starting to look a bit out of touch. Funny how even Vista is written in it. along with Google Earth, Adobe Photoshop Elements, DAZ 3D, The Foundry, Lucas Film Ltd.®, Perfect TablePlan and LOTS of others. C++ is what most things are written in my pros. It is cross platform and has great libs that you will have a hard time matching for other languages. Take a look at QT, or Panda3d for examples. These both also work with Python if you need new to be happy.

The only way MS has stayed on top is by breaking the law in many countries. The continue to do so to this day. Do you support that?
 
"And given all the problems POS has with graphic cards, lack of recreational software etc. it is quite unlikely that POS will usurp Apples place on the Desktop let alone that of Microsoft."

What problems are you talking about? Nvidia ATI and Intel are work with no problems and sometimes can ever run games faster than on MS. There is no real lack of games for Linux users. Sure not all games on MS are on Linux or the other way around. For the most part, if it runs on MS it will run on Wine under Linux too.

graphic cards only work if you either dumb them down not using advanced features (Basically running a 1990s VEGA) or you have the exact kernel version that works with that driver (NVidea, ATI) for the good (read closed source) drivers.

As for the rest: Why should I boot POS to run an emulator that might or might not work to run a Windows game? Sorry but on my boxes Windows XP boots a good deal faster than SuSie or Ubuntu. And I have yet to find one thing a POS GUI (be it Gnome, KDE or whatever) can do faster/better/more stable than XP.

"As for the database: Use one that can run integral to the program like Hypersonic/hsqlDB. Most potential users have little to no interest in jumping through the hoops of setting up mySQL or postgresql"

The program does all the setting up and if you look close you will see that we are talking about using SQLite. Do you know anything about SQLite??

Clunky-variant of the integratabel databases like hSQLDB. Needs specialised version for each OS that in turn means specialised versions of the software it is linked to for each OS. Baaaaad stuff compared to stuff like Hypersonic/hSQLDB,

"As for the language: Use something that by default is platform-independent and optimized for GUI-based software, not an old Clunker that is optimized for low level and OS-software. C(++) should have joined the DoDo when it comes to GUI programming a decade ago "

Here you are starting to look a bit out of touch. Funny how even Vista is written in it. along with Google Earth, Adobe Photoshop Elements, DAZ 3D, The Foundry, Lucas Film Ltd.®, Perfect TablePlan and LOTS of others. C++ is what most things are written in my pros. It is cross platform and has great libs that you will have a hard time matching for other languages. Take a look at QT, or Panda3d for examples. These both also work with Python if you need new to be happy.

You DID recognise the "low level and OS-software" part? And guess what, VISTA is an OS. Other stuff is either low-level or browser-stuff that needs to be re-written for every browser due to different plug-in APIs etc.

We are talking about "one package, drop on system, run" software here. Not about "run a dozend make/ant/maven/whatever" tasks, install GNUcrap and pray it works on your exact system combination stuff.

The only way MS has stayed on top is by breaking the law in many countries. The continue to do so to this day. Do you support that?

Yes. I like MS-Software. Simply because it WORKS! I give a rat's piss about GNU, Penguin OS and similar "maybe finished, polished and packed next incarnation" stuff
 
Totally agreed. Of course, it's what I'm using to back travellermap.com but I was a database weenie when I put it together. :) At some point I'll rejigger the site to use a SQL Server back end.

But on the technology-choice end of things... I'd recommend taking a look at sqlite if you haven't - it's basically an in-process database engine for use within an app.

I find the idea of sqlite attractive. And I find XML repulsive but sometimes necessary.


@Crow:

Who cares about the SERVER market when we are talking playsoft for the DESKTOP. [...]

As for the database: [...]
As for the language: [...]


I'd say: write in the idioms you are most familiar with, and just go ahead and do it. Be as considerate as you are comfortable with; but the main thing is to produce something useful for yourself -- if you find it useful, others will too.

Once you have something working, then you can worry about details such as platform, data persistance, networking, protocol, etc ad nauseam.
 
...
I'd say: write in the idioms you are most familiar with, and just go ahead and do it. Be as considerate as you are comfortable with; but the main thing is to produce something useful for yourself -- if you find it useful, others will too.

Once you have something working, then you can worry about details such as platform, data persistance, networking, protocol, etc ad nauseam.

exactly. software development has enough religious fervor over what system/langauge/whatever is best. Bottom line: there is only the best for what you are doing and for what you want to do with it. I'm really comfortable writing .Net because I use it for work and personal use. And it runs on my phone - so I can port to that with only a GUI update leaving the core code alone (gotta love object oriented classes!).

Is it the best? No - there is no global best. Is it the best for me? Yes, I've the tools and background so that development is very fast & easy. I write software for other platforms (Linux, Unix) and use the language(s) that works for what I need it to. But for me personally, the entire .Net stuff makes life so much easier (especially with good search engines: you can invariably find the code to do what you want somewhere, although this pretty much applies to any/all languages just about)

And really - good luck & have fun developing Traveller software: I've been doing it off & on for 25+ years on various platforms (sometime I miss my old C64) and it is just plain fun for me when I have the time to devote to it.
 
!

"Exactly, software development has enough religious fervor over what system/langauge/whatever is best. Bottom line: there is only the best for what you are doing and for what you want to do with it. I'm really comfortable writing .Net because I use it for work and personal use. And it runs on my phone - so I can port to that with only a GUI update leaving the core code alone (gotta love object oriented classes!)."

This is true if you write for fun. If you write as a job then you need to have standards to share data, if that is important to the project. I think in this case it is. I too hate dealing with xml! Picking a lib and a lang is also important if you were to just pick some MS product then want to make in run on Linux or Apple, you will find yourself painted into a corner unless you just get lucky. Prior proper planning . . . .True you must use what you know, if you don't want to learn more tools but this might not lead to the best solution for the problem at hand.

"And really - good luck & have fun developing Traveller software: I've been doing it off & on for 25+ years on various platforms (sometime I miss my old C64) and it is just plain fun for me when I have the time to devote to it. "

Agreed, have fun! By now I should now to ignore FUD. :-) Thanks for gently reminding me.

My first computer job was writing preschool ed software on a C64, mostly 6502 assembly but some Basic too. It was fun and simple time. I still remember the poke addresses for colors etc!
 
...
This is true if you write for fun. If you write as a job then you need to have standards to share data, if that is important to the project. I think in this case it is. I too hate dealing with xml! Picking a lib and a lang is also important if you were to just pick some MS product then want to make in run on Linux or Apple, you will find yourself painted into a corner unless you just get lucky. Prior proper planning . . . .True you must use what you know, if you don't want to learn more tools but this might not lead to the best solution for the problem at hand.

Actually - I do write software for a living. My company just uses MS for a lot of the development work as we run Windows on the desktops. As we've some proprietary software I maintain that ONLY runs on Windows I don't see me getting off of Windows anytime soon. I could port that stuff to MS-SQL (which we use for several other systems) and then use various web stuff for access, but heck - as I am not a web programmer, I use asp.Net for that as well (just converted a 100+ page asp system to .net using your classic 3 tier system. makes maintenance at least 20x easier in my opinion). Advantage is the stuff I write for the web shares the I/O class with Windows versions, so I've only got a single class for SQL access. Some things (transferring large files, for instance) the web is not as good at as local systems (we've one large file that take about 20+ minutes to transfer via the web, less than 20 seconds locally due to read-forward only access).

Now, we're starting to branch out, using PHP for some things, but tracking session stuff for security between frameworks can be a hassle (i.e., going to an asp.Net page means you have to reload all the session stuff if coming from a non-asp.Net page - as far as the browser is concerned they are separate sessions) So for our company, a MS stack actually is the best solution. And for me as well, even though a good chunk of my programming time is spent in Linux stuff. Including our bill generation which creates the XML bill file that is outsourced to a printer. But coming from years of C, C++ and various other programming development on a variety of platforms, Windows does make it really easy. So I've given in to the dark side :devil:

"And really - good luck & have fun developing Traveller software: I've been doing it off & on for 25+ years on various platforms (sometime I miss my old C64) and it is just plain fun for me when I have the time to devote to it. "

Agreed, have fun! By now I should now to ignore FUD. :-) Thanks for gently reminding me.
Glad you saw it as gentle - sometimes what I write comes across a lot worse than intended! The bane of electronic communication - it loses most emotional nuances despite smileys.

My first computer job was writing preschool ed software on a C64, mostly 6502 assembly but some Basic too. It was fun and simple time. I still remember the poke addresses for colors etc!
ahh, the sprites and fun stuff. I bought the extended basic cartridge and that was a lot of fun to play with. The only Traveller software I wrote on that for real was a program to generate a Scout-issued page for system detail: pretty much a large area to draw my maps in, and the left column was all the UPP specs and details. A friend of mine wrote a font for Aslan documents - you could do all sorts of really cool stuff with that computer.
 
Take a look at pyQT with Designer or just QT with creator. You make your gui using a visual interface, a lot like making stuff with MS Access. Then when a user clicks a button that button sends out a signal. You write code to say if this signal from this button then call this routine (one line) and then write the routine to deal with it. Putting data back into the gui is as easy as MYButton = value. It is really easy with python and not so bad with C++. Problem with the pyQT is that you don't have a LGPL license but there is a GPL one.

If you really want your mind blown look at Panda3d's programming into. 3d panda walking around a bamboo garden with some rocks and the camera spinning around tracking the panda at the same time. Less than one page of code. Example is in C++ and also in Python. Panda also has a gui system but not nearly as good as QT.

Quote: "But coming from years of C, C++ and various other programming development on a variety of platforms, Windows does make it really easy. So I've given in to the dark side"

That is the roll of the drug pusher. Make it free and easy, then hook then through the heart and beat them in the head if they try and leave.

Quote: "The only Traveller software I wrote on that for real was a program to generate a Scout-issued page for system detail: pretty much a large area to draw my maps in, and the left column was all the UPP specs and details. A friend of mine wrote a font for Aslan documents - you could do all sorts of really cool stuff with that computer. "

The only Traveller stuff I did on C64 was a CT character generator and a book 3 based sector maker.

My latest little Traveller project is called Marooned Alone.
http://www.youtube.com/user/xomagick
 
If this is indeed going anywhere, I'd like to help.

I've (partially) written some programs in Java, including a High Guard ship designer (I wanted it to be more flexible than High Guard Shipyard.) I have no professional experience programming, but I do in editing/proofreading/writing, so you might want me to help write the documentation when it's done.

--Devin
 
Getting back to it.

It has been over a year since I last posted about T5 software. This is largely due to the fact that I haven't done anything with it. This is changing now.

I still have the old code that I wrote at the beginning of 2009 and ported it to a later version of visual studio (2008). It converted flawlessly--which was a surprise.

I read a lot of debate about what OS, SQL Server, Languages I should use in the development of this app. OS is not a problem--still the most installs on the planet still is Windows, and visual basic is the language that best suites the need for development. There still is a case for Database, though. MSSQL CE makes a good case, but I think footprint wise MySQL makes a lot of sense. Although I haven't determined that I will use a database at all yet. This will be solved when I plan for deployment.

What I would like to open up is the open-style forum for design. Ultimately, there is a recurring theme that keeps creeping up in many of the forums when talking about software--Realistic or "Official" Mechanics. I am a "by-the-book" type guy so I like things accurate, clean and following strict processes. However, the gamer next to me might want to have some flexibility to stray from the official rules. Although, I want to build my application to "spec", I think it makes sense, at times, to allow for interpretation by the end user.

With that said, I would like to have some feed back and restart this forum (or a new forum group) to discuss the overall design of the T5 Campaign System. Additionally I need to get the updated T5 manual (if there is one) to review. I would like to build a team of designers/developer to work on this as a community project.

I am going to develop my site (www.travellersoft.com) to handle additional discussions focused on the development of what I am calling "T5 Companion" This is not an official name, but it will work for now.

If you would like to be apart of the design group, please send me an email at rick@mach5ent.com. Include a brief introduction of yourself; what part of the software you are most interested in; what development skills you bring to the table; what games system you are most familiar with; etc.

Thanks everyone!!! Hope to hear from you soon!!!!

Rick Sanford
 
Back
Top