• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

The Undiscovered World ORPG

Status
Not open for further replies.
Level 19
Joined
Aug 16, 2007
Messages
881
The Undiscovered World


12_3291.png



Introduction
Hello there! This is a second project I've got after Heroes of War, yes I'll still work with Heroes of War. I'm only working at this map when I don't have anything left to do at Heroes of War, so the progress may be a little slow.

Anyway, about the map. It's an ORPG, created by me (alone), that is called "The Undiscovered World", the map name may not be the most creative, haha. I've created a couple of systems, so the map is running smoothly and can be played already, however there isn't that much to do yet.

Well, I don't think you guys wan't to read that much, so continue reading about the features!
About The Undiscovered World Features

  • 468x468 playable map size
    > A gigantic map is always nice?
  • Up to 10 players ONLINE or LAN
    > Yeah...
  • Custom Simple Camera System
    > The camera system will be very simple, you'll use your arrow keys (left and right) to change your cameras' rotation.
  • Custom Party System
    > The party system will be a nice feature I think. Players will be able to party up with eachother and quest together and do other things! Notice that all players in a party will share experience when they kills an enemy.
  • Custom Combat System
    > This custom combat system will detect if any unit is in combat or not. If the unit isn't in combat, it will restore more hitpoints and mana every 5th second.
  • Custom Equipment System
    > This custom equipment system will allow you to equip 5 items and those are: Weapon, Shield, Head, Armor and a Ring.
  • Custom Talent Tree System
    > This custom talent tree system will allow you to learn or upgrade your current abilities to make them better for one talent point cost. Each level you'll gain one talent point! You'll also be able to upgrade your current attributes here, for one attribute cost, and you'll gain three attribute points each level!
  • Custom Quest System
    > This custom quest system will store your quests into a spellbook, that you can open and read them whenever you want. All quests will every player do alone, IF, they haven't partied up together. A player can maximum have 10 quests.
  • Custom Flight System
    > This custom flight system will allow you to travel to different locations in the world, once you discover them. It may take time to flight, but it will go faster than walking...
  • Custom Weather System (Included Fog and such)
    > Well, rain, different fog at different areas, you name it!
  • Dungeons (with bosses and much more)
    > A lot of dungeons are planned. There will be two different types of dungeons: Dungeon (5 players) and Heroic Dungeon (10 players). All dungeons are unique with different enemies, bosses, loot and quests!
  • Enterable Houses
    > You will be able to enter some houses (not all), and check them inside, you may find a quest or something?
  • Save/Load System
    > Yes, like all other ORPGs, a save/load system!
  • ...and necessary systems such as respawn systems and more!
    > Yes!


This is some of the features, more may come (I may even have forgotten something).
About The Undiscovered World Classes

About the classes, yes, of course there are classes (heroes), I've started to create one of all the classes I've planned, it's the Earth Mage. As the features, I'll make a list of those too:

Earth Mage (Damage Dealer)

BTNBanditMage.png

The Earth Mage is a damage dealer with abilities that are able to weak down enemies. He may be good to your party, just because he can weaken enemy units. He can also protect allied units with an earthen shield that increases armor and have a chance to restore hitpoints when the shielded unit is attacked. This mage is also the toughest of all the mages.
Frost Mage (Damage Dealer)

icons_10026_btn.jpg

The Frost Mage is a damage dealer with abilities that are able to slow down enemy units movement speed or attackspeed. The Frost Mage is also able to stun enemy units. His frost abilities are powerful, but may not deal the same value of damage as the Earth or Fire Mage. Anyway, a lot of people may want a Frost Mage in their party just because of the slow effects he got.
Fire Mage (Damage Dealer)

icons_5041_btn.jpg

The Fire Mage is a damage dealer with abilities that doesn't really have any effects. He just have pure damage and damage per second abilities. The Fire Mage is a obvious choice if you're looking for dealing high damage! The Fire Mage also has a bit faster attack speed than the Fire and Frost Mage.
  • Spirit Warrior
  • Unholy Knight
  • Summoner
  • Necromancer
  • Holy Knight
  • Time Keeper
  • Templar

So, 10 classes? Yes. All of those classes are good at something, it will be healing, or dealing damage or take damage, or maybe even healing and dealing damage at the same time!

