SimHQ
Previous Thread
Next Thread
Print Thread
Rate Thread
Hop To
Page 1 of 3 1 2 3
#4660367 02/20/25 04:44 PM
Joined: Apr 2015
Posts: 18,133
Likes: 189
F
Veteran
Veteran
F Offline
Joined: Apr 2015
Posts: 18,133
Likes: 189
I continue to be amazed by (and frightened to death of) AI.

X just released the latest version of Grok, Grok3. I have been testing it....

I am currently reading a book on the WWII campaign for control of Guadalcanal. So I asked a question about the campaign to see if it agreed with my assessment of the pivotal time in the campaign.

My question:
"Pick a day or at most week in the August 1942 to February 1943 Guadalcanal campaign that best represents the point when the US gained an unstoppable advantage over Japan"


Groks answer:

Quote
Determining the exact moment when the United States gained an unstoppable advantage over Japan in the Guadalcanal campaign (August 7, 1942, to February 9, 1943) involves analyzing the interplay of land, sea, and air operations across this six-month struggle. While the campaign’s outcome remained uncertain for much of its duration, a pivotal shift occurred during the Naval Battle of Guadalcanal, specifically the engagements from November 12–15, 1942. This four-day period stands out as the decisive turning point when the U.S. secured a strategic advantage that Japan could not reverse, ultimately ensuring Allied control of Guadalcanal.

Why November 12–15, 1942?
The Naval Battle of Guadalcanal was a series of intense air and naval clashes triggered by Japan’s last major attempt to reinforce its ground forces and retake Henderson Field, the critical airfield on Guadalcanal. By early November, Japan had organized a convoy of 11 transports carrying 7,000 troops, supported by a powerful naval force including battleships, cruisers, and destroyers, with the intent to bombard Henderson Field and land reinforcements. The U.S., aware of this escalation, deployed its own naval and air forces to protect the airfield and disrupt the Japanese effort.

November 12–13: First Night Engagement
On the night of November 12–13, a U.S. task force under Rear Admiral Daniel J. Callaghan intercepted a Japanese bombardment group led by Vice Admiral Hiroaki Abe, including the battleships Hiei and Kirishima. In a chaotic, close-range battle, both sides suffered heavy losses—Callaghan and Rear Admiral Norman Scott were killed, and the U.S. lost two light cruisers and four destroyers. However, the Japanese lost the battleship Hiei (sunk the next day by air attacks) and failed to bombard Henderson Field effectively. This blunted Japan’s initial push and preserved the airfield’s operational capacity.

November 14–15: Climactic Battles
On November 14, U.S. aircraft from Henderson Field and the carrier Enterprise (operating south of Guadalcanal) struck the Japanese transport convoy, sinking seven of the 11 transports and forcing the rest to retreat. That night, a second Japanese bombardment attempt, led by Kirishima, was met by a U.S. force under Rear Admiral Willis A. Lee, including the battleships Washington and South Dakota. In this engagement, Washington sank Kirishima, and the Japanese withdrew, abandoning their bombardment plans. The surviving four transports beached on Guadalcanal but were destroyed by air and ground attacks on November 15, delivering only about 2,000 troops and minimal supplies—far too little to alter the battlefield situation.

Strategic Impact
This sequence of events marked the decisive shift for several reasons:
Preservation of Henderson Field: The U.S. defense of the airfield ensured continued Allied air superiority, which was critical for interdicting Japanese resupply efforts and supporting ground operations. Japan’s failure to neutralize Henderson Field doomed its ability to sustain its forces effectively.

Destruction of Japanese Reinforcements: The loss of most of the troop transports meant Japan could not deliver the manpower or supplies needed to mount a successful counteroffensive. By contrast, the U.S. landed 6,000 fresh troops and ample supplies on November 11–12, bolstering its position.

Naval Attrition: Japan lost two battleships (Hiei and Kirishima), a heavy cruiser, three destroyers, and numerous aircraft, while the U.S., despite heavy losses (including two admirals), retained enough naval strength to protect its supply lines. Japan’s naval losses were irreplaceable at this stage, given its industrial constraints.

Psychological and Strategic Shift: The Japanese high command, recognizing the unsustainable losses, began considering evacuation by late November. On December 31, 1942, Emperor Hirohito approved the withdrawal, executed in early February 1943 via Operation Ke. This decision reflected the reality that Guadalcanal was no longer winnable.

Why Not Earlier or Later?
Earlier Moments (August–October): The initial landings on August 7–8 saw the U.S. seize Henderson Field with little resistance, but Japan’s counterattacks (e.g., Battle of the Tenaru, August 21; Battle of Edson’s Ridge, September 12–14; and the October 23–26 offensive) kept the outcome in doubt. Naval battles like Savo Island (August 8–9) and Santa Cruz (October 25–27) showed Japan’s ability to inflict significant damage, and U.S. forces were stretched thin logistically.

Later Moments (December–February): By December, Japan’s ground forces were starving and diseased, and the U.S. had built overwhelming strength with the arrival of XIV Corps under General Alexander Patch. However, this was a consolidation of the advantage gained in November, not the moment it was won. The Japanese evacuation (February 1–7, 1943) was the campaign’s endpoint, not its turning point.

Conclusion
The Naval Battle of Guadalcanal, November 12–15, 1942, represents the moment when the U.S. gained an unstoppable advantage. By repelling Japan’s final major offensive, preserving Henderson Field, and crippling Japan’s ability to reinforce or resupply, the U.S. shifted the campaign’s momentum decisively. From this point, Japan was forced onto the defensive, unable to recover the initiative, while the Allies solidified their foothold in the Solomons, paving the way for subsequent offensives. This week encapsulates the transition from a contested struggle to an inevitable American victory.


Now did Grok come up with this all on its own? No, but neither did I. But I've read a bunch about the campaign. Which is what Grok did.

The thing is I have spent hours (over a couple of months) reading about Guadalcanal and Grok came up with this in ten seconds.

Try it yourself, on any subject. Post results!


US federal spending per person per year, in constant 2025 dollars:
1925 - $153.00
2025 - $20,497.00

"In the vast library of socialist books, there’s not a single volume on how to create wealth, only how to take and “redistribute” it.” - David Horowitz (RIP)

"It is usually futile to try to talk facts and analysis to people who are enjoying a sense of moral superiority in their ignorance." Thomas Sowell
Inline advert (2nd and 3rd post)

Joined: Apr 2015
Posts: 18,133
Likes: 189
F
Veteran
Veteran
F Offline
Joined: Apr 2015
Posts: 18,133
Likes: 189
I presented the same question to ChatGPT:


