Jump to content

Photo

Panzer Strike


152 replies to this topic

#26 Vorticon OFFLINE  

Vorticon

    River Patroller

  • Topic Starter
  • 2,681 posts
  • Location:Eagan, MN, USA

Posted Sun Oct 19, 2014 5:51 PM

After some experimentation, I have decided to abandon abstract tank characteristics in favor of real ones. In other words, you will be able to enter real values for speed, gun bore, and armor thickness and the program will calculate movement range, gun range, and hit percentage depending on target distance and gun power. This will be a strictly a platoon sized wargame, with the battlefield sized at 6.9km x 4.6km and each square 230m per side. Each turn will be the equivalent of 1 minute of real battle time, so your tank movement potential will depend on it stated max speed in km/hr. As I stated earlier, you will also be able to pick your tanks from a pre-filled list of the 10 top WWII tanks. I am really itching to see how the Soviet Iosif Stalin tank performs against the German Tiger II !



#27 am1933 OFFLINE  

am1933

    Stargunner

  • 1,036 posts
  • Location:U.K

Posted Mon Oct 20, 2014 4:45 PM

After some experimentation, I have decided to abandon abstract tank characteristics in favor of real ones. In other words, you will be able to enter real values for speed, gun bore, and armor thickness and the program will calculate movement range, gun range, and hit percentage depending on target distance and gun power. This will be a strictly a platoon sized wargame, with the battlefield sized at 6.9km x 4.6km and each square 230m per side. Each turn will be the equivalent of 1 minute of real battle time, so your tank movement potential will depend on it stated max speed in km/hr. As I stated earlier, you will also be able to pick your tanks from a pre-filled list of the 10 top WWII tanks. I am really itching to see how the Soviet Iosif Stalin tank performs against the German Tiger II !

If it is true to life-don't expect too much from an IS series tank against a Tiger II, there were no recorded instances of a Tiger II's frontal armour ever being penetrated by another tank. even though the IS II sported a larger bore gun than the Tiger II - it's all down to muzzle velocity, the IS II's 122mm gun had nowhere near the velocity of the Tiger II's 88mm.

Best hope for an IS II would be to use it's superior mobility to get to the sides or the rear of the Tiger II then take it from there.



#28 Vorticon OFFLINE  

Vorticon

    River Patroller

  • Topic Starter
  • 2,681 posts
  • Location:Eagan, MN, USA

Posted Mon Oct 20, 2014 7:56 PM

I don't think muzzle velocity is the only factor here. A larger bore gun had heavier ammunition which meant larger kinetic energy which in part compensated for a lower muzzle velocity. It is true though that the Tiger II had the best armor, with 185mm front and 105mm on the sides versus the IS (120/75). Both tanks were pretty vulnerable in the back however with 25 and 30mm respectively. In the end, I think a confrontation between them will boil down to maneuvering skill. 

Overall however, I agree that the Tiger II will have the advantage overall. It will be interesting to see how the simulation will handle that confrontation.



#29 Vorticon OFFLINE  

Vorticon

    River Patroller

  • Topic Starter
  • 2,681 posts
  • Location:Eagan, MN, USA

Posted Tue Oct 21, 2014 8:03 PM

am1933's comments got me thinking, and so I did some research and was able to find the kinetic energy density of the each of the tanks guns in the game. There is strong correlation between kinetic energy density and armor penetration in WWII, with the ratio of penetration to KED being between 2.5 and 2.7.

Thus having the KED value and using the conservative 2.5 ratio number, I was able to derive the theoretical armor penetration of each gun, and this will be incorporated in the game. Interestingly, none of the WWII tanks available could penetrate the frontal armor of the Tiger II tank, and only the Iosif Stalin tank could penetrate the frontal armor of the Tiger I tank. These facts should make for some interesting tactical situations during gameplay.

But there is a further complicating factor: shell quality was relatively poor for the Soviets, mid-range for the American/British, and high for the Germans, and this definitely affected the final armor penetration potential. In order to account for this, there will be a fudge factor for each shell fired, higher for the Soviets, and lowest for the Germans. 

I did mention this was a simulation, right?  :D

 

Oh and one more detail: the plan at first was to have only one type of tank per side, but I think it will be more realistic to have the option to mix and match the types. For example, the Tiger I's and II's were produced in very limited numbers, so it was fairly common to see platoons with only 1 or 2 Tigers accompanied by a bunch of Panzers. This option further opens up the tactical possibilities.



