Giter Site home page Giter Site logo

exostin / expirydate Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 2.0 122.98 MB

City builder game set during a climatic calamity with a hint of fantasy. Created in a team of ten as part of a nationwide game development championship among high school students – “Turniej Trójgamiczny”

C# 100.00%
csharp unity

expirydate's Introduction

Welcome :)

I've been curious about how things work basically since I could understand spoken language. Disassembling electronic toys, watching tech, engineering, science and biology TV shows.

At the age of 10, I was tinkering around with video editing software, modding games, fixing other people's PC issues, messing around with Linux (elementary OS), and trying to pick up C++.

I started learning programming seriously when I was 13 years old, when I picked up Python. When I was 16, I've created my first Unity game. Got an apprenticeship and created another game, where I've practiced OOP in C#. Then two in an international team, under the lead and mentoring of an experienced developer (currently a Microsoft Software Engineer), where I've also learned to freely use Git, along with it's conventions. Then I went to another apprenticeship and made an another game :D.

At the age of 18, I participated in a national game development championship among high school students, in a team of ten, as a game developer and the team leader. We've created a city building game with turn-based combat system, set in a fantasy climatic calamity setting. We participated in workshops and mentoring sessions, where we were introduced to design patterns (such as state machine, memento, factory, command, observer), clean code, and SOLID principles by professional game developers from the Pyramid Games studio.

Soon after finishing that, I've picked up another apprenticeship, where I made my first ASP.NET Core MVC web app for tracking watched movies and series. Not long after which, I got my first job as a Junior .NET Developer in a company providing tailored solutions, and SaaS targeted at e-commerce.

In the meantime, pursuing the path of a geek, I've learned and became attached to the vim key bindings; gone down the OpSec rabbit hole (online security, privacy and anonymity); as well as into one on FOSS and philosophy surrounding it, picking up lots of knowledge along the way, and switching to GNU/Linux as my main OS!

I attended Code Europe, the largest tech conference in Poland, where I've got the opportunity to listen to highly experienced people teach interesting programming concepts. Thanks to which I've got some insight into concepts such as: CQRS, event sourcing, container orchestration, automated testing approaches, code architecture (event-driven, event mesh, service mesh), and more!

Done some things with

My Skills

On my to-do list

My Skills

expirydate's People

Contributors

cap0sta avatar exostin avatar kubagp1 avatar mackovdesign avatar michaelcebula avatar peporek avatar vitagunia avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

expirydate's Issues

Szablon interfejsu w citybuilderze

  • Zasoby (może z grafikami)
  • Poziom zadowolenia niewolników (może Progress bar?)
  • Przycisk następnej tury
  • UI musi tłumaczyć graczowi jakie zasoby zostaną wygenerowane w następnej turze
  • UI musi pokazać graczowi które budynki można ulepszyć (myślałem nad jakimś outlinem na modelu budynku), ile będzie kosztował upgrade i co się zmieni (jak porównywanie ekwipunku w wiedźminie); całe to pokazywanie co da upgrade można by dać w okienku pokazującym po najechaniu na budynek.

Implement saving citybuilding

Save method on cbm (citybuildingmanager) is not implemented. Should be compatible with existing Load method. Should be called before transition to battle scene (in cbc (citybuildingcontroller))

Please wait for pr #78 is merged before working on this.

Menu

  • Tytuł
  • Start, exit
  • Settings

Artwork postaci: shooter

  • Postać
  • Obrazek dla każdej z czterech umiejętności (dogadaj się z game designerami jakie są te umiejętności)

Pinterest moodboard

Korzystając z serwisu Pinterest (lub podobnego) stwórzcie moodboarda lub tablicę inspiracji przedstawiającą co najmniej 50 grafik z gier i innych mediów, które przedstawiają poglądowo jak może wyglądać Wasza gra. Chodzi nam o inspiracje estetyczne dla działki Experience Design

Stworzyć 2 grafiki promujące grę

Wstęp do testów A/B. Stwórzcie 2 wersje grafik promujących grę. Wersję A pokażcie dziesięciu osobom, wersję B kolejnym dziesięciu. Poproście, by każda z tych osób oceniła okładkę gry w skali 1-10. Następnie wyciągnijcie średnią z ocen. Tutaj wklejcie link do obu tych okładek wraz z końcowymi ocenami.

Plan pracy nad grą

Rozpiszcie plan prac nad grą i wgrajcie go na wybrany dysk w chmurze. Link do pliku podajcie poniżej (pamiętajcie o dobrych ustawieniach udostępniania!)

Ekran walki

  • Licznik tur
  • Miejsca dla postaci i przeciwników
  • Lista umiejętności
  • Wygrana/przegrana w zależności od HP

Postacie na zasadzie ScriptableObjects wypełniane w Unity i których dane są potem wczytywane do gry na podstawie ich ID

Artwork dla przycisków

  • Domyślny stan przycisku [Przycisk_TargetGraphic.png]
  • Podświetlony (po najechaniu myszką) [Przycisk_Highlighted.png]
  • Wciśnięty przycisk [Przycisk_Pressed.png]
  • Wyłączony przycisk [Przycisk_Disabled.png]

np. Play_TargetGraphic, Play_Highlighted, Play_Pressed, Play_Disabled [.png]

