Jump to content

GALSIM update


Recommended Posts

Currently we have 10 players signed up for the game.  So far, it looks like two players are in the battle zone.


I took a look and it seemed that even though they were very far away, by sheer luck, one player detected the other.  That wasnt my intention so I changed some code on the server side that limits a ships ability to see things out to 5 times their detection rating times 50Km, so a ship with detection rating 1 could conceivably see things out to 250Km, but its a small chance.


Also, a strategy tip, you can do mini-jumps within the same sector to quicken things up if you see a ship far away, there is a minimum jump length however, which is set right now to 50km.


I'll try to post other updates as necessary.

Link to comment
Share on other sites

  • Replies 136
  • Created
  • Last Reply

Top Posters In This Topic

Seems we will be having battle soon.  I think two players are in contact with eachother, and a third player is enroute to the sector. 


I apologize for any delays in the turns.  I am running the game engine from my work laptop so I can only do it sporadically.  When the code is more stable, which is this testing's purpose, then I will run it safely from home and it will be more consistent.

Link to comment
Share on other sites

Put a new version of the code at the sim website.


AND we have had our first combat.  Looks like a Lancer Frigate has been destroyed and at least 2 or 3 fighter craft.


If you are involved in any of these battles, please enlighten us with some battle reports.


I am working on some code that will communicate detection alerts and battle alerts to you. 

Link to comment
Share on other sites

:o :o


Holy mackeral, what the heck happened?!!!


when i went to bed last night, 2 Marauder Corvettes and a CRV had just wasted a LFRG, and were closing in on the NFRG of the enemy.


This morning, the NFRG is sitting there salvaging wreckage and the 2 Marauders and CRV are destroyed!!


My guess:  NFRG has TLBs with a range of 15K which means it had quite an advantage for a while on the other ships.  But i need to read the logs to get more info.


NOTE:  dont worry if you lose ships, well just make more.  email me for reinforcements.

Link to comment
Share on other sites

another factor was that the Marauders were targeting fighters instead of the NFRG which might happen if you dont set up any priority targets for your ships.  i havent been able to pour through the logs in any detail yet but that was one thing i saw right off the bat.
Link to comment
Share on other sites

Well, as the Marauder/CRV commander, here are my general impressions of combat so far... It's a total crap shoot :P


Really. Both the LFRG and NFRG fell off my sensors as I was closing. Declared war, and the next turn result shows the dead TDs and dead LFRG that I wasn't even sure was there any more... still no sign of the NFRG. The only targets around where a single TD and a CPC, so I let my ships engage them, for lack of other targets, and since it was then 4:00 am, I went to sleep. :P


So, general conclusions: 1) Detection is really really iffy... too much so imho. At the ranges this engagement was fought at, these ships would be visible to the naked eye, and yet we still cant find them on sensors. 2) The 'many cycles / turn' format means that there is no direct tactical control over most engagements at this scale... ships don't last the 15 cycles under fire nessecary for you to be able to react to enemy changes (or better die rolls for your sensor check)... or maybe they did and I just slept through it. *Shrug* Anyway, I look forward to the battle report feature with great interest :P

Link to comment
Share on other sites



I agree that combat should be slowed down some.  Here are some tweaks I am putting in.


- once a ship is detected, that detection should last a certain number of cycles before it falls off radar.  only after that number of cycles expire will I look again.  It will actually speed up detection processing alot.


- determine a eyeball range where if its close enough its automatically detected by the naked eye.  this should speed up detection processing also.


- sending detection reports and damage reports back to the user


- i have already dropped the cycles per turn to 10.  I could drop it to 5 but a better idea would be to just ratchet down damage a bit so that ships last longer but arent crawling speed wise.

Link to comment
Share on other sites

Yes, I'd say that was quite a quick, prolonged fight.


I logged off last night just having detected the corvettes and set my orders. Next thing I know my Lancer and two of his corvettes are dead. I set my Defenders on my Nebulon to attack the Marauder, the turn changes five minutes later and its dead.


My overall opinion of the combat is: It takes a bit for it for them to actually engage, but once they do its already over. :-\

Link to comment
Share on other sites

If Galsim, once live, is a 24/24 hours game, most combat situations will happen without both players present in the app. Which would mean that "advanced" scripts should be made available to the player - so he can go to bed (or to the office) without any worries. Priority targets goes into the right direction, but "much more" may be needed at the end...


If Galsim will only be active for a few hours (when the Americans are back home), then that wouldn't be convenient at all for the Asia/Europe guys...

Link to comment
Share on other sites

GALSIM is intended to run 24 hr/day


Update:  put in alot of code today which prevented me from running the turns.  But it looks like i got some good stuff done today.


the reports stuff is in, i just need to post the new GUI on the site. 

Link to comment
Share on other sites

I had a question about the turn processing - it appears that the server gets stuck in the END OF TURN phase for a very long duration, often exceeding several hours. During this phase, it isn't possible to actually do anything. Now the question is, is this mainly due to the turns still being processed manually or are there other things causing the delay?


