Hi Epic Community! I want to present you my “Survival-shooter” project, that I made for 150 hours online while youtube streaming. I was streaming once a week for 3 hours whole year. We got 50 parts.
Project is opensource and IT IS FREE! My goal was to show my subscribers whole process of development and some difficulties, that any dev can run into.
I was dealing with such problems as:
- Project planning and prototyping
- Planning and making project core and its different parts
- Developing UI
- Debuggung and bug fixing
- Work with assets and graphics
http://s1.uploadpics.ru/images/Zyk5uHI2UM.jpg
By the end of all streams I got playable prototype. Some people even say it could be Pre-Alpha.
Whole project was made using Blueprints.
Here is a list of all the features under spoiler:
Character
- Char controls
- Life management component (Health, Armor, Hunger, Thirst)
- Camera switch (FPS or TPS)
- Model (Made model in Fuse, took Mixamo animations)
- Animation blueprint (weapon handle, movement, jump, crouch)
- Universal integration system (using Interfaces)
Actor oriented inventory system
-
Inventory component (You can implement it in ANY actor)
-
Grid item placement with different size support
-
Inventory size and max weight support
-
Item class, that can be stored in Inventory component. Items stored as references on actors (I know objects are better, shut up ;D).
-
Weight, grid size, condition, visual info
-
Stack feature (Many same objects on same cell)
-
Feature to add your own “Use item” logic
-
Drop from inventory
-
Inventory UI (“I” key)
-
Exchange UI between inv. components
-
Drag&Drop inside inventory and Exhange
-
Context menu (LMB, RMB is for dragging, easy to switch)
-
Item tooltip widget in UI and items in world
-
List of random items at init of ivnectory
-
List of start items at inventory init
-
Trade system
-
Trade UI
-
Money management component (for easy switch between methods of storing money)
Equipment system
- Types of equipment: Hat, Top, Bottom, Shoes, Weapon
- Skeletal sync for Top, Bottom and Shoes. (Socket attachment for weapon and hat)
- Drag&Drop equipment UI
- Modificator support and custom logic “OnEquip” support
Weapons
-
Range weapons
-
Reloading
-
Ammo using as items from inventory
-
Custom bullet class support
-
Autofire support if needed
-
Recoil and spread support
-
Melee weapon (with some damage methods, like traces, trigger)
-
Condition decreases on use
Craft system
- Recipe craft (Choose recipe, it search for items. Fallout style)
- Items craft (Choose items, it will search for recipe. Minecraft style)
- UI for Items craft only
Aggressive NPC
-
Melee mobs (if see enemy, approach and start attacking)
-
Mixed mobs (Use range attack, but if enemy is close, use melee)
-
Implemented inventory component for after-death loot
-
Spawn zone
-
Spawn class list
-
Class spawn chance
Friendly NPC
-
Patrolling citizens
-
Unic NPC
-
Simple schedule controller for unic NPC
-
Damage reaction (run away or use weapon if has one)
-
Implemented inventory component for after-death loot
-
Object-oriented dialog system (Fallout like)
-
Dialog tree
-
Every answer is an object
-
For every answer you can put custom logic or availability-condition
-
Dialog UI
-
Some answer presets (dialog exit, trade, items take)
Construction system
- Construction class that you can set on map
- Using items-resources when placing construction in the world
- Pre-build snapping for some constructions (Walls, fundament, windows, doors)
- Construction UI (V or C key, do not remember)
- Highlighting constructions with enough resources
Extra
-
Small island map
-
Realtime day-night cycle using default skybox
-
Vehicles
-
Inherits view from controller (FPS or TPS)
-
Toggle headlights
-
Implemented inventory component (you must interact from behind)
-
Main menu
-
Pause menu
-
Graphics settings menu
However, you should know, that I got everything within 150 hours. There are no comments, bugs and some stuff if missing. However, I was trying to make this project as universal as possible, so you can take some different parts (like dialog system) and implement it in your project.
Well. You can check our video that shows all of the features.
Unfortunately, it’s russian, as streams were on russian. Just turn off sound on this one if you do not like Russian
Or simply download project or build.https://youtube.com/watch?v=1Ny2gwR_rSk
This project available for FREE and available under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
That mean you can use it in commercial purposes, but you must credit me if you use my project or it’s parts in your game. It would be great if you also me before releasing a game that uses my project.
Sreenshots!
(all clickable, …heavy 2k)
http://s1.uploadpics.ru/images/Zk5fMwI38M.png http://s1.uploadpics.ru/images/W185fwI38M.png http://s1.uploadpics.ru/images/by95fDI2UG.png http://s1.uploadpics.ru/images/Z1nxXw83LG.png http://s1.uploadpics.ru/images/bJEfQvL2IG.png http://s1.uploadpics.ru/images/WkNLmvU3Uz.png http://s1.uploadpics.ru/images/-JZs7PI2IM.png http://s1.uploadpics.ru/images/byUT7PI2Iz.png http://s1.uploadpics.ru/images/bJHVEvInUz.png
All sources are available here:
https://gitlab.com//stream-survival
Game build:
SurvivalShooter-Build.rar — Yandex Disk
Sources from hosting:
StreamSurvival.rar — Yandex Disk
All 50 parts of live stream in case you need it (All russian without subs):
https://www.youtube.com/playlist?list=PLatwj2blGTZ5M7XL2sT92wrkrMov330FF
Right now I stream Multiplayer Shooter and it will be available soon as well.