#30 Vorticon OFFLINE  

Vorticon

    River Patroller

  • Topic Starter
  • 2,681 posts
  • Location:Eagan, MN, USA

Posted Sat Oct 25, 2014 9:20 PM

I have completed Panzer Strike's scenario builder. It is an essential prerequisite to the main game, and it also helped refine the game concepts quite a bit.

It has 3 phases, one for the battlemap, one for the tank type assignments and one for the scenario description. You have the option to build a completely new scenario from scratch or edit an existing one. I am including the Kursk scenario, which represents the decisive battle of Kursk pitting German Tiger I and Panther tanks against Soviet T34's in an attempt to regain the offensive after the major loss at Stalingrad. The topology roughly approximates the battle area.

 

The scenario builder should be mostly self-explanatory, but here are few important pointers as I have yet to write a set of instructions for it:

There are 5 tanks per side: The Germans within the leftmost 4 squares, and the Soviets within the rightmost 4 squares. The target should be within 10 squares from the right border. The program will not let you move on until you have assigned all 10 tank locations and the target, at a minimum. Use the cursor keys (S/E/D/X) to move the cursor, and press the appropriate number key to place a map element. 

 

The scenario description only allows 10 text lines. This description will be displayed at the beginning of the main game when the scenario is loaded.

 

The Kursk scenario is named KURSK.

 

Below is the source code for the curious. Now on to the main game coding!

 

Spoiler

Attached Files


Edited by Vorticon, Tue Oct 28, 2014 1:49 PM.


#31 Vorticon OFFLINE  

Vorticon

    River Patroller

  • Topic Starter
  • 2,681 posts
  • Location:Eagan, MN, USA

Posted Wed Nov 5, 2014 1:35 AM

Main game coming along nicely and air recon is now implemented.

I also modified the scenario builder to freely allow up to 10 tanks per side instead of the original fixed 5 per side in order to better be able to represent uneven forces presence. For example, in the battle of Kursk, the Germans had superior tanks (Panther and Tiger I) to the Soviet T34's, but the latter had far more of them. Can technical superiority overcome sheer numbers? Hint: watch the movie Fury :)



#32 Wildstar OFFLINE  

Wildstar

    Star Raider

  • 77 posts

Posted Wed Nov 5, 2014 1:50 AM

With this, it sounds like I got to get cracking on some game design development on my TI-99/4A. This would be interesting at the very least. 



#33 am1933 OFFLINE  

am1933

    Stargunner

  • 1,036 posts
  • Location:U.K

Posted Wed Nov 5, 2014 7:17 AM

Main game coming along nicely and air recon is now implemented.

I also modified the scenario builder to freely allow up to 10 tanks per side instead of the original fixed 5 per side in order to better be able to represent uneven forces presence. For example, in the battle of Kursk, the Germans had superior tanks (Panther and Tiger I) to the Soviet T34's, but the latter had far more of them. Can technical superiority overcome sheer numbers? Hint: watch the movie Fury :)

Just wondering if you will be sticking in a little piece of code to account for the number of mechanical failures at Kursk?-particularly the Panthers :-D



#34 Vorticon OFFLINE  

Vorticon

    River Patroller

  • Topic Starter
  • 2,681 posts
  • Location:Eagan, MN, USA

Posted Wed Nov 5, 2014 7:52 AM

Just wondering if you will be sticking in a little piece of code to account for the number of mechanical failures at Kursk?-particularly the Panthers :-D

 

Actually that's an interesting idea... It would be very easy to implement in the form of a reliability factor which will reduce movement range. The problem lies in the fact that this was a highly variable factor heavily dependent on weather, supply and terrain, and would be scenario specific and would have to be specified for each side during the scenario building phase. There is also the issue of determining historical accuracy for it. I am already modeling shell quality, but that is a factor that is set and fixed for each nationality and does not vary by scenario.

How far down the rabbit hole do we want to get?  :P



#35 OLD CS1 OFFLINE  

OLD CS1

    River Patroller

  • 3,822 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Wed Nov 5, 2014 8:26 AM

Maybe a handicap stat added at the beginning accounting for prior damage.  I wrote up plans for a game using various trucks, like 4x4s and tough-duties, and I keep track of stats like oil viscosity, cooling system damage, tire inflation, wheel round, brake wear, rough wear on transmission, differential temperature, axle damage, etc. etc.  This game never made it past the paper stage, but would have been a lot of fun.