But it's good to see the "time remaining". Although as a suggestion, maybe an option to set a warning before the time is up to "save" things to avoid being too late to issue orders. :)

Link to comment
Share on other sites

the length of the END OF TURN is the major focus of my coding efforts right now.  I need to get it smaller.


The major time users are:


- processing Defend, Attack, and Patrol orders

- processing Derelict Detections (still a problem, especially with the number of derelicts being created)


here are some solutions I am looking at:


- for Defend Attack and Patrol orders, the engine re-figures out what the ships primary target is EVERY CYCLE, meaning it has to search through every potential enemy ship in the sector every cycle and figure which is the highest priority target.  My solution:  once a ship determines a primary target, it will continue to prosecute that target until the target leaves the sector or is destroyed or becomes a nuetral, etc.  To enable this, I plan on giving the player the opportunity to "Clear" the current target during the orders phase so it will do a reevaluation of the possible targets and determine a new priority target only when the player wants it to.  That should speed things up tremendously.


- for Derelict Detections I need to think a bit more,  Currently the logic is so simple I dont see how I could speed it up, unless I do away with fighter derelicts but i dont want to do that.  Perhaps I will only keep fighter derelicts around for a certain number of cycles.  I'm still thinking about it.


I apologize for how long the turn processing is going, but honestly, that is the whole point of this testing phase.  I appreciate your patience and want to assure you that your efforts are helping improve this game.


FYI, since i run the game off my laptop for now, and I had to leave for work, i had to kill the engine in mid turn processing, so that is why the current end turn is lasting so long.  I plan on putting in some quick code changes and restarting the end turn ASAP.

Link to comment
Share on other sites

Also another question on top of that. It could just be me coming in, but every time I've looked on the game to start to make my orders I get nada from it, each time its on End Turn Mode. Is there a specified time that you run the turns on just so those of us who just popped in know when to get our orders done by?
Link to comment
Share on other sites

I'm probably being obvious (and naive as to how easy things are to implement) here but would an 'engagement radius' say of 50km help with the target selection? Obviously you'd still need to work out the distance between a ship and all others in the sector but you wouldn't then need to run any further calculations on those excluded. On a more fundamental note you could subdivide each sector into 10km squares, with ships assigned to the square subsector they occupy. Then you wouldn't need to calc ranges that you don't need, just list the ships in the subsectors around the primary ship.
Link to comment
Share on other sites

i already use a radius to cull out targets, but you still have to check the ships distance each cycle. 


as for breaking the sectors further into squares, that is a strategy i looked at years ago but as long as people can move from square to square within the sector i would need to check nearby squares for detection, combat, etc.  it got too hairy.  in fact, before I even had sectors, it was one huge tactical map covering the entire galaxy, and only by splittig into sectors could my processing even work.


Lodoss:  im working on getting the end turns going faster so that there is more time in NON end turn mode than actual end turn mode.


UPDATE:  I implemented a few new enhancements in the code and they are working as planned, looks like the turn is going pretty good right now.  should be finished pretty soon.

Link to comment
Share on other sites

The Null Pointer exception that I got last night has been fixed.  I am still putting in tweaks to speed up things whenever I can.  Turns are running again.


Thanks for your patience.

Link to comment
Share on other sites

Well, I did have an error last night that I am trying to reproduce, but it didnt show up again, so I'll just have to keep an eye out for it.


Other than that, the turns are running VERY quickly, now, like about 4 minutes tops, so users should have no probs getting their orders in.


I will look at putting in generic ship descriptions for the priority targets, but i dont think I would be able to get as detailed as you want since i dont classify the objects in the game that way.  I could do things like


"any small craft" -- meaning any ship that can go onboard another

"any capital ship"

"any structure" -- meaning any building or non-tactical unit like oil mines, assembly plants

i could even do "any cargo ship" i think, which means any non-structure ship with no weapons


but it starts getting hard to understand since some cargo ships have weapons like Star Galleons, so to make it work logically I would have to assign ships to each ship type which means that I would have to change those every time I added a new ship.


So ill think about it.  The idea has merit.


ALSO, I will raise the unit limits to 150000 today. 

Link to comment
Share on other sites

NEW GALSIM.ZIP AVAILABLE at http://galsim.nickersonm.com/galsim.zip




You can now assign a ship category to your priority targets.  Current options are:


Any SMALL CRAFT (any ship with an onboard size > 0)

Any SMALL CAPITAL SHIP (any non-structure ship with an onboard size = 0 w/ length < 400)

Any MEDIUM CAPITAL SHIP (length >= 400 and < 1000)

Any LARGE CAPITAL SHIP (length >= 1000 and < 5000)

Any SUPER CAPITAL SHIP (length >= 5000)

Any STRUCTURE (any structure)

Any LAND UNIT (when i make land units)

Link to comment
Share on other sites

Did a good number of tweaks to combat..


Earlier in the day, I randomized the order by which units did their orders.  Before the change, pretty much orders were done from oldest unit to newest unit, so the newest units always had an advantage, because their moves were done after the other guy.  Now its random.