Quote
The best day to pinpoint when the U.S. gained an *unstoppable* advantage in the Guadalcanal campaign is **November 15, 1942**, the final night of the *Naval Battle of Guadalcanal* (November 12–15).

On this night, U.S. forces, despite heavy losses, decisively defeated a major Japanese naval force attempting to bombard Henderson Field and land reinforcements. The Japanese battleship *Kirishima* was sunk, and from that point forward, Japan could no longer send major reinforcements to Guadalcanal without unacceptable risks. This battle effectively ended Japan's ability to contest the island strategically.

Though the campaign continued into February 1943, Japan had already begun transitioning to defensive operations. The failure to reinforce their position made their eventual withdrawal inevitable.


More succinct but still accurate and pretty well stated. Took as long or longer to come up with the above as Grok did with its much longer reply.


US federal spending per person per year, in constant 2025 dollars:
1925 - $153.00
2025 - $20,497.00

"In the vast library of socialist books, there’s not a single volume on how to create wealth, only how to take and “redistribute” it.” - David Horowitz (RIP)

"It is usually futile to try to talk facts and analysis to people who are enjoying a sense of moral superiority in their ignorance." Thomas Sowell
Joined: Apr 2015
Posts: 18,133
Likes: 189
F
Veteran
Veteran
F Offline
Joined: Apr 2015
Posts: 18,133
Likes: 189
I have a couple of FDM 3D printers that print with rolls of filament. I want a SLA printer that uses resin because they can produce very finely detailed parts. But I dont know anything about resin printers, so a few days ago, before Grok3, I asked:

"With regard to Resin Printers what specific printer specification(s) are most indicative of a given printers ability to produce models with invisible, or nearly so, layer lines"



Quote
When it comes to resin printers and their ability to produce models with invisible or nearly invisible layer lines, several key specifications and factors play a critical role. Unlike FDM (Fused Deposition Modeling) printers, which extrude filament and often leave visible layer lines due to the nature of the process, resin printers (using SLA, DLP, or LCD technology) cure liquid resin layer by layer, offering inherently smoother surfaces. However, the degree to which layer lines are minimized or eliminated depends on the following printer specifications and related considerations:

1. Layer Height (Z-Axis Resolution)
What it is: Layer height refers to the thickness of each individual layer of cured resin, typically measured in microns (µm). Most resin printers allow adjustable layer heights, commonly ranging from 10 µm (0.01 mm) to 100 µm (0.1 mm).
Impact on Layer Lines: Smaller layer heights result in finer steps between layers, reducing the visibility of layer lines. For example, printing at 25 µm versus 100 µm will produce a smoother surface because the transitions between layers are less pronounced. At very low layer heights (e.g., 10 µm), layer lines can become nearly invisible to the naked eye, especially after minor post-processing.
Key Specification: Look for the minimum layer height supported by the printer. High-end resin printers often advertise a minimum layer height of 10 µm or lower, which is a strong indicator of their ability to minimize layer lines.

2. Z-Axis Stability and Precision
What it is: This relates to the mechanical accuracy and stability of the printer’s build plate as it moves along the Z-axis. It’s influenced by components like the lead screw, linear rails, and overall build quality.
Impact on Layer Lines: Any wobble, vibration, or imprecision in Z-axis movement can cause inconsistencies in layer alignment, leading to visible horizontal lines or banding. Printers with dual linear rails or a single robust rail (e.g., pseudo-dual rail designs) tend to offer better stability, reducing these artifacts.
Key Specification: Check for terms like "dual linear rails," "ball screw," or "high-precision Z-axis" in the printer’s specs. These indicate superior mechanical design that helps maintain smooth, consistent layering.

3. XY Resolution (Screen Resolution)
What it is: XY resolution is determined by the pixel size of the LCD screen (for LCD-based resin printers) or the precision of the laser/projector (for SLA/DLP printers). It’s typically measured in microns per pixel (e.g., 35 µm or 50 µm).
Impact on Layer Lines: While XY resolution primarily affects horizontal detail (e.g., sharp edges and intricate features), it indirectly influences layer line visibility. Higher resolution screens (e.g., 4K or 8K) allow for finer pixel control, enabling smoother transitions at layer edges through techniques like anti-aliasing. This can reduce the "stair-stepping" effect that makes layer lines more noticeable, especially on curved or angled surfaces.
Key Specification: Look for the screen resolution (e.g., 2K, 4K, 8K) and the corresponding pixel size (e.g., 35 µm for a 4K screen on a 5.5-inch display). Higher resolution screens (smaller pixel sizes) are better equipped to minimize visible layering artifacts.

4. Light Source Quality and Uniformity
What it is: The type and quality of the UV light source (e.g., monochrome LCD, RGB LCD, or LED array) affect how evenly and precisely the resin is cured.
Impact on Layer Lines: Uneven light distribution can lead to over- or under-curing in certain areas, causing inconsistencies in layer adhesion or surface finish that accentuate layer lines. Monochrome LCD screens, for instance, allow faster and more uniform curing compared to RGB screens due to higher light transmission, resulting in smoother layer transitions.
Key Specification: Check for a "monochrome LCD" (faster curing, sharper layers) and features like "parallel LED arrays" or "collimated light" for uniform exposure. These contribute to cleaner, less visible layer boundaries.

5. Anti-Aliasing Support
What it is: Anti-aliasing is a software feature in the slicer or firmware that smooths pixel edges by adjusting grayscale values, reducing the jagged "staircase" effect on curved surfaces.
Impact on Layer Lines: While primarily an XY-plane enhancement, anti-aliasing also softens the perception of layer lines on slanted or curved surfaces by blending the edges of each layer. Printers that support higher levels of anti-aliasing (e.g., 4x, 8x, or 16x) can significantly reduce visible layering, especially when paired with a high-resolution screen.
Key Specification: Confirm whether the printer’s firmware or recommended slicer (e.g., Chitubox, Lychee) supports anti-aliasing and the maximum level it can achieve. This isn’t always listed in hardware specs but is critical for surface smoothness.

6. Build Volume vs. Resolution Trade-Off
What it is: The build volume (printable area) and screen resolution are interrelated. A larger build volume with the same screen resolution (e.g., 4K) results in larger pixels, reducing XY precision.
Impact on Layer Lines: Larger pixel sizes can exaggerate the stair-stepping effect on curved surfaces, making layer lines more apparent. Smaller build volumes with high-resolution screens (e.g., 4K on a 5.5-inch display vs. 4K on a 9.25-inch display) offer tighter pixel density, improving overall smoothness.
Key Specification: Compare the build volume to the screen resolution. For minimal layer lines, prioritize printers with smaller build volumes and higher pixel density (e.g., 35 µm vs. 50 µm pixel size).