#36 Vorticon OFFLINE  

Vorticon

    River Patroller

  • Topic Starter
  • 2,681 posts
  • Location:Eagan, MN, USA

Posted Wed Nov 5, 2014 4:05 PM

The thing is I need to make sure that this game remains a tactical armored warfare one and not dip too far into the tank simulator realm. What I could do is give each type of tank a fixed probability of breakdown based on real world data assuming such a thing exists.

#37 Vorticon OFFLINE  

Vorticon

    River Patroller

  • Topic Starter
  • 2,681 posts
  • Location:Eagan, MN, USA

Posted Wed Nov 12, 2014 3:50 PM

Here's a quick update video on the current status of the game. Scenario loading is functional. Air reconnaissance is functional for both sides and will reveal enemy tank positions for 1 turn as shown in the video. Line of sight is fully implemented for both sides. Player movement is now fully implemented, with a take back function.
Now on to the AI movement phase :)

 

Note: I must have forgotten to stop the video capture, so the actual video is 3 minutes. Just ignore the rest. 

 


Edited by Vorticon, Wed Nov 12, 2014 3:57 PM.


#38 Iwantgames:) ONLINE  

Iwantgames:)

    Stargunner

  • 1,821 posts

Posted Wed Nov 12, 2014 4:26 PM

Looking good :D

#39 Vorticon OFFLINE  

Vorticon

    River Patroller

  • Topic Starter
  • 2,681 posts
  • Location:Eagan, MN, USA

Posted Wed Dec 10, 2014 5:25 PM

Update: The AI movement section is now completed. I might add a couple of tweaks after some additional testing, but it seems to be fully functional at this time. This was the most important phase of development for this game for it determines how your computer opponent will behave and defend the target. In the demo video below, not much will be happening at first as the human player keeps moving his tanks forward because the enemy tanks are still too far away and/or hidden to be visible. This will change dramatically as the opponents get closer as demonstrated in the video.

I have programmed the AI to give priority to defense and ambush. The computer tanks will try to hide in the forests if no obvious targets are visible, waiting for an opportunity to sneak up on an incoming enemy tank. Remember that tanks in forests are not visible unless you bump into them. The AI will move towards and attack available targets, and each computer tank will determine its target depending on distance and the number of friendly tanks also targeting the same enemy tank. However, if any player tank gets too close to the objective (red cross), then all computer tanks will do a fighting retreat towards that objective in order to protect it, firing along the way at targets of opportunity. This is clearly seen in the video as well, although I will likely shorten the critical distance between the objective and any player tank which triggers the fighting retreat. As you probably have guessed, the human player will not have an easy task at winning here.

Since combat is not yet implemented (that's next), all you will see is tanks moving around. In the finished game, a lot of mayhem will be happening as well  :twisted:

 

 

Spoiler

Edited by Vorticon, Sat Dec 13, 2014 11:20 AM.


#40 matthew180 OFFLINE  

matthew180

    River Patroller

  • 2,382 posts
  • Location:Castaic, California

Posted Wed Dec 10, 2014 9:05 PM

Nice. I can't wait to see the finished game. Also, your spoiler tags do not look correct. Try nesting your source in tags like this, but remove all the spaces:

[ spoiler ] [ code ]
.
. Code here
.
[ / code ] [ / spoiler ]

#41 Vorticon OFFLINE  

Vorticon

    River Patroller

  • Topic Starter
  • 2,681 posts
  • Location:Eagan, MN, USA

Posted Wed Dec 10, 2014 10:45 PM

Nice. I can't wait to see the finished game. Also, your spoiler tags do not look correct. Try nesting your source in tags like this, but remove all the spaces:

[ spoiler ] [ code ]
.
. Code here
.
[ / code ] [ / spoiler ]

 

Ah thanks. I was wondering what was wrong with the spoiler code.



#42 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 3,867 posts
  • Location:Denmark

Posted Thu Dec 11, 2014 1:12 AM

Fascinating.

#43 Vorticon OFFLINE  

Vorticon

    River Patroller

  • Topic Starter
  • 2,681 posts
  • Location:Eagan, MN, USA

Posted Thu Jan 8, 2015 5:59 PM

Quick update: the player side of combat is now implemented and at first glance the Panzer IV and Tiger I tanks are making mince meat of the T34's at close range, even from frontal attacks. But then, the AI combat side is not yet functional, so the T34's will get their day in the sun still :)

 

