RPG Savage Creed

Jesus4Lyf

Good Idea™
Reaction score
397
SAVAGE CREED

Hey all, I haven't died and I'm not stuck down a well.

Savage Creed is the project I have been working on for the past year. I was considering sharing my ideas for this project before undertaking it, but then decided that it was lame to do that and then never finish the project.

So here it is. Instead of saying how I'm going to do this and that, I have done it, and present now an Alpha version, just a preview of what is hopefully to come. I have worked for a very long time on this project, and I hope that my effort is visible to all. I have written many custom systems in this map, and have used nothing I haven't written... (as for timers, I rewrote a brand new timer system, somewhere in between KT2 and TT, but let's not go there again :)).

So what is Savage Creed?

  • Open RPG
  • Quest based, not grind based
  • Quests are centered on dialog with NPCs
  • There are multiple factions to join and rank up in
  • Each faction has its own hero abilities as rewards, and items, etc

So what? Why am I posting an Alpha release of a map like this? Surely it needs a lot of content to be worth seeing... Right?

Actually, I thought the mapping community may enjoy seeing this map. I have taken everything I've learned over 6 years of mapping and crammed it into this map. So this is my thankyou and tribute to the mapping community, in that regard. So I would like to suggest that mappers looking for inspiration, or just something different in maps should take a look at this project.

As said, it is currently Alpha, and is hence proof of concept. I didn't want to start talking about making a map like this without having actually completed a proof of concept. I have already written essentially all the base code for the map, currently including the following advanced features (which are not all implemented in this Alpha release):
  • Factions have dispositions to eachother. You will be asked to involve enemy factions in the quests. This is dynamic according to what players do to make factions like eachother more or less.
  • Factions will break out in war on the streets if they hate eachother enough.
  • NPCs have their own daily schedules and places to be, meaning they are more likely to bump into opposing NPCs, and be harder to find for quests, etc.
  • A new inventory system has been implemented allowing players to carry approximately 50 items (with a beautiful GUI).
  • Hero abilities are items. No really. You cannot drop them yet, but you will be able to drop them and give them to other players, and load new abilities into their old positions. Yes, they level up.
  • Weapons/armour system allows only one item of each type to be wielded, unless you have a two-handed weapon, in which case you can wield no shield.
  • Orb effects stack. You may end up getting several orb effects from different items or quest rewards.
  • Some items cause your hero's attack to be ranged.
  • Abilities can be used to make your hero pass through walls.
  • This map uses NO H2I. I have completely banned it for various reasons. One is that the handle count of the map is somewhere around 12,000.
  • Even with 12,000 handles or so... No lag, no leaks.
  • There are only 10kb of customs in this map. After optimization, the immense amount of code and trees makes it 240kb.

Anyway, after many months of work exploiting bugs in the Warcraft engine which make this map possible, I wanted to have something to show for it. Feedback is welcome.

Thankyou to everyone who has helped me learn what I have to be at this level as a mapper.

This map is now open-sourced. Link below.
 

Attachments

  • Savage Creed ALPHA 0.87 unprotected.w3x
    433 KB · Views: 321

Jesus4Lyf

Good Idea™
Reaction score
397
Kinda, but more for the purposes of feedback/support, etc, to help me keep working on it. Let me know what you like or don't like, tweaks I could do (not huge ideas yet - no quest plots, etc), that sort of thing. I'm already aware of the bugs.

I also wanted to show the mapping community what I'm up to. I thought people may find it interesting all the different kinds of exploits I use in this map. I'm also obviously hoping to develop it into a fun to play map.

I suppose if you're asking if I'm looking for help with it... Well... Err... No. More support and feedback. Does that mean I'm posting in the wrong place? Let me know.
 

Builder Bob

Live free or don't
Reaction score
249
Here's a summary of my thoughts after two short tests.

Edit: What I liked most in this map: The ability system.

The way you can equip different abilities through the inventory system can open up a whole new world of customization. Add a lot of different abilities, and it can become really good. With skills within skill type books, you can have an wide selection of different abilities, allowing for real custom gameplay.


First test:

Lots'o'fancy systems initiated - ok

I check out the inventory system.
- seems simple enough. I wonder about how to drop items, and how to put what where, but I assume it'll all get clearer once I get some items.
Would be nice if the different inventory slots like sheath/pockets/sack had similar styled icons with more intuitive pictures, but this is an alpha, so maybe it'll be added later.

I start walking around to see if I can find anything of interest.
- People are walking around. I click them to see if I can talk to them, but I get no response.
Hmmm... let's try this 'Talk' button. Whoa! Some kind of conversation system. Doesn't look to fancy, but it's alpha so this can have potential to be come really cool.
There are some errors with the text, but it's definitely a known issue.
Esc closes the conversation. I'd prefer if there was a "bye" option.
When I ended the conversation I was on my way somewhere else. My unit was apparently not paused while talking.

After talking with many different people I get less interested in talking to them, since they all just seem to want me in their guild. I've already joined the thieves guild, so there's not much more to talk about. However, I want to find some kind of shop or something, so I continue talking to people.
- Hmmm... This guy seem to want to come over and talk to me, must be important. Hey! stop hitting me!
I run out and get a few more people running after me out of the building. They follow me all the way into another building, so I turn around to see if I can discourage them by hitting back. That was obviously a bad idea as they just beat me to death. I feel so weak!

No respawn -- End of first test


Second test:

This time around I don't want to talk to any people. They weren't that nice anyway. I check the edges of the town and find an exit leading into a forest.
- Nice, let's find some monsters to slay! I turn into the nearest forest and run into some trolls.
Damn, crazy regeneration on those trolls.
I kill one with some persistence, but I'm too weak to continue fighting them, so I return to the town looking for some aid.
Hmmm... who can help me I wonder. I look around and find a fountain. Unfortunately it's not the healing kind.

As the regen is too slow, and the combat isn't too interesting (yet), I decide to end this test.


Final words:
I suppose I didn't get to touch any of the fun stuff yet. I blame it on not getting helped there. Didn't much like my character either, so I didn't feel like I really wanted to develop him. "I doubt there's anything down here more terrifying than what we've faced already!" much?

If you can give any pointers on how to get to the fun parts, that'd be great. Better yet, do it in-game.

And in case you're wondering, I don't mean to bash your map, I'm just trying to help and give feedback on what a first impression of your map might look like. Which is all I can give you at this moment really.


Edit: Third Test:

I learn to equip my dagger! So I had to click it like I did the first test. Who'd have known? I didn't get any feedback. This time around though, I noticed the +8 on my character's attack. The result? Trolls die on 2 hits instead of like... 10.
Tip: Give feedback to the user when equipping/un-equipping something.

After a short time of beating up trolls, I gain some levels and become the most dangerous beast in the forest. That dagger really made a world of difference. Now it's way too easy.
Levels aren't too interesting as I have no idea what those offensive/defensive/etc slots mean, but I continue anyway.

At level 10 or something some skills start to drop.
First I get ghost form, which I ignore as I can't think of any use.
Next I get translocate. This skill was really cool. Fun to use, and useful. It also seemed bugfree.
A while after at lvl 14 I get doom Chicken. (I wouldn't have made the first offensive skill name a joke, but ok)
It is unfortunately not useful at this level as I can beat the trolls to death much faster than this chicken can.


There are only trolls and a few wolves to kill in the test map. All of which are fodder for my character at this point, so I ended my third test after killing half of the townsfolk. None of which dared to fight back this time. "This entire city must be purged" as he says
 

Jesus4Lyf

Good Idea™
Reaction score
397
Hey cool! Thanks for the test and feedback.

Right: Equipping items needs to say something.

Sorry about the lack of content. I'm working on adding quests now to the factions, rather than just being able to join them. The reason you were attacked is because you were a newbie in the fighters guild, AND part of the thieves guild, so the higher ups in the fighters guild hate you. The town guard will, in future, retalliate on your behalf. Thereafter the fighters guild and town guard will be opposing factions, etc. Both will issue assassinate quests on eachother's members, both palyers and NPCs. And that is how the game will progress. ;)

However, right now there are no quests, actually. I've coded a couple, but havent implemented them. I'm still trying to think of a nice way to do it without being too tacky. It will all be done through the conversation system. :)