Anyway, each hero will have 5 attributes: Strength (I may rename this attribute), Agility, Intelligence, Spirit, Spell Power.
Strength will simply increase damage and hitpoints.
Agility will increase attackspeed and armor.
Intelligence will increase your maximum mana.
Spirit will increase your hitpoints and mana regeneration.
Spell Power will increase your spell damage.
Story?

My first thought was that the players themselves should discover the story while playing, but I don't know yet. I may write a little about the story here soon.
Screenshots

I know everyone loves screenshots, so that's why I'll upload some!

(Some screenshots may be outdated)

13_4009.jpg

13_4681.jpg

13_2019.jpg

13_3664.jpg

16_164.jpg

13_3208.jpg

16_2109.jpg


12_7763.JPG

12_2346.JPG

12_7424.JPG

12_4624.JPG

12_5261.JPG

12_4920.JPG

12_5598.JPG

12_4632.JPG


Note

Even if I wont release this map to public, because of no time or lost interesst, I WILL release an unprotected version of the map here, so no work will be unnecessarily.




Edit (14/08/2010): Okey, I've decided that I don't have time to work and update this map so I'll release an unprotected version. Sorry for this, but hopefully someone may continue on the map, or someone may learn something.

//Flood
 

Attachments

  • The Undiscovered World.w3x
    1.8 MB · Views: 366
Last edited:
Level 6
Joined
Apr 1, 2010
Messages
190
So far its kind of classic idea, with all an Orpg needs Skill Trees, Weather System etc.
But if there is nothing about the story I can´t tell you much. What I can tell from now that your idead has potential, an undiscovered world can be anything. The screenshot looks nice so far...
Waiting for updates.
 
Level 19
Joined
Aug 16, 2007
Messages
881
Thanks for the reply!

Well, it may be a classic idea, I don't really know. I actually think this map has a lot more features then other ORPG's I've seen around, but I may be wrong. Then if we talk about unique ideas, then I think that the Party System and the Flight System are the most unique features in this case.

I'll update as soon as possible! :)
 
Level 6
Joined
Apr 1, 2010
Messages
190
Maybe you could be more specific about the new features, especially thing like the flight system.
Besides that anything about the story or backgound would be fine. Are we seeing a new undiscovered land within the earth like in one of Jules Vernes novels? Or is it more like some parallel world....?
At least some information that arouse interest.
 
Level 19
Joined
Aug 16, 2007
Messages
881
Yes, I will write more about the features soon.

I have no idea how this "Jules Vernes novels" land is and neither is this Undiscovered World a parallel world. Well, I will write a little of the story when I've got time, same with the features!


Edit 1: I've updated the thread with a little information about the features! I'll update the thread even more later, adding some in-game screenshots and maybe more. :)

Edit 2: I've added some in-game screenshots!
 
Level 6
Joined
Apr 1, 2010
Messages
190
The combined force of the different system is really interesting, but it seems to be a real gigantic project.
Btw the terrain looks good so far and will you use a hero camera (maybe your own written system)?
 
Level 19
Joined
Aug 16, 2007
Messages
881
Good (GOLD =)) luck!
Nice ss's. and Nice talent tree system. Looks like it'll be an interesting idea.

Thanks! :)

The combined force of the different system is really interesting, but it seems to be a real gigantic project.
Btw the terrain looks good so far and will you use a hero camera (maybe your own written system)?

Well, gigantic project it may be. I actually think all ORPGs are gigantic projects. I'm doing one thing at a time to make it work and later I'll do next thing. Almost everything is done for the moment and after that I'll just have to start create all classes... Items... Dungeons... Quests... and stuffs :D But for a small BETA it won't take forever to create!

What do you mean with "hero camera"? I've got my own system for the camera, as you can read at the camera feature. It's very simple actually, to make game-play easier :)
 
Level 19
Joined
Aug 16, 2007
Messages
881
It's not 100% GUI, I'm using custom script and such to make it work with more than 1 player. The system is very hardcoded and just in a test-stage and I'll optimize things later to make it run better. I'm using JASS to store the text and other values though.