Practical Considerations Beyond Specs
While the above specifications are the most indicative of a printer’s capability, achieving nearly invisible layer lines also depends on:
Resin Type: High-quality resins with low shrinkage and good flow properties reduce layer line prominence compared to cheaper, less consistent resins.
Exposure Settings: Proper calibration of exposure time (neither too short nor too long) ensures each layer cures evenly without bleeding or delamination, which can highlight lines.
Model Orientation: Angling the model (e.g., 45°) minimizes vertical stacking of layers on visible surfaces, distributing the stair-step effect more evenly.
Post-Processing: Even the best printers may require light sanding or a resin coating (e.g., epoxy) to fully eliminate layer lines, though high-spec machines reduce this need.

Conclusion
The most critical specifications for minimizing layer lines are:
Minimum Layer Height (Z-Axis Resolution): Aim for 10–25 µm for near-invisible lines.
Z-Axis Stability: Look for dual rails or high-precision mechanics.
XY Resolution (Screen): Higher resolution (e.g., 4K or 8K) with smaller pixel sizes (e.g., 35 µm or less).
Light Source: Monochrome LCDs with uniform illumination.
Anti-Aliasing: Support for 4x or higher.

For example, a printer like the Anycubic Photon Mono X 6K (6K monochrome screen, 34 µm pixel size, 10 µm minimum layer height, dual Z-axis rails) or the Elegoo Saturn 3 Ultra (12K screen, 19 µm pixel size, high-precision Z-axis) would excel at producing models with nearly invisible layer lines due to their combination of these specs. Pairing such hardware with optimized settings and techniques will get you as close as possible to a layer-line-free finish straight off the printer. I

Last edited by F4UDash4; 02/21/25 12:47 PM.

US federal spending per person per year, in constant 2025 dollars:
1925 - $153.00
2025 - $20,497.00

"In the vast library of socialist books, there’s not a single volume on how to create wealth, only how to take and “redistribute” it.” - David Horowitz (RIP)

"It is usually futile to try to talk facts and analysis to people who are enjoying a sense of moral superiority in their ignorance." Thomas Sowell
Joined: Jan 2002
Posts: 5,887
Likes: 9
S3D GuRu
Hotshot
S3D GuRu
Hotshot
Joined: Jan 2002
Posts: 5,887
Likes: 9
NVM Comment to PWEC Based wink either way AI can go away at any time not a fan of it..

Last edited by The Nephilim; 02/21/25 12:29 AM.

Intel Ultra 265K 5.5GHZ / Gigabyte Z890 Aorus Elite / MSI 4070Ti Ventus 12GB / Thermalright Frozen Notte RGB AIO / SoundBlaster Z SoundCard / Corsair Vengance 6400MT 64GB Ram / Buttkicker Simulation / HP Reverb G2 / Samsung 980 Pro 2TB Games / Crucial 1TB M.2 Win 11 Pro 23H2 /
Joined: Apr 2015
Posts: 18,133
Likes: 189
F
Veteran
Veteran
F Offline
Joined: Apr 2015
Posts: 18,133
Likes: 189
Originally Posted by The Nephilim
NVM Comment to PWEC Based wink either way AI can go away at any time not a fan of it..


It's not going anywhere, the genie is out of the bottle.


US federal spending per person per year, in constant 2025 dollars:
1925 - $153.00
2025 - $20,497.00

"In the vast library of socialist books, there’s not a single volume on how to create wealth, only how to take and “redistribute” it.” - David Horowitz (RIP)

"It is usually futile to try to talk facts and analysis to people who are enjoying a sense of moral superiority in their ignorance." Thomas Sowell
Joined: Jul 2009
Posts: 11,933
Likes: 141
C
Administrator
Veteran
Administrator
Veteran
C Online: Cool
Joined: Jul 2009
Posts: 11,933
Likes: 141
Opera browser's AI is Aria. Here is its answer:

Quote
A significant moment in the Guadalcanal campaign that represents when the US gained an unstoppable advantage over Japan is the Battle of Guadalcanal, particularly around November 13-15, 1942. During this period, the Naval Battle of Guadalcanal took place, which was crucial for several reasons:

Decisive Naval Engagement: The US Navy engaged in fierce battles against the Imperial Japanese Navy, resulting in the sinking of several Japanese ships, including heavy cruisers.
Control of the Sea: The victory allowed the US to secure control over the waters surrounding Guadalcanal, which was vital for supply lines and troop movements.
Psychological Impact: This battle marked a turning point in morale, showcasing that the Japanese forces could be defeated in a major naval confrontation.
Strategic Advantage: Following this battle, the US was able to reinforce its troops on Guadalcanal, leading to a gradual shift in momentum in favor of the Allies.
This period is often cited as the moment when the tide began to turn decisively in the Pacific Theater, setting the stage for future victories. Would you like to know more about the specific battles or strategies used during this campaign?

Sources
Battle of Guadalcanal | Facts, Map, & Significance - Britannica

britannica.com
The Solomon Islands Campaign: Guadalcanal | New Orleans

nationalww2museum.org
Guadalcanal campaign - Wikipedia

wikipedia.org
The Battle of Midway or the Struggle for Guadalcanal
combinedfleet.com
Guadalcanal Campaign: August 1942-February 1943
navy.mil

us defeats japan guadalcanal
turning point guadalcanal august
us takes guadalcanal 1942
february 1943 guadalcanal battle
us gains control guadalcanal

The sources had clickable links.


"praemonitus, praemunitus"
"We in America have no interest in being polite and orderly caretakers of the West’s managed decline." - Secretary of State Marco Rubio
[Linked Image]
What we agreed to abide by in these forums!
CB's Tips for Potentially Contentious Forum Discussions
Joined: Jul 2009
Posts: 11,933
Likes: 141
C
Administrator
Veteran
Administrator
Veteran
C Online: Cool
Joined: Jul 2009
Posts: 11,933
Likes: 141
Originally Posted by F4UDash4
Originally Posted by The Nephilim
NVM Comment to PWEC Based wink either way AI can go away at any time not a fan of it..


It's not going anywhere, the genie is out of the bottle.

Indeed.


"praemonitus, praemunitus"
"We in America have no interest in being polite and orderly caretakers of the West’s managed decline." - Secretary of State Marco Rubio
[Linked Image]
What we agreed to abide by in these forums!
CB's Tips for Potentially Contentious Forum Discussions
Joined: Jan 2002
Posts: 5,887
Likes: 9
S3D GuRu
Hotshot
S3D GuRu
Hotshot
Joined: Jan 2002
Posts: 5,887
Likes: 9
Originally Posted by F4UDash4
Originally Posted by The Nephilim
NVM Comment to PWEC Based wink either way AI can go away at any time not a fan of it..


