• 🏆 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!

[Defense / Survival] Open Source Project: Troll Wilderness World

Status
Not open for further replies.
Introduction
Inspired by jungle trolls reborn and based on Yellowstone National Park, our team presents Yellowstone Survival
untitled3-png.283103

source: in-game screenshot

Features

Team

Update Log

Media

Credits


Terrain

Map

Systems

Art


Map Preview:
untitled-png.283105


Mini-map Preview:
untitled2-png.283104


Environment AI System: The AI is based on real world variables and is executed to be accurate to the best of our ability. The AI has been implemented in
  • Individual basis
  • Herds and packs
  • Global regional weather

Environment Interactions: The player is able to interact with his surroundings to further enhance the exploration factor, Currently the interaction systems implemented are:
  • Custom crafting system: Interacting with a crafting surface like an anvil allows the player to craft Items

More coming soon!

Player:
-Multiboard inventory
-Punch (or use mainhand item): small cone of damage / use mainhand item


-Interact
--Identify: Identify the target of the ability before the interaction with a short description. then>
---Craft: Crafts stuff
---Harvest destructible: Attacks Destructible and collects an item when destroyed.
---collect water: collects water
---Animals:
----Tame:
----Capture:
----Scare:
---Bed: rests until next morning or (random number between 6-10 game hours, whichever is sooner)
---Ally animal: disables wander and issues ally to follow
---Item: Picks up item and adds to inventory


Coming soon!


stonneash

Chaosy

Svetli

Project Leader
stonneash is filling in the positions for the missing departments while maintaing the occupied departments.
Lead Scripter
Chaosy is revolutionizing the map and its systems with wurstscript systems, while contributing to discussion on features.
Terrain Artist
Svetli Volunteered to contribute to the terrain and hot-fix some of the issues we had in the early stages of terrain development.

10/29/2017: - Added Fingolfin 's Trees
-Tiles rework.
-Thread rework.
ezgif-2-334476881a.gif
ingame02.png
ingame03.png
ingame04.png
Map Empty Sky View.png
valorwip001.png
Untitled.png

All Tree Models - Fingolfin
 

Attachments

  • Troll Wilderness World Alpha 0.1.w3x
    455.4 KB · Views: 138
  • Troll Wilderness World v0.1.1.w3x
    779.8 KB · Views: 162
  • ingame01.png
    ingame01.png
    2.8 MB · Views: 380
  • github-sociocon.png
    github-sociocon.png
    28.9 KB · Views: 237
  • Untitled3.png
    Untitled3.png
    2.9 MB · Views: 645
  • Untitled2.png
    Untitled2.png
    92.1 KB · Views: 554
  • Untitled.png
    Untitled.png
    2 MB · Views: 579
  • Untitled2.png
    Untitled2.png
    92.1 KB · Views: 124
  • efb06e6b206ff577a2f7d1b5ae7b11ca--dog-anatomy-animal-anatomy.jpg
    efb06e6b206ff577a2f7d1b5ae7b11ca--dog-anatomy-animal-anatomy.jpg
    471.6 KB · Views: 122
Last edited:
Level 13
Joined
Apr 13, 2016
Messages
376
I played it for awhile, and although the idea IS interesting, there's too litle to show off now.
You get 3 arrows from the start, but trying to get my hero to face the right direction got me killed a few times. You should work on this system.
There's nothing more I can say, since all other features are in development, will keep an eye out.
 
Level 6
Joined
Sep 7, 2017
Messages
207
Tested it.
Good stuff. I think a lot of work must be added here as the ideology of the game is nice.
It seems to me that it is an action-packed survival, rpg map. Good luck with this.

You may want to import custom doodads and units (for the wolves too) so it adds up to the theme. :)
 
Subbed.
I will take a look at the map/systems within the next week. The screenshots looks nice, although i think that using the noise tool terrain wise makr it look unnatural-distorted. I would recomnebd smoothing a bit.

That is true, I just havent gotten around to doing the final touch up on the terrain yet. Thank you.

Subbed to your project @stonneash!
Best of luck, looking great!

Thank you!
 
Subbed, i always liked the original Troll Tribe maps, most of all the Jungle version.

Me too, played them a lot with some other survivals

That age/breed system has a lot of potential, love it.

I hope to better polish it soon

note: nothing in the map is protected, feel free to swoop around and look.
 

Chaosy

Tutorial Reviewer
Level 40
Joined
Jun 9, 2011
Messages
13,182
Uh-huh
Does not look as nice behind the scenes.

Then again I am spoiled in vjass, maybe it is not that bad for being GUI ;P

edit: a cool tweak to the grow system would be to increase the size.
Let's say it takes a pup 10 minutes to become young wolf
every minute increase size with 5% making it 50% larger at the moment the unit type changes.
 

Chaosy

Tutorial Reviewer
Level 40
Joined
Jun 9, 2011
Messages
13,182
I wrote a simple aging script.

Wurst:
hashtable hash = InitHashtable()

function integer.evolveLink(integer evolveTo) returns integer
    hash.saveInt(this, 0, evolveTo)
    return evolveTo

function unit.evolve()
    real x = this.getX()
    real y = this.getY()
    real facing = this.getFacing()
    player owner = this.getOwner()
    integer id = hash.loadInt(this.getTypeId(), 0)

    this.remove()
    CreateUnit(owner, id, x, y, facing)