I can show you a trigger, but I don't think you'll understand anything of it. This trigger will show the talent tree icons' text in the multiboard:

  • GetTalentTreeMultiboardText
    • Events
    • Conditions
      • Player_ViewingTalentTree[(Player number of (Triggering player))] Equal to True
      • (Triggering unit) Not equal to (Talent Tree Selection Tracker) 0077 <gen>
    • Actions
      • Custom script: local string tempString1 = ""
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Unit-type of Hero[(Player number of (Triggering player))]) Equal to Earth Mage
        • Then - Actions
          • For each (Integer TT_Int) from 0 to 15, do (Actions)
            • Loop - Actions
              • Set tempUnit = (Load 0 of TT_Int in TalentTreeEarthMage_Hashtable)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • tempUnit Equal to (Triggering unit)
                • Then - Actions
                  • Destructible - Kill TalentTree_Player_SelectionSFX[(Player number of (Triggering player))]
                  • Set TempPoint[0] = (Position of tempUnit)
                  • Destructible - Create a #CW (Selecter) at TempPoint[0] facing 90.00 with scale 1.00 and variation 0
                  • Custom script: call RemoveLocation(udg_TempPoint[0])
                  • Set TalentTree_Player_SelectionSFX[(Player number of (Triggering player))] = (Last created destructible)
                  • Destructible - Hide (Last created destructible)
                  • Set p[0] = (Triggering player)
                  • Custom script: if GetLocalPlayer() == udg_p[0] then
                  • Destructible - Show (Last created destructible)
                  • Custom script: endif
                  • Set tempString[0] = (Load 1 of TT_Int from TalentTreeEarthMage_Hashtable)
                  • Set tempString[1] = (tempString[0] + (String((Load 0 of TT_Int from TalentTree_PlayerSpentHash[(Player number of (Triggering player))]))))
                  • Set tempString[2] = (tempString[1] + (Load 2 of TT_Int from TalentTreeEarthMage_Hashtable))
                  • Multiboard - Set the text for TalentTree_Multiboard[(Player number of (Triggering player))] item in column 1, row 1 to tempString[2]
                  • For each (Integer TT_Int2) from 3 to 10, do (Actions)
                    • Loop - Actions
                      • Multiboard - Set the text for TalentTree_Multiboard[(Player number of (Triggering player))] item in column 1, row TT_Int2 to (Load TT_Int2 of TT_Int from TalentTreeEarthMage_Hashtable)
                  • Selection - Remove tempUnit from selection for (Triggering player)
                  • Set TalentTree_PlayerCurrentSelect[(Player number of (Triggering player))] = tempUnit
                  • Set TalentTree_PlayerCurrentID[(Player number of (Triggering player))] = TT_Int
                • Else - Actions
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Unit-type of Hero[(Player number of (Triggering player))]) Equal to Frost Mage
            • Then - Actions
              • For each (Integer TT_Int) from 0 to 15, do (Actions)
                • Loop - Actions
                  • Set tempUnit = (Load 0 of TT_Int in TalentTreeFrostMage_Hashtable)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • tempUnit Equal to (Triggering unit)
                    • Then - Actions
                      • Destructible - Kill TalentTree_Player_SelectionSFX[(Player number of (Triggering player))]
                      • Set TempPoint[0] = (Position of tempUnit)
                      • Destructible - Create a #CW (Selecter) at TempPoint[0] facing 90.00 with scale 1.00 and variation 0
                      • Custom script: call RemoveLocation(udg_TempPoint[0])
                      • Set TalentTree_Player_SelectionSFX[(Player number of (Triggering player))] = (Last created destructible)
                      • Destructible - Hide (Last created destructible)
                      • Set p[0] = (Triggering player)
                      • Custom script: if GetLocalPlayer() == udg_p[0] then
                      • Destructible - Show (Last created destructible)
                      • Custom script: endif
                      • For each (Integer TT_Int2) from 1 to 10, do (Actions)
                        • Loop - Actions
                          • Multiboard - Set the text for TalentTree_Multiboard[(Player number of (Triggering player))] item in column 1, row TT_Int2 to (Load TT_Int2 of TT_Int from TalentTreeFrostMage_Hashtable)
                      • Selection - Remove tempUnit from selection for (Triggering player)
                      • Set TalentTree_PlayerCurrentSelect[(Player number of (Triggering player))] = tempUnit
                      • Set TalentTree_PlayerCurrentID[(Player number of (Triggering player))] = TT_Int
                    • Else - Actions
            • Else - Actions
As you can see, it's very messy, so I'll have to optimize it later :)