It's not going anywhere, the genie is out of the bottle.

Yes that is for sure.


Intel Ultra 265K 5.5GHZ / Gigabyte Z890 Aorus Elite / MSI 4070Ti Ventus 12GB / Thermalright Frozen Notte RGB AIO / SoundBlaster Z SoundCard / Corsair Vengance 6400MT 64GB Ram / Buttkicker Simulation / HP Reverb G2 / Samsung 980 Pro 2TB Games / Crucial 1TB M.2 Win 11 Pro 23H2 /
Joined: Apr 2015
Posts: 18,133
Likes: 189
F
Veteran
Veteran
F Offline
Joined: Apr 2015
Posts: 18,133
Likes: 189
Originally Posted by CyBerkut
The sources had clickable links.

Grok provides links as well.


US federal spending per person per year, in constant 2025 dollars:
1925 - $153.00
2025 - $20,497.00

"In the vast library of socialist books, there’s not a single volume on how to create wealth, only how to take and “redistribute” it.” - David Horowitz (RIP)

"It is usually futile to try to talk facts and analysis to people who are enjoying a sense of moral superiority in their ignorance." Thomas Sowell
Joined: Dec 2000
Posts: 6,370
Likes: 1
S
Hotshot
Hotshot
S Offline
Joined: Dec 2000
Posts: 6,370
Likes: 1
I think AI is being too broadly used though. If you train all these models using a lot of what is out there (probably including books you are probably reading), it's essentially picking out what is in their knowledge database. The fact that it cannot learn or adapt outside of the data it is trained on is why i object to the term AI vs LLM.
With that said, I have really incorporated in a lot of my day to day tasks to save a lot of time at work. For example, year end 2024, I had to write year end reviews for like 10 people. Would have taken me a few days before. Just prompting ChatGPT by giving it goals, the employee self assessment, and giving some of my feedback in a couple of short sentences, I was able to put together a very thoughtful year end review for all 10 of them in like 2 hours. That's just one example of how it really is such a useful tool for me at work. I have also been playing around with things like MidJourney and the ability to create super realistic photo quality images is downright scary. What an amazing time to be able to experience these tools and see how far they have progressed just in the last 2 to 3 years


"No power in the 'verse can stop me!!!"
Joined: Jul 2002
Posts: 3,909
Likes: 31
D
DM Offline
Senior Member
Senior Member
D Offline
Joined: Jul 2002
Posts: 3,909
Likes: 31
I'm a little more standoffish about AI, I can see how it could be useful to me, but I see more & more how it will be used not for my benefit but for large business benefit, cutting human work out & pasting AI work in. AI can't do my job yet, and I'm not allowed to use AI to do it (some amount of sensitive info etc.) but as soon as AI can do my job faster and a local AI can be sufficiently insulated, I will be simply replaced.

Mostly my cynicism comes from something I notice but find difficult to vocalise. When I see AI generated images, I can somehow tell there is nothing behind it. Something is always "off" about it. Same with AI generated text, or voice overlay. It's like something done with no real genuine understanding, but is instead made from enough poking in the right direction by someone who DOES understand. And often is poked around until an acceptable answer comes out, which might be something as flawed as aligning with the prompters' own expectations.

This is easy to see or hear because as humans we are very visually sensitive. But the same "missing parts" that make an image slightly wrong must be there for all AI endeavours. But because we can't see it, we miss it.

Think about if AI is controlling the economy, finances, insurance, resource management, political modelling, food distribution, event scheduling, but it has the same fundamental non-understanding, but we can't easily see it. Stuff that is going on all around us that is prompted, but there's no effective way to see if it's working properly, because there's no final image at the end of it.

Anyone know what I mean?

Last edited by DM; 02/21/25 09:39 AM.

"They might look the same, but they don't taste the same."
Joined: Jan 2007
Posts: 1,883
Likes: 1
D
Member
Member
D Offline
Joined: Jan 2007
Posts: 1,883
Likes: 1
It's not so much what it can or cannot do. It's the fact that so many are willing, without a thought, to turn over every aspect of their daily existence to it. It has a use, for sure. But letting it do all your thinking and research for you it like relying on Reddit for your opinions. That's my opinion, anyway.


[email protected], 32GB Ram, RTX4070 Super 12GB, 2TB SSD
Joined: Oct 1999
Posts: 9,573
Likes: 11
Hotshot
Hotshot
Joined: Oct 1999
Posts: 9,573
Likes: 11
AI gives a Summary of what has already been written about a subject (for example). If what has been written is accurate, fine. If not, its misleading.

Some researchers are trying to duplicate Human Intelligence and Behavior. I assume that will be successful within decades. Maybe we should call it HI (for Human Intelligence).

AI can do Good or Bad depending on how the programs are written. The same could be said about HI. Politicians will use AI and HI to deceive the naive.

HI could make the "bad guys and gals" unstoppable. Or it could be used to rid us of "bad guys and gals". I won't live long enough to see the answer -- some Grandchildren may see it.


Sapphire Pulse RX7900XTX, 3 monitors = 24"P (180hz/1080p) + Samsung 32" Odyssey Neo G7 4K 1000R Curved (165Hz/4K/2160p) + 24"P (180hz/1080p), AMD R9-9950X, 64GB [email protected], GIGABYTE X870E AORUS Master MB, (4x M.2 SSD + 2xSSD + 2xHD) = ~58TB storage, 1300W PSU, Phanteks Enthoo Pro Full Tower, ASUS RT-AX89X 6000Mbps WiFi router, VKB Gladiator WW2 Stick, Pedals, G.Skill RGB KB, EVGA X20 Mouse, W11 Pro
Joined: Apr 2015
Posts: 18,133
Likes: 189
F
Veteran
Veteran
F Offline
Joined: Apr 2015
Posts: 18,133
Likes: 189
Originally Posted by Spidey
The fact that it cannot learn or adapt outside of the data it is trained on...

I'm not so sure that is true any longer, or if it is it won't be much longer.



Originally Posted by Spidey
What an amazing time to be able to experience these tools and see how far they have progressed just in the last 2 to 3 years

yep


US federal spending per person per year, in constant 2025 dollars:
1925 - $153.00
2025 - $20,497.00

"In the vast library of socialist books, there’s not a single volume on how to create wealth, only how to take and “redistribute” it.” - David Horowitz (RIP)

"It is usually futile to try to talk facts and analysis to people who are enjoying a sense of moral superiority in their ignorance." Thomas Sowell
Joined: Apr 2015
Posts: 18,133
Likes: 189
F
Veteran
Veteran
F Offline
Joined: Apr 2015
Posts: 18,133
Likes: 189
Originally Posted by Allen
AI gives a Summary of what has already been written about a subject (for example). If what has been written is accurate, fine. If not, its misleading.