public class Wildlife
    private static real loopSpeed = 1
    private static real expRate = 50
    private static real expLevel = 180

    private real exp = 0
    private unit animal

    construct(unit u)
        getTimer()
        ..setData(this castTo int)
        ..startPeriodic(loopSpeed, function onLoop)

        animal = u

    static function onLoop()
        thistype instance = GetExpiredTimer().getData() castTo thistype
        instance.exp += expRate
        print(instance.exp)
        if instance.exp >= expLevel
            GetExpiredTimer().release()
            instance.animal.evolve()
            destroy instance

init
    'hpea'.evolveLink('hfoo').evolveLink('Hpal')

    CreateTrigger()
    ..registerEnterRegion(boundRegion, null)
    ..addAction(() -> begin
        new Wildlife(GetTriggerUnit())
    end)

    CreateUnit(players[0], 'hpea', 0, 0, 0)

The interesting part is this:
Wurst:
'hpea'.evolveLink('hfoo').evolveLink('Hpal')

which says that when a Peasant evolves it becomes a Footman, which evolves into a Paladin
Makes it really easy to set it up for multiple units. Which is the main flaw of your code, only works for wolves.
 
Last edited:
I wrote a simple aging script.

Wurst:
hashtable hash = InitHashtable()

function integer.evolveLink(integer evolveTo) returns integer
    hash.saveInt(this, 0, evolveTo)
    return evolveTo

function unit.evolve()
    real x = this.getX()
    real y = this.getY()
    real facing = this.getFacing()
    player owner = this.getOwner()
    integer id = hash.loadInt(this.getTypeId(), 0)

    this.remove()
    CreateUnit(owner, id, x, y, facing)

public class Wildlife
    private static real loopSpeed = 1
    private static real expRate = 50
    private static real expLevel = 180

    private real exp = 0
    private unit animal

    construct(unit u)
        getTimer()
        ..setData(this castTo int)
        ..startPeriodic(loopSpeed, function onLoop)

        animal = u

    static function onLoop()
        thistype instance = GetExpiredTimer().getData() castTo thistype
        instance.exp += expRate
        print(instance.exp)
        if instance.exp >= expLevel
            GetExpiredTimer().release()
            instance.animal.evolve()
            destroy instance

init
    'hpea'.evolveLink('hfoo').evolveLink('Hpal')

    CreateTrigger()
    ..registerEnterRegion(boundRegion, null)
    ..addAction(() -> begin
        new Wildlife(GetTriggerUnit())
    end)

    CreateUnit(players[0], 'hpea', 0, 0, 0)

The interesting part is this:
Wurst:
'hpea'.evolveLink('hfoo').evolveLink('Hpal')

which says that when a Peasant evolves it becomes a Footman, which evolves into a Paladin
Makes it really easy to set it up for multiple units. Which is the main flaw of your code, only works for wolves.

this is wonderful. Would you be so kind to show me how I'd add it to the map because I honestly have no idea, I think I am capable of adjusting it and adding the units myself tho.
 
Well, the problem with Wurst that it is not really compatible with jass/gui, I think.

You'd have to translate it to vjass or jass.

the WEX has an experimental implementation of Wurst in the editor, which does not work for me right now.
If it works to you, I can help you.

if that's the case then how is wurst usable?
 
Level 11
Joined
Sep 12, 2015
Messages
649
That would be great actually. If you can make a close replica of yellow stone in the winder (not completely snow) one the map it would be great, You can start from scratch and I can reimport the stuff to it or you can edit the map I have, but if you start from scratch use the maximum size please
I will edit the map with its terrain now, and send it to you when it's done. :)
 
@subs, We have some updates for you:
update

message

The map is getting a complete rework because the Alpha was GUI based and Chaosy convinced me into trying wurstscript, I also wasn't completely satisfied with the terrain so I spent a couple hours on remaking the base terrain and hopefully I'll spice it up some more over the next update.
Update media
valorwip001-png.282586
 
Level 11
Joined
Sep 12, 2015
Messages
649
@subs, We have some updates for you:
update

message

The map is getting a complete rework because the Alpha was GUI based and Chaosy convinced me into trying wurstscript, I also wasn't completely satisfied with the terrain so I spent a couple hours on remaking the base terrain and hopefully I'll spice it up some more over the next update.
Update media
valorwip001-png.282586
?
 

Chaosy

Tutorial Reviewer
Level 40
Joined
Jun 9, 2011
Messages
13,182
Something noteworthy about the provided map is that it does not contain much code.
We are currently writing the code with wurst, which injects the code directly into the map from external files.

This means that the editor wont be able to view the code.
As a proof that stuff is actually being worked on, you can see the progress on github. GitHub - cljnilsson/Survival

In the "commits" you can see the updates being uploaded.
 

Chaosy

Tutorial Reviewer
Level 40
Joined
Jun 9, 2011
Messages
13,182
Nice use of extensions :) Keep going :>
One of the best features.

Anyway, here's an sneak peak on the crafting system.
794eb0153c1048d79f67d20f329649c0.jpg


The playable units will have an "Interact" ability, when used on certain objects the unit will enter crafting mode, enabling the cinematic view.
The system will scan the unit's inventory and detect what items can be crafted.
The items that can be crafted are displayed in a list format in the text window, while the items required are shown in the multiboard.
The player navigate in the menu by using the up and down key, and confirming the selection by pressing the right arrow key.

NOTE: I am not working in the newest version of the terrain.
 
Level 4
Joined
Oct 1, 2017
Messages
99
I tested it,and some...problems that you want to know:
-There was a problem with the Item Stacking System. When I moved the arrow in the inventory,the arrow disappears...
-What happened to the camera view anyways,did you meant to do that?

But anyways,keep it up,bro! I hoped this improves ya!
 
Status
Not open for further replies.
Top