Glad you found the dagger.

You cannot drop items yet. I have written all the code to be able to, but didn't consider it important for the first release.

I'll consider changing the icons on the inventory pockets too.

Btw, by the time you're level 10+ you're meant to move on from the forest. I think I need to slow exp gain a little, and start adding firetrolls and golems to the mountain (but I'll probably put that off for a while yet, as I consider the quests and factions a more important part of the game... Well, they will be soon :)).

Thanks again. I appreciate the feedback and suggestions. It's also very good to hear how someone went without any guidance from myself. You seemed to have figured out everything ok except the inventory system, ironically, which so far everyone else has figured out immediately. In fact, sometimes I forget to wield the dagger, and randoms playing the map happen to do it. XD
 

Jesus4Lyf

Good Idea™
Reaction score
397
Update to ALPHA 0.85.
  • Added "-handlecount" command.
  • Fixed a bug when attempting to unwield/drop/unequip weapons and armour that could not be unequipped.
  • Added notification on equipping/unequipping weapons and armour.
  • Reduced Doom Chicken's cooldown to 20 seconds.
  • Fixed text line bug in Thieves' Guild rejection.
  • Reduced exp gain from hostiles by 15%.
  • Fixed Forest Troll Berserkers' stats.
  • Implemented Quest System (already coded, simply unused).
  • Implemented Barky's Head quest.
  • Implemented Assassination quest (I'm aware NPCs don't fight back yet, making this one kind of lame).

Note that this map is indeed multiplayer, not designed simply for single player.

Edit: I noticed some perculiar desynch patterns with this map. Usually 1 in 5 players will desynch on map start. AFTER PLAYING THIS MAP players will continue to desynch about 2.5 minutes into WHATEVER MAPS THEY CONTINUE TO PLAY ON BATTLE.NET. I played dota after this map and we had desynchs. :nuts:

On the other hand, I don't really care. ^_^

I think it's due to the 10k handle count.
 

Jesus4Lyf

Good Idea™
Reaction score
397
No bueno?

Err... I just thought it was interesting because isn't it considered that desynchs are due to poor code? Yet no code executes in my map (except default initialization stuff, as in, that which you can't stop) until 10 seconds into the map. Desynchs, therefore, must be instead due to the number of objects in a map.