Same applies to many/most human researchers wink

The difference is that AI can do in seconds what takes humans hours.. days.. longer.


US federal spending per person per year, in constant 2025 dollars:
1925 - $153.00
2025 - $20,497.00

"In the vast library of socialist books, there’s not a single volume on how to create wealth, only how to take and “redistribute” it.” - David Horowitz (RIP)

"It is usually futile to try to talk facts and analysis to people who are enjoying a sense of moral superiority in their ignorance." Thomas Sowell
Joined: Oct 1999
Posts: 9,573
Likes: 11
Hotshot
Hotshot
Joined: Oct 1999
Posts: 9,573
Likes: 11
Originally Posted by F4UDash4
Same applies to many/most human researchers wink

As a Human former Researcher surrounded by Human Researchers, I completely agree. We're all wrong at times. Some look for their mistakes -- I took pride in doing that. Some are afraid of finding them -- so, don't look.

I used to just "smile" about it. I still do. smile


Sapphire Pulse RX7900XTX, 3 monitors = 24"P (180hz/1080p) + Samsung 32" Odyssey Neo G7 4K 1000R Curved (165Hz/4K/2160p) + 24"P (180hz/1080p), AMD R9-9950X, 64GB [email protected], GIGABYTE X870E AORUS Master MB, (4x M.2 SSD + 2xSSD + 2xHD) = ~58TB storage, 1300W PSU, Phanteks Enthoo Pro Full Tower, ASUS RT-AX89X 6000Mbps WiFi router, VKB Gladiator WW2 Stick, Pedals, G.Skill RGB KB, EVGA X20 Mouse, W11 Pro
Joined: Nov 2005
Posts: 3,591
Likes: 41
Senior Member
Senior Member
Joined: Nov 2005
Posts: 3,591
Likes: 41
AI cracks superbug problem in two days that took scientists years:

https://www.bbc.co.uk/news/articles/clyz6e9edy3o


My 'Waiting for Clod' thread: https://tinyurl.com/4n82j75z

Always take sides. Neutrality helps the oppressor, never the victim. Silence encourages the tormentor, never the tormented.
Elie Wiesel. Romanian born Jewish writer, professor, political activist, Nobel Laureate, Holocaust survivor. 1928 - 2016.

Indeed the safest road to Hell is the gradual one - the gentle slope, soft underfoot, without sudden turnings, without milestones, without signposts. C.S. Lewis, 1898 - 1963.
Joined: Apr 2015
Posts: 18,133
Likes: 189
F
Veteran
Veteran
F Offline
Joined: Apr 2015
Posts: 18,133
Likes: 189
I know absolutely NOTHING about HTML coding.

So I prompted Grok to: "create html code for an "Asteroids" video game to be played in a browser based on the description of the original game here: https://en.wikipedia.org/wiki/Asteroids_(video_game)"

What it created at first was very basic. So I kept prompting it to add more features. Then I asked for a summary of the creation and changes:


Quote
Here's a summary of the creation and evolution of this Asteroids game, built from scratch in HTML5 with JavaScript and Canvas, based on the original game’s description from Wikipedia:
Initial Creation (February 23, 2025)

Base Game: Started with a basic implementation featuring a triangular ship that rotates (left/right arrows), thrusts (up arrow), and shoots (spacebar), with wrap-around screen edges (800x600 canvas). Asteroids moved randomly, broke into smaller pieces when hit, and had irregular shapes regenerated per frame. Included score tracking and classic wireframe graphics.

Key Changes and Enhancements
Sound Effects (First Attempt):
Added Web Audio API sounds for thrust (sawtooth, 50Hz), shoot (square, 500Hz), and asteroid explosion (sawtooth, 200Hz-50Hz). Encountered issues with browser compatibility.

Sound Fix and Debugging:
Switched to <audio> elements with placeholder base64 WAVs (intended for real files), but reverted to Web Audio API after blank screen issues. Debugged with a minimal version (ship only), then rebuilt full game, ensuring stability.

Gameplay Enhancements:
Lives and Game Over: Added 3 lives, game-over screen, and Enter to restart.
Level Progression: New asteroid waves spawn after clearing (5 + score/100).
Invincibility Frames: Added brief invulnerability (2s) on respawn with flicker effect.
High Score: Tracked via localStorage, displayed in UI.

Physics and Mechanics:
Momentum: Increased ship coasting to 20s (friction 0.995), later doubled to 40s (friction 0.9979).
Projectiles: Doubled bullet lifetime (60 to 120 frames), added ship velocity to bullets to prevent overtaking.
Asteroid Shapes: Made shapes random and fixed per asteroid (8-11 points), removed jitter by rotating smoothly (0.02 radians/frame).
Asteroid Collisions: Added elastic collision detection between asteroids with position correction.

Visual and Audio Enhancements:
Ship Destruction: Added break-apart animation (3 debris pieces, 1s duration) on collision.
New Sounds: Added ship destruction (triangle, 300Hz-100Hz, 0.5s) and rock collision (sine, 150Hz, 0.2s) sounds.

Screen Size:
Increased canvas from 800x600 to 1200x900 (50% larger), adjusted ship start position (600x450) and wrapping logic.

Final Adjustments:
Turn Rate: Halved rotation speed (0.1 to 0.05 radians/frame) for finer control.
Invulnerability: Extended respawn invulnerability to 3s (180 frames).
Extra Lives: Added 1 life per 750 points, tracked with lastLifeScore.
Shield: Added Left Shift key for a 3s shield (180 frames), 15s cooldown (900 frames), visualized with a blue circle, reusing invincibility mechanic. Added shield status to UI.

Final State
Gameplay: Ship navigates a 1200x900 space, with slow turns (0.05 radians), 40s coasting, and bullets that travel far (120 frames) with inherited velocity. Asteroids collide, rotate smoothly, and break apart. Lives increase at 750-point intervals, with 3s invulnerability on respawn and a 3s shield (15s cooldown).
Audio: Thrust, shoot, explosion, ship destruction, and rock collision sounds via Web Audio API.
Visuals: Wireframe graphics, debris animation, shield effect, and UI with score, lives, high score, and shield cooldown.
This version captures the essence of the original Asteroids while adding modern enhancements, refined through iterative debugging and feature requests! Let me know if you’d like further details or tweaks.


The final html created is below in the spoiler tags. Open, copy the code, paste into a "asteroids.txt" file and then change the extension to .html:
<!DOCTYPE html>
<html>
<head>
<title>Asteroids Game with Sound</title>
<style>
canvas {
border: 1px solid white;
background: black;
}
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background: #111;
}
</style>
</head>
<body>
<canvas id="gameCanvas" width="1200" height="900"></canvas>

