-->
Builderboy's RTS Design
-->
-->
Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email
?
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
-->
Home
About
Team
Rules
Stats
Status
Sitemap
Chat
Downloads
Forum
News
Our Projects
Major Community Projects
Recent Posts
Unread Posts
Replies
Tools
SourceCoder3
Other Things...
Omnimaga Radio
TI-83 Plus ASM File Unsquisher
Z80 Conversion Tools
IES TI File Editor
Free RAM areas
Comprehensive Getkeyr table
URL Shortener
Online Axe Tilemap Editor
Help
Contact Us
Change Request
Report Issue/Bug
Team
Articles
Members
View the memberlist
Search For Members
Buddies
Login
Register
Omnimaga
»
Forum
»
Calculator Community
»
Other Calc-Related Projects and Ideas
»
Builderboy's RTS Design
« previous
next »
Print
Pages: [
1
]
Go Down
Author
Topic: Builderboy's RTS Design (Read 5936 times)
0 Members and 1 Guest are viewing this topic.
Builderboy
Physics Guru
CoT Emeritus
LV13
Extreme Addict (Next: 9001)
Posts: 5673
Rating: +613/-9
Would you kindly?
Builderboy's RTS Design
«
on:
November 09, 2011, 04:38:39 pm »
So I have recently become interested in Real Time Strategy games, and seeing how there haven't been any major RTS's released I thought it might be interesting to design one. Note that I am not actually thinking about coding one right now, just designing the game elements. If this were to be coded, I think it might be a good candidate for a joint coding project.
Now, for the concept, I set my game in a Medieval themed world, where each player owns a castle, and must destroy the opponent in typical RTS fashion. There are no air units designed, partly because of the theming, and partly because I think it can get a bit difficult to see what is going on in a battle with flying units, considering the resolution of the screen. The design sports a regular 8x8 building tilemap, but with a 4x4 movement tilemap. Meaning all buildings will be constrained to an 8x8 grid, but actual units are 4x4 and have more freedom of movement. This is simply so the player can see more of their army at any given time. Now, with the 4x4 constraints, making unit sprites can be a bit tricky, as well as finding ways to designate between enemy and yourself. This is where I think I could use some help from you guys the most, feel free to offer suggestions, sprites, or changes of the 8x8 4x4 system.
UNITS:
Now for the units, there are 11 ingame units, each trainable at a specific building. Each of them has specific stats such as damage, speed, and health, as well as types of armor, and damage type. Each unit can have 1 of 4 armor types: Soft, Medium, Hard, and Fortified. And each unit can have 1 of 4 damage types: Blunt, Sharp, Explosive, or Magic. These attack and armor types have specific advantages and disadvantages against each other, which can lead to certain units being more or less effective against other units. The summary of these effectiveness of each damage type against each armor type.
Armor Type
|
Blunt
Sharp
Explosive
Magic
----------
|
----
-----
--------
-----
Soft
|
Good
Bad
Average
Good
Medium
|
Average
Average
Average
Good
Hard
|
Bad
Average
Average
Good
Fortefied
|
Average
Good
Good
Bad
-Soft armor is flexible and strong, and is good at absorbing energy from ranged attacks, but is light and therefore vulnerable to blunt force.
-Medium armor is good all around, does not give any extra bonuses against any physical attacks
-Hard armor is heavy metal plates, extremely strong against blunt force, but weak against sharp penetrating attacks
-Fortefied armor is usually only dealt to buildings, and is the strongest of all armors, but weak against explosive attacks
-Blunt force is the kind of attacks dealt by swords and axes, effectively breaking through weaker armor
-Sharp force is a ranged attack that penetrates armored units, but does less damage against flexible armor
-Explosive force is good all round damage, and does extra damage against buildings
-Magic force is very effective in bypassing most lower forms of armor, but has a hard time affecting non biological units such as buildings
Here is a summary of all the units i have designed, with their skills and info:
Spoiler
For
Units
:
Max Mana is 100
Speed is measured in tiles per unit time
Rage is measured in tiles
DPS is damage per unit time
DPS/$ is DPS per cost, the higher the number the more cost efficient the unit is. If two units have equal DPS/$, two armies of equal cost composed of each unit would deal equal DPS total.
RD is Range*DPS, the higher the number, the more damage a ranged unit can do to a meele unit while it is approaching
Soldier: DPS=2 DPS/$=4
-Speed :5
-Armor Type :Medium
-Damage Type :Blunt
-Damage Amount :10
-Range :1
-Health :50
-Attack Speed :5
-Cost :50
-Training Time :10
-Supply :1
Archer: DPS=3 DPS/$=4 RD=21
-Speed :5
-Armor Type :Soft
-Damage Type :Sharp
-Damage Amount :24
-Range :7
-Health :20
-Attack Speed :8
-Cost :75
-Training Time :15
-Supply :2
Healer: DPS=0.2 DPS/$=0.2
-Speed :4
-Armor Type :Soft
-Damage Type :Blunt
-Damage Amount :1
-Range :1
-Health :20
-Attack Speed :5
-Cost :100
-Training Time :20
-Supply :2
-Effects :Heals nearby units. 1 Mana drained for every HP healed
Scout: DPS=1 DPS/$=2
-Speed :8
-Armor Type :Soft
-Damage Type :Blunt
-Damage Amount :2
-Range :1
-Health :20
-Attack Speed :2
-Cost :50
-Training Time :20
-Supply :1
-Effects :None
Catapult: DPS=1.5 DPS/$=0.75 RD=9
-Speed :2
-Armor Type :Hard
-Damage Type :Explosive
-Damage Amount :30
-Range :6
-Health :75
-Attack Speed :20
-Cost :200
-Training Time :40
-Supply
-Effects :Does splash damage with area 4
Minimum range of 3
Stationary Turret: DPS=1.66 DPS/$=0.83 RD=8.3
-Speed :0
-Armor Type :Hard
-Damage Type :Explosive
-Damage Amount :50
-Range :5
-Health :150
-Attack Speed :30
-Cost :200
-Training Time :40
-Supply
-Effects :Does splash damage with area 2
Minimum range of 2
Broadsman: DPS=3 DPS/$=4
-Speed :4
-Armor Type :Hard
-Damage Type :Blunt
-Damage Amount :24
-Range :1
-Health :75
-Attack Speed :8
-Cost :75
-Training Time :20
-Supply :2
Crossbowsmen: DPS=3.3 DPS/$=4.4 RD=19.8
-Speed
-Armor Type :Hard
-Damage Type :Sharp
-Damage Amount :50
-Range :6
-Health :60
-Attack Speed :15
-Cost :75
-Training Time :20
-Supply :2
Worker: DPS=0.2 DPS/$=0.8
-Speed :5
-Armor Type :Soft
-Damage Type :Blunt
-Damage Amount :1
-Range :1
-Health :25
-Attack Speed :5
-Cost :25
-Training Time :10
-Supply :1
-Effects :Can build and repair buildings
Wizzard: DPS=1 DPS/$=0.8 RD=6
-Speed
-Armor Type :Soft
-Damage Type :Magic
-Damage Amount :10
-Range :6
-Health :50
-Attack Speed :10
-Cost :125$ 25c
-Training Time :30
-Supply
-Effects :Can cast defensive spells
-Defensive aura: Decreases damage done within an area by 5 for 10 seconds
Costs 50 Mana
-Projectile shield: Stops all projectile damage within an area of 5
Costs 75 Mana
Mage: DPS=2.5 DPS/$=1 RD=15
-Speed :4
-Armor Type :Soft
-Damage Type :Magic
-Damage Amount :50
-Range :6
-Health :50
-Attack Speed :20
-Cost :250$ 25c
-Training Time :35
-Supply :4
-Effects :Can cast spells
-Fire aura: Does 25 damage to enemy units within an area
Costs 50 Mana
-Fire Summon: Sets an area of the field on fire, any units within this area are constantly damaged
lasts 25 seconds
Costs 75 Mana
-Fire ball: Shoots a fireball that does a total damage of 500 to all units it comes in contact with
Costs 100 Mana
-Ice Aura: Does 10 damage to enemy units within an area. Decreases move speed of all enemy units by 3 for 10 seconds
Costs 50 Mana
-Ice Summon: Freezes an area of the battle field, all units within the area have a move speed of 1
lasts 25 seconds
Costs 75 Mana
-Ice Storm: Sends 10 balls of ice accross the battle field, each dealing 50 total damage each
Costs 100 Mana
There are several categories of units. Regular meele, which consist or soldiers and broadsmen. Ranged units, which consist of archers ans crossbowsmen. Siege units, which consist of stationary turrets and catapults. 1 Healing unit. And magic units, which consist of the mage and the wizzard. All units cost some amount of resources to create, and all require a house to live in. 1 House can hold 4 units, and some units take up more than 1 space. To generate the resources to create units, farmland must be created. Farmland draws in a certain amount of resources per second, and can be upgraded to produce more per second. More farmland can be purchased for high amounts. Farmland never stops producing resources, so each castle will never run out of resources to spend on units.
The magical units are special, being able to cast spells. The Wizzard is a defensive unit, which can cast non-damage spells that you can use to protect your troops and castle. Mages are offensive spellcasters, and they have 2 paths of research, Fire and Ice. You can only research one of these, and therefore only unlock 1 half of the Mage's abilities in a game. Magical units also require dark crystal to create. You cannot generate dark crystal on your own, but need to find it in the map somewhere and harvest it. This both limits magical units to late game, and forces the player to leave the safety of their castle if they want to get magical units. Players can hunt out and guard these crystal deposits to prevent their opponents from getting magical units.
BUILDINGS:
The player can and must construct many buildings during the game. All buildings have fortified armor, and a good amount of health. Different buildings need to be built to produce different types of units, and they are summarized below. I have not included build time yet, but it should be soon.
Spoiler
For
buildings
:
Keep:
-Produces: workers
-Health: 500
-Description: This building is the center of operations
If it is destroyed, the game is lost
Farmland:
-Produces: Food
-Health: 50
-Cost: 500
-Description: Farmland is the source of income
Can be upgraded to increase harvest rate
Wall:
-Health: 150
-Cost: 25
Gate:
-Health: 100
-Cost: 25
-Description: Can be opened and closed to allow units through
Tower:
-Health: 250
-Cost: 50
-Can be filled by 1 ranged unit, which protects them while they attack enemies
House:
-Health: 150
-Cost: 75
-Description: You need to build houses in order to make
more units. Each house can support 10 units.
Dark Crystal
-Produces: 100 Crystal
-Health: 150
-Description: A deposite of a mysterious crystal that is
needed in order to create the sorcery tower,
and to train mages and wizzards.
Barracks:
-Produces:
Soldiers
Broadsmen
Scout
-Health: 150
-Cost: 100
-Description: Basic unit producing building.
Produces basic meele units
Shooting Range:
-Produces:
Archers
Crossbow Units:
-Health: 150
-Cost: 200
-Description: Ranged Unit production building
Workshop:
-Produces:
Catapults (only with Armory)
Stationary Turrets
-Cost: 250
-Health: 150
-Description: Produces Siege Units
Armory:
-Upgrades:
Health Upgrades for Siege Units
Range Upgrades for Siege Units
Health upgrades for buildings
-Cost: 150
-Description: Provides upgrades and research for buildings and siege weapons
Bottany:
-Produces:
Healers
-Upgrades:
Health upgrades for meele units
Health upgrades for ranged units
Speed upgrades for Scout
-Cost: 100
-Health: 150
-Description: Provides health based units and research.
Sorcery Tower:
-Produces:
Mages
Wizzards
-Research:
Fire
or Cost:500
Ice
-Costs: 250$ 50c
-Health: 150
-Description: Produces magical units
The Keep is the most important building. You can only ever have 1, and if it is destroyed, you lose the game. All other buildings are either for producing units, or upgrading units strengths. Upgrades are automatically applied to all units on the field and from there on out. Even if an upgrade building is destroyed, upgrades already researched will persist. Houses act as your 'supply limit' in the game. Each house supports 4 units, with some units taking up more than one place. There is going to be a supply cap, but it has not been determined yet. The Sorcery Tower is unique in that it is the only building that needs dark crystal to manufacture, all others simply require resources.
That's it for now, I will likely edit this post as I figure out more information. Feel free to post ideas and requests! I am new to designing RTS's, so any and all advice is awesome
«
Last Edit: November 09, 2011, 04:47:30 pm by Builderboy
»
Logged
+1/-0 karm for this message
nemo
LV9
Veteran (Next: 1337)
Posts: 1203
Rating: +95/-11
Re: Builderboy's RTS Design
«
Reply #1 on:
November 09, 2011, 06:53:47 pm »
shouldn't the stationary turret be a building, not a unit, since it can't move? also, i'm interested in making a game like this to simulate and test out different game elements, albeit in java and not on a calculator
Logged
C0deH4cker
LV5
Advanced (Next: 300)
Posts: 258
Rating: +11/-1
Re: Builderboy's RTS Design
«
Reply #2 on:
November 09, 2011, 06:57:31 pm »
Wow, that's a lot of work for just an idea.
Logged
BlakPilar
LV8
Addict (Next: 1000)
Posts: 734
Rating: +44/-1
Re: Builderboy's RTS Design
«
Reply #3 on:
November 09, 2011, 07:13:45 pm »
Wow, that's awesome! I think this would be something really fun to play on the calculator, but more fun on the computer at least graphics wise.
But I agree with nemo about the stationary turrets. Also, I think it'd be cool if scouts could disguise themselves and go behind enemy lines. That would also have to add a unit for checking that, though, or there could be a predetermined random amount of time before they are caught.
Logged
Builderboy
Physics Guru
CoT Emeritus
LV13
Extreme Addict (Next: 9001)
Posts: 5673
Rating: +613/-9
Would you kindly?
Re: Builderboy's RTS Design
«
Reply #4 on:
November 09, 2011, 08:03:51 pm »
Turrets would act like buildings but technically still be the same as units as far as code goes, since it has all the attributes of a unit, it would be easier code-wise just to make it an immobile unit.
And me and my friend just got together to brainstorm some more, and we augmented the damage/armor interactions, as well as how resources would work, and how the tech tree would be shaped.
Logged
Builderboy
Physics Guru
CoT Emeritus
LV13
Extreme Addict (Next: 9001)
Posts: 5673
Rating: +613/-9
Would you kindly?
Re: Builderboy's RTS Design
«
Reply #5 on:
November 12, 2011, 01:43:18 am »
Bump! I coded a small Unit tester program so I could realistically test units against each other
http://www.greenfoot.org/scenarios/3757
You can test different units with different stats and see how they react against each other
Logged
DJ Omnimaga
Clacualters are teh gr33t
CoT Emeritus
LV15
Omnimagician (Next: --)
Posts: 55943
Rating: +3154/-232
CodeWalrus founder & retired Omnimaga founder
Re: Builderboy's RTS Design
«
Reply #6 on:
November 23, 2011, 02:24:24 pm »
Hmm this is interesting,but the Greenfoot demo almost froze Opera X.x. Anyway testing after I finish writing this post.
ANyway I would love to see an RTS for calcs. It would definitively need to have a limited amount of units at once, though (maybe 30-50 supply cap per player?) and not process every unit every frame, so the cursor can move fast. I think units would even need to all be one square large and if zergling-type units were to be implemented, they would be in group of 4 stuck together (when dying the entire group die) in one tile or something.
EDIT: How do you spawn units in the demo?
«
Last Edit: November 23, 2011, 02:25:23 pm by DJ_O
»
Logged
Builderboy
Physics Guru
CoT Emeritus
LV13
Extreme Addict (Next: 9001)
Posts: 5673
Rating: +613/-9
Would you kindly?
Re: Builderboy's RTS Design
«
Reply #7 on:
November 23, 2011, 02:38:00 pm »
You can press space to spawn units in the unit tester program. And yeah even if you had 4 zerglings per tile, you could also have it so that there were 4 types of tiles, 1 with 4 zerglings, 1 with 3 zerglings, 1 with 2 zerglings, and 1 with 1 zergling, that way it could still work a little bit but still be fast.
Logged
DJ Omnimaga
Clacualters are teh gr33t
CoT Emeritus
LV15
Omnimagician (Next: --)
Posts: 55943
Rating: +3154/-232
CodeWalrus founder & retired Omnimaga founder
Re: Builderboy's RTS Design
«
Reply #8 on:
November 23, 2011, 02:41:51 pm »
Ah ok thanks, and yeah maybe that could work with zerglings.
Logged
Print
Pages: [
1
]
Go Up
« previous
next »
Omnimaga
»
Forum
»
Calculator Community
»
Other Calc-Related Projects and Ideas
»
Builderboy's RTS Design
\n\t\t\t\t\t\t\t\t\t
<' + '/div>\n\t\t\t\t\t\t\t\t\t
%body%<' + '/textarea>
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
Max characters: 20000; characters remaining:
...<' + '/span><' + '/span>
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t<' + '/div>\n\t\t\t\t\t\t\t\t<' + '/div>', sTemplateSubjectEdit: '
', sTemplateBodyNormal: '%body%', sTemplateSubjectNormal: '
%subject%<' + '/a>', sTemplateTopSubject: 'Topic: %subject% (Read 5936 times)', sErrorBorderStyle: '1px solid red' }); aJumpTo[aJumpTo.length] = new JumpTo({ sContainerId: "display_jump_to", sJumpToTemplate: "
Jump to:<" + "/label> %dropdown_list%", iCurBoardId: 5, iCurBoardChildLevel: 0, sCurBoardName: "Other Calc-Related Projects and Ideas", sBoardChildLevelIndicator: "==", sBoardPrefix: "=> ", sCatSeparator: "-----------------------------", sCatPrefix: "", sGoButtonLabel: "go" }); aIconLists[aIconLists.length] = new IconList({ sBackReference: "aIconLists[" + aIconLists.length + "]", sIconIdPrefix: "msg_icon_", sScriptUrl: smf_scripturl, bShowModify: true, iBoardId: 5, iTopicId: 13894, sSessionId: "26957a53884d401d1e4d56c4a2af71e5", sSessionVar: "f19049a237", sLabelIconList: "Message Icon", sBoxBackground: "transparent", sBoxBackgroundHover: "#ffffff", iBoxBorderWidthHover: 1, sBoxBorderColorHover: "#adadad" , sContainerBackground: "#ffffff", sContainerBorder: "1px solid #adadad", sItemBorder: "1px solid #ffffff", sItemBorderHover: "1px dotted gray", sItemBackground: "transparent", sItemBackgroundHover: "#e0e0f0" }); } function tick2() { if (typeof(document.forms.quickModForm) != "undefined") { calcCharLeft2(); setTimeout("tick2()", 1000); } else setTimeout("tick2()", 800); } function message_onkeyup() { if (typeof(document.forms.quickModForm) != "undefined" && typeof(document.forms.quickModForm.message) != "undefined") { document.forms.quickModForm.message.onkeyup = function onkeyup(event) { storeCaret(this); calcCharLeft2(); }; } else setTimeout("message_onkeyup()", 800); } message_onkeyup(); function calcCharLeft2() { var maxLength = 20000; var oldEditor = "", currentEditor = document.forms.quickModForm.message.value; if (!document.getElementById("editorLeft2")) return; if (oldEditor != currentEditor) { oldEditor = currentEditor; if (currentEditor.replace(/\r/, "").length > maxLength) document.forms.quickModForm.message.value = currentEditor.replace(/\r/, "").substring(0, maxLength); currentEditor = document.forms.quickModForm.message.value.replace(/\r/, ""); } setInnerHTML(document.getElementById("editorLeft2"), maxLength - currentEditor.length); } // ]]>-->