So we'll see. The point is that it works!
 
Level 8
Joined
Aug 3, 2008
Messages
257
It's not 100% GUI, I'm using custom script and such to make it work with more than 1 player. The system is very hardcoded and just in a test-stage and I'll optimize things later to make it run better.

I can show you a trigger, but I don't think you'll understand anything of it. This trigger will show the talent tree icons' text in the multiboard:

  • GetTalentTreeMultiboardText
    • Events
    • Conditions
      • Player_ViewingTalentTree[(Player number of (Triggering player))] Equal to True
      • (Triggering unit) Not equal to (Talent Tree Selection Tracker) 0077 <gen>
    • Actions
      • Custom script: local string tempString1 = ""
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Unit-type of Hero[(Player number of (Triggering player))]) Equal to Earth Mage
        • Then - Actions
          • For each (Integer TT_Int) from 0 to 15, do (Actions)
            • Loop - Actions
              • Set tempUnit = (Load 0 of TT_Int in TalentTreeEarthMage_Hashtable)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • tempUnit Equal to (Triggering unit)
                • Then - Actions
                  • Destructible - Kill TalentTree_Player_SelectionSFX[(Player number of (Triggering player))]
                  • Set TempPoint[0] = (Position of tempUnit)
                  • Destructible - Create a #CW (Selecter) at TempPoint[0] facing 90.00 with scale 1.00 and variation 0
                  • Custom script: call RemoveLocation(udg_TempPoint[0])
                  • Set TalentTree_Player_SelectionSFX[(Player number of (Triggering player))] = (Last created destructible)
                  • Destructible - Hide (Last created destructible)
                  • Set p[0] = (Triggering player)
                  • Custom script: if GetLocalPlayer() == udg_p[0] then
                  • Destructible - Show (Last created destructible)
                  • Custom script: endif
                  • Set tempString[0] = (Load 1 of TT_Int from TalentTreeEarthMage_Hashtable)
                  • Set tempString[1] = (tempString[0] + (String((Load 0 of TT_Int from TalentTree_PlayerSpentHash[(Player number of (Triggering player))]))))
                  • Set tempString[2] = (tempString[1] + (Load 2 of TT_Int from TalentTreeEarthMage_Hashtable))
                  • Multiboard - Set the text for TalentTree_Multiboard[(Player number of (Triggering player))] item in column 1, row 1 to tempString[2]
                  • For each (Integer TT_Int2) from 3 to 10, do (Actions)
                    • Loop - Actions
                      • Multiboard - Set the text for TalentTree_Multiboard[(Player number of (Triggering player))] item in column 1, row TT_Int2 to (Load TT_Int2 of TT_Int from TalentTreeEarthMage_Hashtable)
                  • Selection - Remove tempUnit from selection for (Triggering player)
                  • Set TalentTree_PlayerCurrentSelect[(Player number of (Triggering player))] = tempUnit
                  • Set TalentTree_PlayerCurrentID[(Player number of (Triggering player))] = TT_Int
                • Else - Actions
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Unit-type of Hero[(Player number of (Triggering player))]) Equal to Frost Mage
            • Then - Actions
              • For each (Integer TT_Int) from 0 to 15, do (Actions)
                • Loop - Actions
                  • Set tempUnit = (Load 0 of TT_Int in TalentTreeFrostMage_Hashtable)
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • tempUnit Equal to (Triggering unit)
                    • Then - Actions
                      • Destructible - Kill TalentTree_Player_SelectionSFX[(Player number of (Triggering player))]
                      • Set TempPoint[0] = (Position of tempUnit)
                      • Destructible - Create a #CW (Selecter) at TempPoint[0] facing 90.00 with scale 1.00 and variation 0
                      • Custom script: call RemoveLocation(udg_TempPoint[0])
                      • Set TalentTree_Player_SelectionSFX[(Player number of (Triggering player))] = (Last created destructible)
                      • Destructible - Hide (Last created destructible)
                      • Set p[0] = (Triggering player)
                      • Custom script: if GetLocalPlayer() == udg_p[0] then
                      • Destructible - Show (Last created destructible)
                      • Custom script: endif
                      • For each (Integer TT_Int2) from 1 to 10, do (Actions)
                        • Loop - Actions
                          • Multiboard - Set the text for TalentTree_Multiboard[(Player number of (Triggering player))] item in column 1, row TT_Int2 to (Load TT_Int2 of TT_Int from TalentTreeFrostMage_Hashtable)
                      • Selection - Remove tempUnit from selection for (Triggering player)
                      • Set TalentTree_PlayerCurrentSelect[(Player number of (Triggering player))] = tempUnit
                      • Set TalentTree_PlayerCurrentID[(Player number of (Triggering player))] = TT_Int
                    • Else - Actions
            • Else - Actions