<script>
try {
const canvas = document.getElementById('gameCanvas');
const ctx = canvas.getContext('2d');
const audioCtx = new (window.AudioContext || window.webkitAudioContext)();

// Game objects
const ship = {
x: 600,
y: 450,
angle: 0,
dx: 0,
dy: 0,
thrusting: false,
thrustOscillator: null,
lives: 3,
invincibility: 0,
destroyed: false,
debris: [],
shield: false,
shieldCooldown: 0
};

let bullets = [];
let asteroids = [];
let score = 0;
let highScore = localStorage.getItem('asteroidsHighScore') || 0;
let gameOver = false;
let lastLifeScore = 0; // Track score for extra lives

// Game constants
const SHIP_SIZE = 20;
const TURN_SPEED = 0.05; // Halved from 0.1
const ACCELERATION = 0.1;
const FRICTION = 0.9979;
const BULLET_SPEED = 5;
const BULLET_LIFE = 120;
const ASTEROID_SPEED = 2;
const ASTEROID_SIZE = 50;
const INVINCIBILITY_FRAMES = 180; // 3s at 60fps
const ASTEROID_ROTATION_SPEED = 0.02;
const DEBRIS_LIFE = 60;
const SHIELD_DURATION = 180; // 3s at 60fps
const SHIELD_COOLDOWN = 900; // 15s at 60fps
const POINTS_PER_LIFE = 750;

// Controls
const keys = {
left: false,
right: false,
up: false,
space: false,
shift: false
};

// Sound effects
function playThrustSound() {
if (ship.thrustOscillator || gameOver) return;
const oscillator = audioCtx.createOscillator();
const gainNode = audioCtx.createGain();
oscillator.connect(gainNode);
gainNode.connect(audioCtx.destination);
oscillator.type = 'sawtooth';
oscillator.frequency.setValueAtTime(50, audioCtx.currentTime);
gainNode.gain.setValueAtTime(0.05, audioCtx.currentTime);
oscillator.start();
ship.thrustOscillator = { oscillator, gainNode };
}

function stopThrustSound() {
if (ship.thrustOscillator) {
ship.thrustOscillator.gainNode.gain.setValueAtTime(0, audioCtx.currentTime + 0.1);
ship.thrustOscillator.oscillator.stop(audioCtx.currentTime + 0.1);
ship.thrustOscillator = null;
}
}

function playShootSound() {
if (gameOver) return;
const oscillator = audioCtx.createOscillator();
const gainNode = audioCtx.createGain();
oscillator.connect(gainNode);
gainNode.connect(audioCtx.destination);
oscillator.type = 'square';
oscillator.frequency.setValueAtTime(500, audioCtx.currentTime);
gainNode.gain.setValueAtTime(0.1, audioCtx.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioCtx.currentTime + 0.1);
oscillator.start();
oscillator.stop(audioCtx.currentTime + 0.1);
}

function playExplosionSound() {
if (gameOver) return;
const oscillator = audioCtx.createOscillator();
const gainNode = audioCtx.createGain();
oscillator.connect(gainNode);
gainNode.connect(audioCtx.destination);
oscillator.type = 'sawtooth';
oscillator.frequency.setValueAtTime(200, audioCtx.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(50, audioCtx.currentTime + 0.3);
gainNode.gain.setValueAtTime(0.15, audioCtx.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioCtx.currentTime + 0.3);
oscillator.start();
oscillator.stop(audioCtx.currentTime + 0.3);
}

function playShipDestructionSound() {
if (gameOver) return;
const oscillator = audioCtx.createOscillator();
const gainNode = audioCtx.createGain();
oscillator.connect(gainNode);
gainNode.connect(audioCtx.destination);
oscillator.type = 'triangle';
oscillator.frequency.setValueAtTime(300, audioCtx.currentTime);
oscillator.frequency.exponentialRampToValueAtTime(100, audioCtx.currentTime + 0.5);
gainNode.gain.setValueAtTime(0.2, audioCtx.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioCtx.currentTime + 0.5);
oscillator.start();
oscillator.stop(audioCtx.currentTime + 0.5);
}

function playRockCollisionSound() {
if (gameOver) return;
const oscillator = audioCtx.createOscillator();
const gainNode = audioCtx.createGain();
oscillator.connect(gainNode);
gainNode.connect(audioCtx.destination);
oscillator.type = 'sine';
oscillator.frequency.setValueAtTime(150, audioCtx.currentTime);
gainNode.gain.setValueAtTime(0.1, audioCtx.currentTime);
gainNode.gain.exponentialRampToValueAtTime(0.01, audioCtx.currentTime + 0.2);
oscillator.start();
oscillator.stop(audioCtx.currentTime + 0.2);
}

document.addEventListener('keydown', (e) => {
if (gameOver && e.key === 'Enter') {
resetGame();
return;
}
switch(e.key) {
case 'ArrowLeft': keys.left = true; break;
case 'ArrowRight': keys.right = true; break;
case 'ArrowUp':
keys.up = true;
playThrustSound();
break;
case ' ': keys.space = true; break;
case 'Shift':
if (!ship.destroyed && !ship.shield && ship.shieldCooldown === 0) {
keys.shift = true;
ship.shield = true;
ship.invincibility = SHIELD_DURATION;
ship.shieldCooldown = SHIELD_COOLDOWN;
}
break;
}
});

document.addEventListener('keyup', (e) => {
switch(e.key) {
case 'ArrowLeft': keys.left = false; break;
case 'ArrowRight': keys.right = false; break;
case 'ArrowUp':
keys.up = false;
stopThrustSound();
break;
case ' ': keys.space = false; break;
case 'Shift': keys.shift = false; break;
}
});

function spawnAsteroids(count) {
asteroids = [];
for (let i = 0; i < count; i++) {
const points = [];
const numPoints = 8 + Math.floor(Math.random() * 4);
for (let j = 0; j < numPoints; j++) {
const angle = (Math.PI * 2 / numPoints) * j;
const radius = ASTEROID_SIZE * (0.7 + Math.random() * 0.3);
points.push({
x: Math.cos(angle) * radius,
y: Math.sin(angle) * radius
});
}
asteroids.push({
x: Math.random() * canvas.width,
y: Math.random() * canvas.height,
dx: (Math.random() - 0.5) * ASTEROID_SPEED,
dy: (Math.random() - 0.5) * ASTEROID_SPEED,
size: ASTEROID_SIZE,
angle: 0,
points: points
});
}
}

function distance(x1, y1, x2, y2) {
return Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);
}

function resetShip() {
ship.x = canvas.width / 2;
ship.y = canvas.height / 2;
ship.dx = 0;
ship.dy = 0;
ship.angle = 0;
ship.invincibility = INVINCIBILITY_FRAMES; // 3s invulnerability
ship.destroyed = false;
ship.debris = [];
bullets = [];
}

function resetGame() {
resetShip();
ship.lives = 3;
score = 0;
lastLifeScore = 0;
spawnAsteroids(5);
gameOver = false;
ship.shield = false;
ship.shieldCooldown = 0;
}

function createDebris() {
ship.debris = [];
const pieces = [
{ x: SHIP_SIZE, y: 0 },
{ x: -SHIP_SIZE / 2, y: SHIP_SIZE / 2 },
{ x: -SHIP_SIZE / 2, y: -SHIP_SIZE / 2 }
];
pieces.forEach(piece => {
ship.debris.push({
x: ship.x + piece.x,
y: ship.y + piece.y,
dx: ship.dx + (Math.random() - 0.5) * 2,
dy: ship.dy + (Math.random() - 0.5) * 2,
angle: Math.random() * Math.PI * 2,
da: (Math.random() - 0.5) * 0.1,
life: DEBRIS_LIFE
});
});
}

function asteroidCollision(a1, a2) {
const dx = a2.x - a1.x;
const dy = a2.y - a1.y;
const dist = distance(a1.x, a1.y, a2.x, a2.y);
if (dist < a1.size + a2.size) {
const nx = dx / dist;
const ny = dy / dist;
const rvx = a2.dx - a1.dx;
const rvy = a2.dy - a1.dy;
const velNormal = rvx * nx + rvy * ny;
if (velNormal > 0) return;

playRockCollisionSound();

const impulse = 2 * velNormal / 2;
a1.dx += impulse * nx;
a1.dy += impulse * ny;
a2.dx -= impulse * nx;
a2.dy -= impulse * ny;

const overlap = (a1.size + a2.size) - dist;
a1.x -= overlap * nx * 0.5;
a1.y -= overlap * ny * 0.5;
a2.x += overlap * nx * 0.5;
a2.y += overlap * ny * 0.5;
}
}

function update() {
if (gameOver) {
render();
return requestAnimationFrame(update);
}

if (!ship.destroyed) {
if (keys.left) ship.angle -= TURN_SPEED;
if (keys.right) ship.angle += TURN_SPEED;
if (keys.up) {
ship.thrusting = true;
ship.dx += Math.cos(ship.angle) * ACCELERATION;
ship.dy += Math.sin(ship.angle) * ACCELERATION;
} else {
ship.thrusting = false;
}

ship.dx *= FRICTION;
ship.dy *= FRICTION;
ship.x += ship.dx;
ship.y += ship.dy;

ship.x = (ship.x < 0) ? canvas.width : (ship.x > canvas.width) ? 0 : ship.x;
ship.y = (ship.y < 0) ? canvas.height : (ship.y > canvas.height) ? 0 : ship.y;

if (ship.invincibility > 0) {
ship.invincibility--;
if (ship.shield && ship.invincibility === 0) ship.shield = false;
}
if (ship.shieldCooldown > 0) ship.shieldCooldown--;

if (keys.space && bullets.length < 10) {
bullets.push({
x: ship.x + Math.cos(ship.angle) * SHIP_SIZE,
y: ship.y + Math.sin(ship.angle) * SHIP_SIZE,
dx: Math.cos(ship.angle) * BULLET_SPEED + ship.dx,
dy: Math.sin(ship.angle) * BULLET_SPEED + ship.dy,
life: BULLET_LIFE
});
playShootSound();
keys.space = false;
}
} else {
ship.debris.forEach(debris => {
debris.x += debris.dx;
debris.y += debris.dy;
debris.angle += debris.da;
debris.life--;
debris.x = (debris.x < 0) ? canvas.width : (debris.x > canvas.width) ? 0 : debris.x;
debris.y = (debris.y < 0) ? canvas.height : (debris.y > canvas.height) ? 0 : debris.y;
});
ship.debris = ship.debris.filter(d => d.life > 0);
if (ship.debris.length === 0) resetShip();
}

bullets.forEach(bullet => {
bullet.x += bullet.dx;
bullet.y += bullet.dy;
bullet.life--;
bullet.x = (bullet.x < 0) ? canvas.width : (bullet.x > canvas.width) ? 0 : bullet.x;
bullet.y = (bullet.y < 0) ? canvas.height : (bullet.y > canvas.height) ? 0 : bullet.y;
});
bullets = bullets.filter(bullet => bullet.life > 0);

for (let i = 0; i < asteroids.length; i++) {
const asteroid = asteroids[i];
asteroid.x += asteroid.dx;
asteroid.y += asteroid.dy;
asteroid.angle += ASTEROID_ROTATION_SPEED;

asteroid.x = (asteroid.x < 0) ? canvas.width : (asteroid.x > canvas.width) ? 0 : asteroid.x;
asteroid.y = (asteroid.y < 0) ? canvas.height : (asteroid.y > canvas.height) ? 0 : asteroid.y;

for (let j = i + 1; j < asteroids.length; j++) {
asteroidCollision(asteroid, asteroids[j]);
}

if (!ship.destroyed && ship.invincibility === 0 && distance(ship.x, ship.y, asteroid.x, asteroid.y) < asteroid.size + SHIP_SIZE / 2) {
ship.lives--;
playShipDestructionSound();
ship.destroyed = true;
createDebris();
if (ship.lives <= 0) {
gameOver = true;
stopThrustSound();
if (score > highScore) {
highScore = score;
localStorage.setItem('asteroidsHighScore', highScore);
}
}
break;
}

for (let j = bullets.length - 1; j >= 0; j--) {
const bullet = bullets[j];
if (distance(bullet.x, bullet.y, asteroid.x, asteroid.y) < asteroid.size) {
bullets.splice(j, 1);
if (asteroid.size > 20) {
const newSize = asteroid.size / 2;
const scaledPoints = asteroid.points.map(p => ({
x: p.x * 0.5,
y: p.y * 0.5
}));
asteroids.push({
x: asteroid.x,
y: asteroid.y,
dx: (Math.random() - 0.5) * ASTEROID_SPEED,
dy: (Math.random() - 0.5) * ASTEROID_SPEED,
size: newSize,
angle: asteroid.angle,
points: scaledPoints
});
asteroids.push({
x: asteroid.x,
y: asteroid.y,
dx: (Math.random() - 0.5) * ASTEROID_SPEED,
dy: (Math.random() - 0.5) * ASTEROID_SPEED,
size: newSize,
angle: asteroid.angle,
points: scaledPoints
});
}
asteroids.splice(i, 1);
score += 10;

// Check for extra life
if (Math.floor(score / POINTS_PER_LIFE) > Math.floor(lastLifeScore / POINTS_PER_LIFE)) {
ship.lives++;
lastLifeScore = score;
}

playExplosionSound();
break;
}
}
}

if (asteroids.length === 0 && !gameOver) {
spawnAsteroids(5 + Math.floor(score / 100));
}

render();
requestAnimationFrame(update);
}

function render() {
ctx.fillStyle = 'black';
ctx.fillRect(0, 0, canvas.width, canvas.height);

if (!gameOver) {
if (!ship.destroyed) {
ctx.save();
ctx.translate(ship.x, ship.y);
ctx.rotate(ship.angle);
ctx.beginPath();
ctx.moveTo(SHIP_SIZE, 0);
ctx.lineTo(-SHIP_SIZE / 2, SHIP_SIZE / 2);
ctx.lineTo(-SHIP_SIZE / 2, -SHIP_SIZE / 2);
ctx.closePath();
ctx.strokeStyle = ship.invincibility > 0 && Math.floor(ship.invincibility / 5) % 2 === 0 ? 'gray' : 'white';
ctx.stroke();
if (ship.thrusting) {
ctx.beginPath();
ctx.moveTo(-SHIP_SIZE / 2, 0);
ctx.lineTo(-SHIP_SIZE, 0);
ctx.strokeStyle = 'orange';
ctx.stroke();
}
if (ship.shield) {
ctx.beginPath();
ctx.arc(0, 0, SHIP_SIZE + 5, 0, Math.PI * 2);
ctx.strokeStyle = 'blue';
ctx.stroke();
}
ctx.restore();
} else {
ship.debris.forEach(debris => {
ctx.save();
ctx.translate(debris.x, debris.y);
ctx.rotate(debris.angle);
ctx.beginPath();
ctx.moveTo(5, 0);
ctx.lineTo(-5, 0);
ctx.strokeStyle = 'white';
ctx.stroke();
ctx.restore();
});
}

ctx.fillStyle = 'white';
bullets.forEach(bullet => {
ctx.beginPath();
ctx.arc(bullet.x, bullet.y, 2, 0, Math.PI * 2);
ctx.fill();
});

asteroids.forEach(asteroid => {
ctx.save();
ctx.translate(asteroid.x, asteroid.y);
ctx.rotate(asteroid.angle);
ctx.beginPath();
asteroid.points.forEach((point, index) => {
if (index === 0) ctx.moveTo(point.x, point.y);
else ctx.lineTo(point.x, point.y);
});
ctx.closePath();
ctx.strokeStyle = 'white';
ctx.stroke();
ctx.restore();
});
}

ctx.fillStyle = 'white';
ctx.font = '20px Arial';
ctx.fillText(`Score: ${score}`, 10, 30);
ctx.fillText(`Lives: ${ship.lives}`, 10, 60);
ctx.fillText(`High Score: ${highScore}`, 10, 90);
ctx.fillText(`Shield: ${ship.shieldCooldown > 0 ? Math.ceil(ship.shieldCooldown / 60) : 'Ready'}`, 10, 120);

if (gameOver) {
ctx.font = '40px Arial';
ctx.textAlign = 'center';
ctx.fillText('GAME OVER', canvas.width / 2, canvas.height / 2 - 20);
ctx.font = '20px Arial';
ctx.fillText('Press Enter to Restart', canvas.width / 2, canvas.height / 2 + 20);
ctx.textAlign = 'left';
}
}

// Start game
spawnAsteroids(5);
requestAnimationFrame(update);
} catch (error) {
console.error('Game error:', error);
}
</script>
</body>
</html>


