Author Topic: Epic: A procedurally-generated, open-world fantasy adventure  (Read 1540 times)

Donuel

  • Acolyte
  • *
  • Posts: 14
    • View Profile
    • Email
Re: Epic: A procedurally-generated, open-world fantasy adventure
« Reply #15 on: August 27, 2016, 04:13:50 AM »
I like the style and the fact that its hex based, and the fact that it quite clearly has mouse controls.

Embarking on this epic procedural project on your own, and not having ascii graphics will mean this will take you a very long time to complete.
DF has been in active development for over ten years and its only 43% complete.

Good luck!

Im planning on integrating vorbis into dark realms aswell, neat to see we found the same library to be useful, I believe DF also uses vorbis.

Thanks for the reply :)

Epic is sort of a remake of an unfinished game that I used to tinker with a couple years ago. That original game, which I called "WinEpic", had a square-tile based map:
Screenshot here: http://i66.tinypic.com/ddjhxh.png

I was inspired to go with a hex map because I liked how it worked in Wesnoth, Eador, and AoW3.

I actually started work on the Epic code in March 2016. So it's been about 5 months of development so far. However, a lot of map functions, like the A* pathfinding code and world generation, were copied from WinEpic and adapted to the hex system. That saved me a lot of time vs. doing it all from scratch again.

I don't know how long it will take me to "finish" the game, or if there will even be an official "finished" state. My current plan is to develop the interface, core components, and features within a year or two; and then to continue adding new content indefinitely (units, items, abilities, factions, quests, etc.), at regular intervals. I'd like it to eventually have an enormous amount of content.

The original size of this download with WAV files was over 400MB. I was thinking about doing MP3; but after doing a little research, it seemed like Ogg/Vorbis was a better choice. There is no noticeable loss of sound quality, but the download is now only 25MB! I'm pretty happy with that :)
-Sir Donuel the Daring

Aleksanderus

  • Bishop
  • ***
  • Posts: 178
  • Champion of the unknown
    • View Profile
Re: Epic: A procedurally-generated, open-world fantasy adventure
« Reply #16 on: August 27, 2016, 09:06:56 AM »
Could you add some "evil main quests" just to add variation to this game?

Donuel

  • Acolyte
  • *
  • Posts: 14
    • View Profile
    • Email
Re: Epic: A procedurally-generated, open-world fantasy adventure
« Reply #17 on: August 29, 2016, 03:14:35 PM »
Could you add some "evil main quests" just to add variation to this game?

Sorry, but that's highly unlikely. I don't want to encourage people to do evil things just for variety's sake. Main quests will be either neutral (get rich, increase my fame, find something, etc) or noble/good/heroic (slay an evil creature, bring a villain to justice, stop a spreading plague, etc). So no evil quests.

Of course, there will still be many choices to be made in the game. At times, you will be allowed to side (either explicitly or implicitly) with certain factions or parties that may be good or evil. Or let's say you want to kill a certain merchant to steal his expensive magical amulet: you're welcome to try, but there will be repercussions. He is likely to have powerful guards. Word of your heinous crimes will spread quickly and ruin your reputation. People won't want to help you, and you will have difficulty finding new allies.

However, once I establish more of the interface and core features, I plan to make a sort of module system that will allow extending the game with new quests, units, items, etc. So I think there will eventually be an avenue for additional, player-created content.
-Sir Donuel the Daring

Donuel

  • Acolyte
  • *
  • Posts: 14
    • View Profile
    • Email
Re: Epic: A procedurally-generated, open-world fantasy adventure
« Reply #18 on: September 13, 2016, 05:06:21 PM »
I haven't posted here for a couple of weeks, but here's a small progress update.

If you've played the uploaded version of the game, you could walk around and hit a few random enemies, or shoot them with a bow. *Technically*, your starting unit has a wooden sword, a wooden bow, and wooden arrows equipped. These weapons are pretty weak; however, you have an enormously overpowered strength stat, which was added temporarily just so I could actually kill things while testing. But all of this was under the hood, not actually visible to the player.

Anyway, what I saw as one of the most critical things to add at this point is a "Unit Info" screen. This is a screen which, as the name suggests, will display the most basic and important info about the current unit: name, race/type, icon, inventory items, equipped gear, currencies, base stats, derived stats, quest reminders, etc. I'll add these one step at a time. My first step has been to work on a drag & drop system for transferring items from your inventory to equipped outfit, and vice-versa; this will allow you to actually start equipping items that you find throughout the world.



I've also done some work on units, so I'll share a bit about the direction I'm going in. So far, I've come up with an initial list of 66 units and roughly ranked them in terms of power, so that I can balance them and provide a suitable challenge for the player at all levels. For example, when starting out, a weak player unit can easily kill several Bees or Rats by himself. To boldly face a Warg, Python, or Vampire, however, he would need to be an experienced warrior of heroic proportions - or at least a seasoned adventurer with several companions. But taking on a Titan, strongest unit of them all, would be no easy task for even a well-armed team of living legends. Here are some of the unit icons that I'll be using for now, most of them shamelessly copied/modified from Google Image searches:



What makes units unique and interesting? Several factors:
- humanoids and demihumans start with unique names; the player may be asked to name other units (ex. dog)
- unique icons (humanoids and demihumans will have unique icons with randomized poses and outfits)
- unique races (human, elf, kobold, etc.) & types (humanoid, animal, substance, monster, etc.)
- race anatomy: different races have different body parts; demihumans can only equip certain types of gear (ex. mermaids and lamias cannot wear pants or shoes; minotaurs cannot wear helmets; harpies don't have hands, etc.)
- unique stat distributions: some have great strength; others have a lot of endurance or speed; some have less life points, but thick armor that has to be penetrated.

I've also coded a number of different "behaviors" which can be plugged into units to determine how they will act for both individual turns and in an overall strategy. Here are some examples:
- Archer: the unit will prefer to distance itself from enemies and attack the nearest enemy at range; if out of ammo, will engage in melee.
- Berserk: the unit will target the nearest enemy, then pursue and melee-attack it until it is dead, ignoring all other enemies and considerations.
- Bloodlust: the unit will always target the nearest enemy at the start of each turn.
- Bully: the unit will always target and pursue the weakest enemy in sight, attacking it in melee.
- Challenger: the unit will always target the strongest enemy in sight.
- Coil: the unit will mind its own business, but will strike at random adjacent enemies
- Mindless: the unit will wander around aimlessly, only attacking enemies by random chance.
- Sniper: the unit will target the weakest enemy or the enemy closest to death, and attack at range.

And here's my initial unit list, ranked roughly from weakest to strongest. The ones marked with an asterisk are humanoid or demihuman units that may be initially generated with a particular flavor (ex. a human may be generated as a "human warrior" with STR, CON bonuses and starting with a sword; or as a "human rogue" with DEX, LUCK bonuses and starting with a knife.)
-
bee
rat
slime
gnome*
fox
faerie*
gremlin*
serpent
falcon
dog
goblin*
elf*
skeleton
kobold*
dwarf*
human* (includes pirates, barbarians, etc.)
merfolk*
dryad*
beastman*
lizardman*
orc*
cobra
wolf
harpy*
ghost
great eagle
lamia*
centaur*
viper
ghoul
mummy
crocodile
pegasus
werewolf
warg
giant spider
giant scorpion
python
vampire
tiger
lion
bear
basilisk
troll
drake
elephant
ent
minotaur
ogre
unicorn
sphinx
griffon
phoenix
wyvern
golem
manticore
great serpent
giant*
wraith
chimera
cyclops
kraken
hydra
dragon
genie
titan*

If you have any suggestions for additional behaviors or units, they are welcome. I'm trying to stick to a mostly fantasy-based theme, but in a serious and realistic way. Nothing overly cute (sorry, Pikachu) and nothing parodical/ridiculous (like you would see in games like Earthbound or Kingdom of Loathing).
-Sir Donuel the Daring

Donuel

  • Acolyte
  • *
  • Posts: 14
    • View Profile
    • Email
Re: Epic: A procedurally-generated, open-world fantasy adventure
« Reply #19 on: March 21, 2017, 03:24:59 PM »
Wow, I can't believe it's been 6 months!  :o

Well, I'm back to working on the game again. And I now have some extra "motivation" in the form of a beautiful girlfriend  :-* who absolutely loves the game and wants me to keep working on it so she can play it! Haha... so anyone else who is interested in 'Epic' is also in luck.

Here are some of the updates/fixes I've made over the last couple of weeks:
- Disabled pyramid building generation until I can get it fixed, to prevent random crashes at startup.
- Fixed a bunch of bugs with the unit/inventory screen.
- Made some new items to play with. You now start with a Short Bow, Wooden Arrows, Wooden Sword, Long Sword, and Etheros (a powerful elemental sword).
- Introduced a new "attacks" system: each creature or weapon has one or more possible attacks that are chosen at random; so, for example, if you attack with a sword, it may do a "slash" attack (cutting damage type) or a "thrust" attack (piercing damage type). This adds some randomness to battles, instead of making it just a predictable, repeatable routine. It also makes selection of weapons more strategic: maybe you'll equip one unit with a battle axe that does fairly good "chop" (cutting) attacks consistently, while another has the Vorpal Blade, with lower damage overall, but a chance at unleashing the powerful "deathblow" attack for an instant kill.
- Each weapon has a different "weight"; it doesn't affect how many you can carry, but it means that each one will cost a different amount of energy to use. A dagger is very light, so may only cost 1 energy; whereas a heavy warhammer may cost 6 energy. Therefore, someone attacking with daggers can make many repeated attacks; but a unit swinging a warhammer may have to rest after making a series of blows.
- I've also begun work on a crafting system. With the proper tools, you'll get to mine ores and other minerals from cave walls, collect herbs from plants, and obtain hides from animals. However, I'm not certain yet whether the player will craft items himself, or whether he will bring the materials to an appropriate NPC (blacksmith, tanner, alchemist) and pay to have them crafted. Doing so would be much cheaper than buying them from a merchant, and may make certain items available that are not found in stock.

I'll keep working on it and try post a link to an updated version within the next couple of weeks. Meanwhile, feel free to comment, ask a question, or make a suggestion for the development. Feedback encourages me to keep working! :)
-Sir Donuel the Daring

Zireael

  • Protector of the @
  • *****
  • Posts: 592
    • View Profile
Re: Epic: A procedurally-generated, open-world fantasy adventure
« Reply #20 on: April 10, 2017, 02:24:16 PM »
I'd love to see and test the "updated version" you mentioned. The graphics come out fairly nice even though you said you just took them off Google Image search, somehow you managed to get a coherent style!

Donuel

  • Acolyte
  • *
  • Posts: 14
    • View Profile
    • Email
Re: Epic: A procedurally-generated, open-world fantasy adventure
« Reply #21 on: April 10, 2017, 03:00:38 PM »
Thanks for the reply. I got most of the graphics from Google search, but I did do a bunch of tinkering and recoloring to try make them fit together.
Lately I've been working on the "Party" aspect, so you can join individual units and have them enter a Local Area together. Once I get that ready, I'll post an updated version.
-Sir Donuel the Daring