Turg brought up that doing that helped but still each turn some ships are just crap out of luck because they are done last.  So I fixed that too.  Now each ship, as it is maneuvering on a target, if it doesnt use up all of its turn radius, it saves it up for use at the end of the cycle after everyone has moved.  Any left over turn radius can be used by the unit to PIVOT further onto the enemy.  So for ships with alot of turn radius it gives it an advantage at the end of the moves to bear on the enemy.  Its just a pivot, the ship doesnt move any further.


In order to implement some variety in dogfighting and maneuvering, I implemented a random modifier to a units turn radius.  Basically, the max turn radius for a ship in a cycle can go as low as 75% of its radius or up to 150%.  This is a percentage of its spec'd turn radius thus higher turn radius ships have a chance at even more of a bonus.  This will also make dogfights not predictable and gives a small chance that a less maneuverable fighter could out-maneuver a more agile fighter for a short time. 


I also decided not to lower the fighter weapon damage rates as much as I did earlier today, but theres a catch.


All LCF, BCF, and ICF are now back at max damage rating, BUT i kept the ROF at 2 instead of 4.  So basically all fighter weapons got a 50% cut instead of 83% cut.


In addition, Turg recommended a sort of penetration rating so for fighter weapons when they hit a ship, so I put in some code so that damage will be reduced by a ships ARMOR FACTOR which is calculated as such:


(armor components to build the ship (rounded down) / chassis components to build it (rounded down)) * 1.5


The rounded down basically makes all fighter type ships have no armor factor since they all take less than 1 armor component to build them, so fighters can still kill fighters normally.

Against cap ships, damage can be reduced by normally between 20% and a hardcoded max of 75% (big super ships have the 75% max).

NOTE: this does not affect warheads fired by fighter type craft.

Edited by markb50k
Link to comment
Share on other sites

I do have another request: append the report files and perhaps even save them seperately (detection log, combat log, etc). It is a shame to lose the data when the application ends up overwriting it on a save/refresh. This would allow us to look things up a bit more easily.
Link to comment
Share on other sites

Excellent stuff! I really like those changes, and especially the ability to target a Category.


Three more requests:


1) Extended turn reports. Appending (instead of replacing) turn reports, and being able to download reports for all missed turns. That way, if all my units were destroyed while I was sleeping, I can still read a full report in the morning. EDIT: What DW said :)


2) Fleet formations. It would be great to be able to select a group of units and assign them one out of a small choice of formations (line, wedge, circle, diamond...), selecting e.g. center point and radius, or start and end points, and having the code automatically spread the units within the selected zone. It's extremely tedious to use the "escort position" function on large groups of fighters.


3) Squadrons. It would be nice if we could group fighters (or any other unit for that matter, but especially fighters) into squadrons and have them behave as a single unit in terms of orders. This could tie in nicely with point 2 above: "Alpha squadron", with a "circle formation", could be assigned to escort a frigate. The "escort position" would then be where the center of the formation. No changes to the escort routine would be needed, as it would see the squadron as a single unit with a single position (the center of the formation). Also, when naming a squadron, all units within that squadron would receive that name and a number. e.g. Alpha 1, Alpha 2, etc.

Link to comment
Share on other sites

Two UI questions:

- The debris colour is quite similar to the Neutral colour (and some lines to the Enemy colour), could this be changed to set them appart more?

- The colour of the units in the formation window (dark grey) makes them hard to see, especially if you have a crappy monitor like me. Could this colour be set a bit ligher.


(or perhaps even allow user-set colours in the long run)

Link to comment
Share on other sites

Append reports:  what I can do is have the reports written to a unique filename everytime you login with a timestamp  "REPORT.123145.txt" so you can keep every report you want.

Allowing you to re-get old reports:  Not feasible with the current server setup.  If we go to a direct GUI to Engine setup, this may be possible but that is some time off.


Formations/Squadrons:  In my opinion there is no need for a new thing for the game to track, i.e. squadrons.  The game already allows you to group ships into fleets and subfleets, etc, in any manner you wish.  Plus you can give orders to groups of ships already.  Plus any squadron formation is basically just a escort formation, since every formation is keyed on some single ship position.  So any changes I do to formations will be done within the construct of the escort formation.  So, what I will look at are some choices that are presented to you when you assign multiple ships at the same time to escort a ship.  Either circle, line, wedge, ill see what I can add.  They wont be too complicated of formations.  If you want complicated ones where you have 6 fighters escort a frigate, which in turn escorts a cruiser, you can ALREADY do that using nested ESCORT orders.  ships that are being escorted can escort other ships themselves.  Consequently, you then have to give orders only to one ship.


If I am not tracking with what you guys are saying, let me know.


Debris color:  well, i really like the color scheme I use for debris, so the question is what do I change?  I think the easiest thing is to let you configure whatever color you want.  So what I envision is allowing you to specify colors in a custom.ini file that would look something like this:


EnemyColor=R,G,B  where R G and B are integers from 0 to 255 representing the red, green, and blue components to every color.  Just use MS Paint or whatever to choose the color then you can see what the RGB numbers are.  If you dont specify it uses the default.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...