US federal spending per person per year, in constant 2025 dollars:
1925 - $153.00
2025 - $20,497.00

"In the vast library of socialist books, there’s not a single volume on how to create wealth, only how to take and “redistribute” it.” - David Horowitz (RIP)

"It is usually futile to try to talk facts and analysis to people who are enjoying a sense of moral superiority in their ignorance." Thomas Sowell
Joined: Jan 2006
Posts: 11,010
Likes: 47
M
Veteran
Veteran
M Offline
Joined: Jan 2006
Posts: 11,010
Likes: 47
^^ That's pretty impressive, although I wonder how much was yoinked from original asteroids source code.


The most amusing part of AI, to me at least, is those same ultra-arrogant God complex coders are writing themselves out of a job.


I half say that in jest, half seriously. Many coders I have met over the year are amongst the most arrogant people I have ever encountered.

Joined: Apr 2015
Posts: 18,133
Likes: 189
F
Veteran
Veteran
F Offline
Joined: Apr 2015
Posts: 18,133
Likes: 189
Originally Posted by Mr_Blastman
^^ That's pretty impressive, although I wonder how much was yoinked from original asteroids source code.

I would say none.

The original try after my prompt barely resembled Asteroid. It was only after much coaxing did it start to really look like the orginal


US federal spending per person per year, in constant 2025 dollars:
1925 - $153.00
2025 - $20,497.00