I'm actually starting to find out useful things about desynchs. It seems if you restart Warcraft 3 before playing Savage Creed you will not desynch. Restarting it again afterwards will allow you to play other maps once again. Anyone interested in researching this theory further?
 

NightShade

Ultra Cool Member
Reaction score
31
nice game, lots of potential.

aren't there people who don't belong to the fighters guild or the thief guild, and where does one get armor and stuff?
make instructions of how to play and tips ingame.
 

Builder Bob

Live free or don't
Reaction score
249
Hey cool! Thanks for the test and feedback.

Glad you liked the feedback. Sometimes when I look for feedback I find it hard to really get a hold on what a new player experiences and not, so I tried to write it so you could at least get my experience.

From your OP I see you have great ambitions for the map, which I think is a good thing. I'm looking forward to more fleshed out versions to test ;)

My foremost suggestion is add lots of different abilities and more different enemies to fight. Sometimes few but strong, other times lots of weaklings.

The town system also seems interesting if you manage to make it easily understandable. Maybe give units short lines of speech (,or anime-styled symbols) above their heads to give the player an idea of where they stand with an NPC when near them?
 

Jesus4Lyf

Good Idea™
Reaction score
397
Nice to see that you're still working with World Editor :D Must give this a go, hopefully it'll be as fun as your AoS map (I can't remember the name, but it rocked :D)
Hey thanks, good to see you round too. I was wondering if I'd be remembered. It's been 6 years of mapping for me. The AoS you refer to must be Ancient Bound. Me and some friends still play it. ^_^

As for the No H2I, there is an exception strictly for the -handlecount function in 0.85 now. But it otherwise is strictly not used. It would fail with the 10,000 handle count anyway, which I prepared for ahead of time knowing how big this map would get.

nice game, lots of potential.

aren't there people who don't belong to the fighters guild or the thief guild, and where does one get armor and stuff?
make instructions of how to play and tips ingame.
Thanks for the encouraging words. There are people who belong to no guilds, for example, just outside the fighters guild there is a house with a couple, at least one of which doesn't belong to any guild. As for armour, there actually is none implemented at the moment. It is an alpha version and lacks content, but I'm working hard on adding this when I have time away from university. Currently you can find weapons and abilities from killing hostiles, and a gauntlet is given as a prize for the Barky's Head quest. It's a really good gauntlet. I'll consider nerfing it. ;)

My foremost suggestion is add lots of different abilities and more different enemies to fight. Sometimes few but strong, other times lots of weaklings.

The town system also seems interesting if you manage to make it easily understandable. Maybe give units short lines of speech (,or anime-styled symbols) above their heads to give the player an idea of where they stand with an NPC when near them?
Not a bad idea. I was considering adding a disposition thing for use within dialog. So at the top right it would have the character's disposition to you. I don't mind the idea of emoticons above the heads of characters you wander past. I'll add this somewhere on the to-do list. Thanks for the idea.

As for adding lots of content, which clearly everyone wants, I'm working on it. Adding content to this map is not a quick process due to interfacing with so many systems, each of which is written with the aim of producing a good GUI, not an easy coding system. Don't get me wrong, everything is well coded and efficient, and easy to use... But there's still a lot of objects to create. For example, every item I create requires me to make a spellbook, an item-use ability in that spellbook, the item itself, the abilities the item adds and code for onwield/onunwield. My "Create Ability" function takes somewhere in the vacinity of 12 integers, 6 or 7 of which are seperate objects I need to create in the item/ability editors. So bare with me! :D The positive response this map is receiving so far is good inspiration for me to continue adding things.

My main focus right now is weapons, armour, abilities and quests.

Cheers! :)

