Giter VIP home page Giter VIP logo

unity-gnorts's Introduction

This is a Real Time Strategy game in Unity

Although the Code is public for people to see, if you want to use it in any commercial way you need to contact me. I do NOT allow you or anyone to use these code(s) and just sell it. (Mostly called 'asset flips' in the Unity world)

If you want to help on this game, or create your own with it, just contact me and/or fork it. All people who want to help are welcome to do so! This project is mostly a learning project, but if it would ever hit the market you would for sure be credited for the things you've done and such!

Early alpha screenshot of the game

Or join the Discord server to talk more about things! https://discord.gg/ggfDJHg

How to (help and) open/edit this project?

  1. Make sure you have Unity and some sort of editor like Visual Studio installed
  2. Clone (Download) the whole project, I recommend a program like GitHub desktop if you want to help
  3. Open Unity and do 'File-Open project' Select the 'Unity-Gnorts' folder and open the project (This will take a long time if it's the first time)
  4. Don't forget to open the game scene; In your project window under /Assets/_Scenes/Game
  5. Search for Code -> SaveLoad check EmptyLevel as long as you do not have any saved games.

Acknowledgement

  1. Icons created by Freepik - Flaticon : https://www.flaticon.com/free-icons/finger, https://www.flaticon.com/free-icons/mace
  2. Outline shader for selected objects : https://willweissman.com/unity-outlines

unity-gnorts's People

Contributors

jellewie avatar baleryom avatar jorisvaneijden avatar jespertheend avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar chimera kang avatar Ben Sparks avatar Josh Morris avatar Young Developer avatar  avatar Kishan Takoordyal avatar

Watchers

James Cloos avatar  avatar  avatar  avatar Serhat Çolak avatar

unity-gnorts's Issues

Terrain

Find a way to make the gourd less flat, but still being able to build on (roughly) flat surfaces.
Some vector grid or something, but the biggest thing is how buildings can still be built (or can't on hills)

  • Find a way to make the ground 3D and editable (while still being compatible)
  • Add different types of ground (all non-changeable while playing)
  • Grass (farms can be built on)
  • Dessert (useless)
  • Stone ore (for stone quarry)
  • Iron ore
  • Water/river
  • low-level water (can be walked on but slow, to cross rivers) (just water with some stones in it)
  • This should be able to be saved to a file by the load/save function
  • Also a moat would still be able to do (a square block half in the ground is also a way)

Steep hill sides where you can't walk on would also be nice.
The terrain generation could either be done by perling noice at random, or we would only support manual made and ballanced maps.

Minimap is offcenter when zoomed out

The center of the minimap is exactly on the camera, instead of more looking to where the camera is looking at.
It might be a good idea to add screen boundaries drawn on the minimap, so you can see what you are looking at on the minimap. Although a lot of math is needed for this I think.

Konami

add some Konami stuff, or [SGA ](standard galactic alphabet) language somewhere

#12 UI - Buildmenu

Finish the build menu;

Add repair icon
Add remove icon

Add all other buildings + icon

Color double keybindings

Make keybinds orange when they appear more then once. So you can clearly see if you have set 1 key to more than 1 thing

#12 UI - Stock overview

The wood, food, stone overview menu.

This menu need some live information on how much is in stock and such

Stone quarry

5*5?
Like the woodcutter with options but then with stone
can only be build on stone ore

Save and load function

Still TODO:

  • Save the terrain
  • Sae the Graph
  • Change messages to be displayed to the player
  • Add pop-up window confirm if the user is saving over a different save, or deleting one. or loading a save
  • Add loading screen? big saves already 'lag' the game

Maybe TODO:

  • Add the camera position to be saved too?
  • Maybe add an icon (screenshot) to each save?
  • Maybe zip the project or something, to make saves smaller?
  • Maybe add folder support, so saves can be organized?
  • Maybe compile the save code, so objects are not saved by name but as a byte?

You can build on top of the Castle ground

A new bug tiny is introduced today.
you can build on top of the fire ground of the Castle building,

Probably the raycast doesn't hit the collider properly? change collider (or tweak the raycast a tiny bit)

Rewrite input manager key bindings code

Rewrite the input manager key binding code (to the other format, I don't want to use the library anymore, make a mess class for it)

This wil also make the code nicer, and add support for 'HoverOverText' to show what the keybinds do

ShowMessage should spring in action

UserInput - public void ShowMessage(string Message)

the message should be 110% size on start and then quickly shrink to 100%, this will make the message stand out when you keep doing 'wrong' stuff

Ox tether (moved wood stone and iron)

2*2 with a 2 wide for the storage and the rest for the ox.
When clicked it can be set to move; wood or stone or iron.
When (first of this strike is) placed its set the closest building that produces one of those (if <20m) else it's set to wood. (this also really needs to be in the hints)

Trees

  • 1*1 size (for now?)
  • 8*8 spread size
  • 1 minimum gap distance from other trees
  • Would grow slowly over time (like 5 min to fully grow)
  • Full grown tree drops 3 logs (not planks! see woodcutter)

Keep

  • You should only be able to build 1 keep per player (after that it would be disabled)

  • Will hold 8 people

#12 UI - Fight/command menu

  • #12 UI - Fight/command armor menu

just sums up the soldiers you have selected. a bit like how it's done in the StrongHold series (ByFirefly Studios)

Building while already selecting doesnt work

If you click to build something, and then directly try to build something else it doesn't select that building. instead it select nothing and the hoverover text will keep following the cursor

default Keybindings duplicates will not be colored

Normally duplicate keybindings will be flagged with a color. This does not apply to the Default keybindings.
When a user now manually set the keys to the same stuff it will be and this might cause confusion.

Woodcutter (gets wood)

2x3 with a 2*2 building and a 2 wide wood storage next to it
When clicked on an option 'move by Oz' can be clicked (this also sets the new place default). This will disable the woodcutter itself from moving the wood to the stockpile, and store a little wood (1 load) at the woodcutter building that can be moved by Ox.
AI to the building, 4x get a log (stored in the building). Then saw the logs, then either place then on the side of the building, or walk them to the stockpile
When no exist and no planks in stock this building is free (probably to hard to exploit?).
Production, the woodcutter will produce 5 planks for each log (thus 20 planks per run)

AI

Start working on AI

  • Peasants come from the 'Keep' and the speed of this is influenced by the happiness factor of the player (1 every X / happiness Seconds) [happiness can go above 100%, this will just boost the rate]

  • Peasants will be tried to assign every (1 second?) to a building (like a woodcutter) to let them work

  • Peasants will slowly leave one by one (every Y seconds) the castle when happiness becomes below 50% (till a minimum number?)

Estates?

How to go about estates?

  • empty estates (free for all/or cant build in/can be captured CTF style)
  • Enemy estates (you can't build here)
  • Friendly estates (you can build here)
  • Free room (everyone can build here, it's the buffer zone

What happens to his/her estate when you kill an enemy?

  • I would say you get his estate to build in (converted to friendly/empty yours)

Menu Settings - Settings

in the menu Settings there should be some settings added, not sure yet whats the best way to go about it (let code generate it, or place them manually) but this is what it needs to be able to do

  • Set options
  • - Bool (on/off) [Edgescroll]
  • - Byte (0-255) [Edgescroll distance] with a slider or just only a number input field

What options need to be in this menu

  • Edgescroll (Boolean)
  • Maybe something to be able to change the numbers in the Public Code? this might be overkill tho
  • Game tick speed [Byte, 60 normal]
  • UI Size [19020 x 1080] (Size of the space where the UI is) (#67?)
  • UI Place [0,0] (Starting place of the UI) (#67?)
  • Max FPS [0-255] (0 for infinite)
  • Show FPS option

Iron Mine

  • 4*4?
  • can only be built on iron ore
  • Like the woodcutter with options but then with iron bars

(This building smelts the stuff to iron bars, which is just called "Iron" for simplicity sake)

Remove building Returns

When building is removed and not used before (used tag is set when the fist NPC has been there) the return cost is 100%.
Else it's 50%? Also it will move 75% of the stock to the stockpile and 90% of what the NPC is carrying if possible. '

There is a flag 'used' in 'BuildinOptions.cs' that when flagged does this, what is now needed is the trigger. I was thinking about a timer and just set every building to be used after X seconds (can be changed for each building) would this be the best option? or should things like walls only return less when there hit?

cant build there message

This message should appear if the player tries to build for <1 sec> but it can't be placed down there
(Don't show directly, since we are trying to build every frame. even if we have build something in the last frame and the player mostly pressed the button longer than a frame)

See in the code:

/*TODO FIXME
If this is hit for more than <1 sec> than show a message that we can't build there
*/

Add prefab for all buildings

Make a (placeholder) prefab for all buildings

Example of buildings (please check the wiki for updates)

  • Bridge for moat
  • Moat
  • Mangonel_Tower
  • Balista_Tower
  • Town_Square
  • Fire_basket
  • Trap_Pit
  • Keep
  • Military
    .
  • Barracks
  • Swords_Maker
  • Bow_Maker
  • Spear_Maker
  • Leather_Jacket_Maker
  • Blacksmith_Armor
  • Blacksmith_Tools
    .
  • Wooden_Wall
  • Wooden_Wall_Spiked
  • Wooden_Gate
  • Wooden_Tower
  • Wooden_Stair
  • Stone_Wall
  • Stone_Wall_Spiked
  • Stone_Gate
  • Stone_Tower
  • Stone_Stair
    .
  • Stockpile
  • Lumberjack_Hut
  • Stone_Quarry
  • Iron_Mine
  • Ox_Transport
  • Repair_Building
    .
  • Granary
  • Apple_Farm
  • Cow_Farm
  • Hunter
  • Wheat_Farm
  • Mill
  • Baker
  • Fischer
  • MISC
    .
  • Home
  • Trading_House
  • Church
  • Water_Well
  • Alchemist

Fix wooden gate, it's 1 to low (Part of #19)

the wooden gate platform is 1 too low, and the whole gate should be 1 higher.

Maybe also add spikes or 45 walls at the bottom, since you can't build there and it might not be obvious

Improve edgescroll multible windows

An option (Lock mouse to the window) like that:

On (Default) = Lock the mouse to the window, and it can only leave when in the menu

Off = No edge scroll and the mouse is free to move. Players should use ASDW and dragging to move around

Drop down menu settings are not initialised

After a level has been loaded/created the down menu settings are not properly set.

Click and close gate 1
And click gate 2, the drop-down menu isn't initialized and is still set to 'Close' while the gate we clicked is 'Open'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.