One quirk of the using the Bresenham algorithm for the line of sight routine is that given the low screen resolution under XB, the closer the objects are the quirkier the LOS line is, and so tanks that are practically next to each other may not necessarily become visible because the light path taken by the algorithm is not a straight shot and may zigzag into some side obstruction, thus giving an erroneous blocked view result. I could deal with this in 2 possible ways: 1- leave it as is and explain it away as caused by the fact that since the tank commander is holed up in his tank, his field of view gets narrower the closer an object is, which is technically correct. This will introduce an additional element of surprise to the game which might be fun. 2- If the distance between the 2 objects is less than 3 squares then just use a concentric scanning algorithm to check every square around the originating object, leaving the bresenham algorithm for further away targets.

 

Once the AI combat is finished, I'll do some additional testing and see how the current LOS scheme plays out in a complete battle. I'll also post an update play video at that time.



#44 Vorticon OFFLINE  

Vorticon

    River Patroller

  • Topic Starter
  • 2,681 posts
  • Location:Eagan, MN, USA

Posted Thu Jan 29, 2015 10:24 PM

The combat phase is now essentially complete. The video below pits the player with 4 German tanks (2 Tiger I and 2 Panzer IV) against 10  computer controlled Soviet T34's in the Battle of Kursk where the Germans were badly outnumbered but had superior tanks. The object is to occupy the target square for 3 consecutive turns. I tried the brute force approach, and managed to destroy quite a few of the tanks while the T34's kept bouncing their shells off my armor. Unfortunately, the enemy numbers were too great and even though I made it to the target with my last surviving tank I was destroyed very quickly. The T34's played defensively, and took advantage of the forest to hide until the opportune moment, seemingly popping out of nowhere. Time to think of another strategy... Since the firing initiative is random between the two sides, getting very close to an enemy tank can be very dangerous if it gets to fire first, but on the other hand you stand a good chance of destroying it if you get the firing initiative. How lucky do you feel?

 

 

This really completes the core program, but there are still a few tweaks I need to do, as well as some enhancements like sound effects and a splash screen, but I am essentially out of memory. Unless I can optimize the code further, I may end up having to break up the program in two chained parts. I also need to create additional scenarios, but these are separate files.

 

Question: when passing an array to a subroutine by reference, does XB create a duplicate copy of it in memory or does it just point to the original array space?



#45 Iwantgames:) ONLINE  

Iwantgames:)

    Stargunner

  • 1,821 posts

Posted Thu Jan 29, 2015 11:09 PM

Wow :) looks like a cool wargame :)

#46 am1933 OFFLINE  

am1933

    Stargunner

  • 1,036 posts
  • Location:U.K

Posted Fri Jan 30, 2015 3:44 PM

It's looking really good!!!



#47 Ksarul OFFLINE  

Ksarul

    River Patroller

  • 4,085 posts

Posted Fri Jan 30, 2015 4:15 PM

It is getting to be a very interesting game. . .I like it.



#48 Vorticon OFFLINE  

Vorticon

    River Patroller

  • Topic Starter
  • 2,681 posts
  • Location:Eagan, MN, USA

Posted Sat Jan 31, 2015 8:47 PM

Thanks :)

I am now looking for a nice font to replace the stock upper case one. Any suggestions where to find one? 



#49 Ksarul OFFLINE  

Ksarul

    River Patroller

  • 4,085 posts

Posted Sat Jan 31, 2015 9:02 PM

Talk to Sometimes99er--he turns up the greatest selection of interesting fonts I've ever seen on the TI.



#50 Vorticon OFFLINE  

Vorticon

    River Patroller

  • Topic Starter
  • 2,681 posts
  • Location:Eagan, MN, USA

Posted Sat Jan 31, 2015 9:19 PM

Good idea.

I managed to squeeze the code further and now it fits in only one program (419 tightly squeezed multi-statement lines), minus the splash/menu screen and scenario editor which are separate programs. I have also the character definitions stored externally on disk to save memory, so adding fonts should be easy.

 

The only issue I have is that I could only add very primitive sound effects, and not for everything I wanted, again for lack of memory. Actually, adding just one more CALL SOUND statement throws the program into an OUT OF MEMORY error... It's that close!






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users