PS. If anyone is interested in researching desynchs with me further, feel free to voice up. For now, I recommend people restart Warcraft III before playing Savage Creed online (either joining or hosting). Let me know if this does/doesn't work.
 

Builder Bob

Live free or don't
Reaction score
249
As for adding lots of content, which clearly everyone wants, I'm working on it. Adding content to this map is not a quick process due to interfacing with so many systems, each of which is written with the aim of producing a good GUI, not an easy coding system. Don't get me wrong, everything is well coded and efficient, and easy to use... But there's still a lot of objects to create. For example, every item I create requires me to make a spellbook, an item-use ability in that spellbook, the item itself, the abilities the item adds and code for onwield/onunwield. My "Create Ability" function takes somewhere in the vacinity of 12 integers, 6 or 7 of which are seperate objects I need to create in the item/ability editors. So bare with me! :D The positive response this map is receiving so far is good inspiration for me to continue adding things.

Since you need to add many abilities/books per ability/item, maybe you could make good use of GrimEx functions to make it easier on you.
It makes you able to just copy/paste some lines of code to create whole new sets of items and abilities very quickly, without even touching the object editor.

The only place I've seen them used is in Cohadar's Bonus system.
Look for the lines "//! external ObjectMerger (...)" in the plugins spoiler.
 

saw792

Is known to say things. That is all.
Reaction score
280
The desync thing is related to the amount of information stored in memory. Your map stores a huge amount of data in memory which is only cleared when Warcraft III is closed, causing the problems for the next maps that the user plays.
 

Jesus4Lyf

Good Idea™
Reaction score
397
Since you need to add many abilities/books per ability/item, maybe you could make good use of GrimEx functions to make it easier on you.
Hey thanks for the idea, but it appears that this merges the data on save. Correct me if I'm wrong, but if you keep saving the map it will keep creating the same abilities over and over? Therefore it doesn't seem useful to me. If someone can let me know more specifically how to go about using this without needing to add the code, save the map, close it, open it, and delete the code, then it may become useful. Otherwise, the copy/paste work with abilities only takes me about 5-10 mins anyway. You get good at it.

The desync thing is related to the amount of information stored in memory. Your map stores a huge amount of data in memory which is only cleared when Warcraft III is closed, causing the problems for the next maps that the user plays.
Yep. That's what I concluded from my tests. Therefore, before and after playing Savage Creed online (joining or hosting), players should restart WC3.

Sounds like if the handle count exceeds around 8,190, WC3 doesn't wipe out the memory correctly afterwards. Maybe initializing every variable would fix this? Even to null or 0. *Shrugs*
 

Builder Bob

Live free or don't
Reaction score
249
Hey thanks for the idea, but it appears that this merges the data on save. Correct me if I'm wrong, but if you keep saving the map it will keep creating the same abilities over and over? Therefore it doesn't seem useful to me. If someone can let me know more specifically how to go about using this without needing to add the code, save the map, close it, open it, and delete the code, then it may become useful. Otherwise, the copy/paste work with abilities only takes me about 5-10 mins anyway. You get good at it.

That's true. You will need to have a trigger that create the abilities, and disable it when you have created them. If you save again with the trigger enabled, all that will happen is overwriting of the abilities.