As you can see, it's very messy, so I'll have to optimize it later :)

So we'll see. The point is that it works!

Well I can follow most of it and understand it for the most part but as you said very messy but very impressive that it's in gui. nice work man :p:spell_breaker:
 
Level 19
Joined
Aug 16, 2007
Messages
881
@Googlieeyes, haha yeah x)

@gerf, I don't really understand what you mean with "Did you create one atmosphere of the unknown?" :) So I can't really answer your question...


Edit 1: Updated and reworked the thread!

Edit 2: I've made a few updates to the map now! :D
  • The party system seems to work awesome!
  • When you level up, your HP and MP will automatically be restored instantly.
  • Added a few more quests.
  • Updated some systems to make the map run better.
  • ...and more! :)

Edit 3: I've updated the thread. I've added a little information about three classes: Earth Mage, Frost Mage and the Fire Mage!
 
Level 19
Joined
Aug 16, 2007
Messages
881
I'd say they are completely different. They got spells based on their element. Well, they all got one similar spell, but those spells don't even do the same thing. The Earth Mage got an ability called Earth Shock, the Frost Mage got an ability called Frost Shock and the Fire Mage got an ability called Flame Shock. But as I said, those three abilities doesn't do the same thing. Other than that, they are different.
 
Level 19
Joined
Aug 16, 2007
Messages
881
I will! I'll try get the Earth Mage balanced first then I'll contínue to the Frost Mage and maybe then I'll release a very small BETA on the map if I feel it's ready to be tested. We'll see :)

EDIT 1: I've updated the map a little, but I've been very busy a couple of days now. I'll see how much I can work next week :)
 
Level 7
Joined
Jul 18, 2009
Messages
272
Hi, your map looks really good so far. :)

I have one suggestion regarding the Talent/Attribute Tree:
Either make the text "TALENT TREE"/"ATTRIBUTE TREE" white again or put it inside the tree window. That brown text is quite hard to read while it's on the border.
 
Level 19
Joined
Aug 16, 2007
Messages
881
What program/option do you sue to create a map with playble area of over 400?
Btw nice idea.

I used World Editor Unlimited and added extra terrain-textures an
d then I returned to the original World Editor.

Thanks!

Hi, your map looks really good so far. :)

I have one suggestion regarding the Talent/Attribute Tree:
Either make the text "TALENT TREE"/"ATTRIBUTE TREE" white again or put it inside the tree window. That brown text is quite hard to read while it's on the border.

Thanks :) Yeah, I'll see what I'll do :)

Unfortunately, the development progress of this map is extremely slow, because I'm working at a second map with my friend, link, so I don't know if I'll be able to complete this.



Edit (14/08/2010): Okey, I've decided that I don't have time to work and update this map so I'll release an unprotected version. Sorry for this, but hopefully someone may continue on the map, or someone may learn something. You can download the map at the first post.
 
Level 19
Joined
Aug 16, 2007
Messages
881
Hi, do u create tank classes? (who taking damage on bosses.) And what's name of hims

As I've written, I don't work at this map anymore... I didn't have time and as promised I'd released an unprotected version of the map.

Flood said:
Edit (14/08/2010): Okey, I've decided that I don't have time to work and update this map so I'll release an unprotected version. Sorry for this, but hopefully someone may continue on the map, or someone may learn something. You can download the map at the first post.
 
Level 19
Joined
Aug 16, 2007
Messages
881
Haha, okay!

Edit (2010-09-21): Oh... I feel like I want to start working at this project again, but I don't know if I've got time as said. Firstly I'll have to re-make some thing then and such. Hm... I'll give it a try today and maybe tomorrow and I'll tell you :) Any comments from you would have been great, if someone could tell me if you'd want to see this map finished.
 
Status
Not open for further replies.
Top