Zaprogramować system zarządzania zasobami

  • Logiczny obiekt trzymający informacje o obecnie posiadanych zasobach
  • Wyświetlanie obecnych zasobów w lewym górnym rogu ekranu
  • Kupowanie budunków rzeczywiście odejmujące zasoby

Make battle menu fights clearer to the player and general improvements

  • Make it clear whose turn it currently is - player's or enemy's
  • Make a clear sign which character turn it is (for example the character is glowing)
  • HP in form of a bar instead of text
  • Remove "end turn" button to minimise clicks needed
  • Rearrange battle screen layout
  • fix anchors and characters placement
  • add target and ability selection indicators
  • add improved artwork
  • improve scriptable objects
  • add more if checks to ensure correct game flow
  • let medic heal his allies
  • add a damage floor and heal roof limiters
  • update background
  • vanish abilities when they shouldn't be used
  • make character buttons uninteractable before choosing an ability
  • make some delays before turns and character actions

Saving settings

  • Make settings persist. (this one i broke accidentally before)
  • Add restore defaults option.
  • Remove redundancy (prefab)
  • Pause menu should return to its original state when reopened
  • Settings should be loaded and applied once when the game starts (and when player changes settings), not every time player opens the settings menu

Papierowa wersja gry

Stwórzcie papierową wersję gry, którą robicie. Zbudujcie planszę, pionki-postacie, jeśli to możliwe zaimplementujcie zasady do wersji papierowej. Całość wydrukujcie i stwórzcie papierową symulację Waszej gry wideo. Poniżej wklejcie linki do 5 zdjęć papierowego prototypu.

Fix battle menu

  • the fight doesn't end when all opponents are dead
  • when the opponent has less than 0 hp you can still attack him

Implementacja maszyny stanów

"Stwórzcie podstawową implementację przełączania się między poszczególnymi etapami gry (menu, opcje, gra, pauza, różne poziomy). Prześlijcie link do podstawowyego builda gry lub nagrania wideo pokazującego przełączanie)."

Ogólne:

  • Gra, menu, pauza
    Battlesystem:
  • Tura gracza, tura przeciwnika

Architektura projektu gry i game flow

Rozpiszcie architekturę projektu gry oraz game flow gracza w grze. Pliki z tymi rozpisanymi rzeczami wrzućcie na wybrany dysk w chmurze. Link do pliku podajcie poniżej (pamiętajcie o dobrych ustawieniach udostępniania!)

Aktualizowanie danych umiejętności względem aktywnej postaci

Gdy jest tura określonej postaci, to przyciski umiejętności na dole powinny zostać zaktualizowane (nazwa umiejętności, jej obrażenia, jej ikonka)

Ma to wyciągać dane z obiektu scriptableobject, tak jak jest to zrobione z kartami postaci (używany są do tego skrypty z folderu DisplayObjectData)

Dodać muzykę do gry

Audio source

Muzyka w tle w:

  • Znaleźć placeholdery potrzebnych dźwięków
  • Menu startu
  • w city builderze
  • w menu walki
  • Każdy przycisk ma swój dźwięk kliknięcia

Dev vlog

Nagrajcie dev vloga o długości max 3min. podsumowującego Waszą pracę w styczniu. Film wrzućcie na Youtube, a poniżej wklejcie do niego link. Najlepsze nagrania mogą pojawić się na social mediach Turnieju i/lub na vlogu.

Znaleźć muzykę

  • Muzyka do menu
  • Muzyka do walki
  • Muzyka do citybuildingu
  • Dźwięk klikania przycisków w menu

PS pamiętaj że jeżeli bierzesz coś z internetu to potrzebujemy na to licencję
(np jeżeli jest CC BY 3.0 to musimy zamieścić wzmiankę o autorze utworu)

Ekran startowy

  • Start, wyjście
  • Ustawienia
  • Zapamiętywanie ustawień na następne wejście do gry

Make models for buildings

  • Main camp
  • Titan Generator
  • Energy Generator
  • Water Generator
  • Food Generator
  • Fighter School
  • Shooter School
  • Drone School
  • Medic School
  • Robot School

We may need multiple models for upgrades.

We also need

  • some placeholder for user to click on when they want to build eg. their first Energy Generator (maybe some plus like that but in 3d)

plus

Koncept budynków

Koncept jak mają wyglądać budynki (elementy, kolory, jakieś inspiracje)

Tydzień 1:

  • Główna baza
  • Mini baza
  • Budynki jednostek (Shooter, Fighter, Medyk, Mech, Dron)

Tydzień 2:

  • Kopalnia tytanu
  • Generator energii
  • Szklarnia

Tydzień 3:

  • Budynek mieszkalny
  • Mur
  • Budynek filtrowania wody [to już zrobione przez Olgę]

Layout postaci w menu walki

Postacie ułożone:

  • Poziomo?
  • Pionowo?
  • w siatce 2x2?
  • na ukos?

Potrzebujemy prostego rysunku jak mają być rozmieszczone postacie, oraz rozmiar obrazu postaci (np 100x500px etc)

image

image

Możemy się też zastanowić czy na pewno chcemy używać czterech postaci, czy może nie np 3 żeby zwolnić trochę miejsca

image

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.