I just know from experience that when I create something as big as the project you're working on, it will change over time. The way of doing things will change over time. Some day I might figure out that I want something in all my abilities to look different. That's when comes in handy to have everything stored in the form of code.
The job will then just be a matter of copy/pasting, rather than going through everything in the object editor to change it all. There are few things I hate more about warcraft3 mapping than navigating hundreds of abilities that can't be organized in any good manner.

Whatever you feel most comfortable with I guess.
 

Jesus4Lyf

Good Idea™
Reaction score
397
Yeah. I think I'm just gonna have to bite the bullet, though. I'm using editor suffixes to note what's what. I'm considering using races for sorting too. At the end of the day, though, I've coded this from the ground up with high standards, intending for nothing to need changing later - do it once, do it right. As for abilities, they're neatly ordered in the trigger editor, just a bit of a mishmash when it comes to the object editor. Thanks for the tip anyway. If it recreated the abilities each time, it mightn't be so bad... But to be honest, I kinda need the automatically generated rawcodes too. It could be worse manually checking the rawcodes than manually creating the abilities. XD

But hey, on the up side, at least it's not units! The unit editor hangs for a good 30 seconds every time I create or delete a unit, or rename it or change it's level. I'm using a 3 year old laptop for everything. :D

Anyway, I've written all the code for dropping items now, as well as implemented it. You can hold multiple of each item (as many as you like, in fact). I wrote a defensive heal ability for the temple, which I'll need to write a quest for to implement it, and I'm currently writing a spell called Grapple..... This spell is one to contend with Sharl and Sandman (for those who remember my spells I submitted for Key Timers 2).

Just for those interested... It's a little like meathook but much more impressive. The hero throws a hook at the grappling hook in a line, hitting the first unit it comes across (sound familiar?). It then yanks the unit back half way to the hero, the hook flicks back around in a circle and slams down on top of the target, stunning and dealing damage. Anyone wanna try writing the math for moving the 50 pieces of the chain in a 3d circle without calling a trig or square root function 50 times? I'm working on it! :p

Edit: Update: Done the hard bit. Managed to do the circle function with only 2 trig calls for the entirity of 50+ objects each loop for 3d rotation! A new personal best! I feel like I have achieved something big today. :)
 

Jesus4Lyf

Good Idea™
Reaction score
397
New version released! Savage Creed ALPHA 0.86. Check first post for the link, it's the same.

Err... I actually forgot to keep a list... So here's... a guess.

Updates in 0.86:
  • Added and Implemented Item Dropping.
  • Added Compass (guides you for quests).
  • Implemented Compass functionality for all quests.
  • Added Golden Gem quest.
  • Added Peace of God [Defensive Ability].
  • Added Grapple [Offensive Ability] but this still isn't actually implemented.
  • Added Golden Gem (Helmet).
  • Fixed a bug where using a ranged weapon permenantly removed the Drop Item icon.
  • Probably did various bug fixes. I forget.

I hoped to release 2 new quests with this version, but it just didn't happen. The darn things are 250 lines of JASS code each. That's usually easy, but the structure has to work around humans and wait for people to do things (and fork a little) making it highly fragmented and difficult to follow. 250 lines gets nasty.

On an additional note, if any advanced JASS mappers are interested in writing quests for Savage Creed, let me know. If I get you on board, your name will be featured on every quest you make (ie. a little "Made By" notice). I'm guessing I'll have no offers, however. :p

Anyway, there's actually starting to be enough quests to make exploring factions worthwhile! :D
 

UndeadDragon

Super Moderator
Reaction score
447
I tried it and it definately has a lot of potential. Some things I can remember:

1. The text for the systems stays on the screen for too long (it gets annoying).
2. What is that peasant for?
3. Some in-game messages would be nice, so first time players can understand what to do.
4. How do you get abilities?
5. Awesome chat system!
6. Are you supposed to get anything for finishing Assasination? Because I didn't.

EDIT: I got linked here from another thread and just realised the date... Are you still doing it?
 

Viikuna

No Marlo no game.
Reaction score
265
That chat system is indeed really impressing. It just needs some nice art because now it looks kinda terrible.

Also the terrain is pretty horrible too. It is possible to make really awesome terrains in wc3 and since one of the main thingies in RPGs is the exploring of the world, so you need to work with terrain.

Didnt really test any spells, but Im sure that they are top quality and nothing less.

Anyways, good luck with your project.

:thup:
 
General chit-chat
Help Users

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top