"In the vast library of socialist books, there’s not a single volume on how to create wealth, only how to take and “redistribute” it.” - David Horowitz (RIP)

"It is usually futile to try to talk facts and analysis to people who are enjoying a sense of moral superiority in their ignorance." Thomas Sowell
Page 1 of 3 1 2 3

Moderated by  RacerGT 

Link Copied to Clipboard
Quick Search
Recent Articles
Support SimHQ

If you shop on Amazon use this Amazon link to support SimHQ
.
Social


Recent Topics
God Forbid they want to have a bit of fun at work
by NoFlyBoy - 09/22/26 08:50 PM
How a 5" 38 Caliber US Naval Gun Works
by F4UDash4 - 09/19/26 01:20 AM
100% commission based sales
by PanzerMeyer - 09/18/26 04:47 PM
Relativity
by Terl9999 - 09/18/26 04:34 AM
HOA's
by Terl9999 - 09/18/26 04:12 AM
Football
by Terl9999 - 09/18/26 02:42 AM
Flags
by Terl9999 - 09/15/26 10:03 PM
September 15th Battle of Britain Day.
by RedToo - 09/15/26 08:06 PM
Population Patterns
by PanzerMeyer - 09/15/26 03:43 PM
"Problem occurred in connection"
by F4UDash4 - 09/14/26 01:41 PM
Popular Topics(Views)
7,068,784 SAM Simulator
Copyright 1997-2016, SimHQ Inc. All Rights Reserved.

Powered by UBB.threads™ PHP Forum Software 8.0.1