diff --git a/new/.gitignore b/new/.gitignore index 8af9124..fe2cd75 100644 --- a/new/.gitignore +++ b/new/.gitignore @@ -22,3 +22,5 @@ package-lock.json npm-debug.log* yarn-debug.log* yarn-error.log* + +.tool-versions* diff --git a/new/package.json b/new/package.json index 8a0d89e..ad832ed 100644 --- a/new/package.json +++ b/new/package.json @@ -11,11 +11,11 @@ "@types/node": "^16.18.97", "@types/react": "^18.3.2", "@types/react-dom": "^18.3.0", - "node-sass": "^7.0.3", "prettier": "3.3.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-scripts": "5.0.1", + "sass": "^1.99.0", "typescript": "^4.9.5", "web-vitals": "^2.1.4" }, diff --git a/new/src/assets/images/2025-game-design-2.png b/new/src/assets/images/2025-game-design-2.png new file mode 100644 index 0000000..dbd8d58 Binary files /dev/null and b/new/src/assets/images/2025-game-design-2.png differ diff --git a/new/src/assets/images/2025-multiplayer-1.png b/new/src/assets/images/2025-multiplayer-1.png new file mode 100644 index 0000000..cde230b Binary files /dev/null and b/new/src/assets/images/2025-multiplayer-1.png differ diff --git a/new/src/assets/images/2025-multiplayer-2.png b/new/src/assets/images/2025-multiplayer-2.png new file mode 100644 index 0000000..f8f8f8a Binary files /dev/null and b/new/src/assets/images/2025-multiplayer-2.png differ diff --git a/new/src/assets/images/2025-multiplayer-3.png b/new/src/assets/images/2025-multiplayer-3.png new file mode 100644 index 0000000..81bf0ce Binary files /dev/null and b/new/src/assets/images/2025-multiplayer-3.png differ diff --git a/new/src/assets/images/2025-multiplayer-godot-1.png b/new/src/assets/images/2025-multiplayer-godot-1.png new file mode 100644 index 0000000..b444577 Binary files /dev/null and b/new/src/assets/images/2025-multiplayer-godot-1.png differ diff --git a/new/src/assets/images/2025-pixel-art-1.png b/new/src/assets/images/2025-pixel-art-1.png new file mode 100644 index 0000000..6329f79 Binary files /dev/null and b/new/src/assets/images/2025-pixel-art-1.png differ diff --git a/new/src/assets/images/2025-swe-2.png b/new/src/assets/images/2025-swe-2.png new file mode 100644 index 0000000..3ab188d Binary files /dev/null and b/new/src/assets/images/2025-swe-2.png differ diff --git a/new/src/assets/images/2025-unity-1.png b/new/src/assets/images/2025-unity-1.png new file mode 100644 index 0000000..fbe485a Binary files /dev/null and b/new/src/assets/images/2025-unity-1.png differ diff --git a/new/src/assets/images/2025-unity-2.png b/new/src/assets/images/2025-unity-2.png new file mode 100644 index 0000000..cdeb8ca Binary files /dev/null and b/new/src/assets/images/2025-unity-2.png differ diff --git a/new/src/assets/images/2025-unity-3.png b/new/src/assets/images/2025-unity-3.png new file mode 100644 index 0000000..0ea4039 Binary files /dev/null and b/new/src/assets/images/2025-unity-3.png differ diff --git a/new/src/assets/portfolio-thumbnails/bluga.png b/new/src/assets/portfolio-thumbnails/bluga.png new file mode 100644 index 0000000..f06c460 Binary files /dev/null and b/new/src/assets/portfolio-thumbnails/bluga.png differ diff --git a/new/src/assets/portfolio-thumbnails/bluga.webm b/new/src/assets/portfolio-thumbnails/bluga.webm new file mode 100644 index 0000000..3daef19 Binary files /dev/null and b/new/src/assets/portfolio-thumbnails/bluga.webm differ diff --git a/new/src/assets/portfolio-thumbnails/traces.png b/new/src/assets/portfolio-thumbnails/traces.png new file mode 100644 index 0000000..fd59d11 Binary files /dev/null and b/new/src/assets/portfolio-thumbnails/traces.png differ diff --git a/new/src/assets/portfolio-thumbnails/traces.webm b/new/src/assets/portfolio-thumbnails/traces.webm new file mode 100644 index 0000000..35c04b5 Binary files /dev/null and b/new/src/assets/portfolio-thumbnails/traces.webm differ diff --git a/new/src/constants/events.tsx b/new/src/constants/events.tsx index 646bb98..4c454d7 100644 --- a/new/src/constants/events.tsx +++ b/new/src/constants/events.tsx @@ -4,18 +4,18 @@ import EventIcon1 from "../assets/event-icons/Upcoming_Events_ProjectDev.png"; import EventIcon2 from "../assets/event-icons/Upcoming_Events_Level1Games.png"; export const MAIN_EVENT = { - name: "GameCraft! 2024", - details: ["Dec 2024", "Game Jam", "7 Days", "50+ Participants"], + name: "GameCraft! 2025", + details: ["Dec 2025", "Game Jam", "7 Days", "50+ Participants"], link: "https://gamecraft.nusgdg.org/", mainIcon: MainEventMainIcon, sideIcon: MainEventSideIcon, - date: new Date("2024-12-14"), + date: new Date("2025-12-14"), }; export const EVENTS = [ { name: "Project: Dev", - details: ["Sep 2024", "Game Project", "1 Semester", "9 Teams"], + details: ["Sep 2025", "Game Project", "1 Semester", "9 Teams"], description: "Show off your new game dev skills by forming a team to make a basic level 1 game!" + " Or you can also choose to join one of the Project: Dev teams if you’re up for a bigger challenge.", @@ -24,7 +24,7 @@ export const EVENTS = [ }, { name: "Level 1 Games", - details: ["Sep 2024", "Game Project", "1 Semester", "5 Teams"], + details: ["Sep 2025", "Game Project", "1 Semester", "5 Teams"], description: "Show off your new game dev skills by forming a team to make a basic level 1 game!" + " Or you can also choose to join one of the Project: Dev teams if you’re up for a bigger challenge.", diff --git a/new/src/constants/gamecraft.tsx b/new/src/constants/gamecraft.tsx index 86a0ef3..50e95e4 100644 --- a/new/src/constants/gamecraft.tsx +++ b/new/src/constants/gamecraft.tsx @@ -1,2 +1,2 @@ export const GAMECRAFT_URL = "https://gamecraft.nusgdg.org/"; -export const GAMECRAFT_YEAR = 2024; +export const GAMECRAFT_YEAR = 2025; diff --git a/new/src/constants/games-portfolio.tsx b/new/src/constants/games-portfolio.tsx index 590eade..ccf17f2 100644 --- a/new/src/constants/games-portfolio.tsx +++ b/new/src/constants/games-portfolio.tsx @@ -1,9 +1,13 @@ +import Thumbnail2025 from "../assets/portfolio-thumbnails/traces.png"; +import Thumbnail2024 from "../assets/portfolio-thumbnails/bluga.png"; import Thumbnail2023 from "../assets/portfolio-thumbnails/sliggy_the_slime.png"; import Thumbnail2022 from "../assets/portfolio-thumbnails/the_runic_conjecture.png"; import Thumbnail2021 from "../assets/portfolio-thumbnails/A2wJky66rH_cover.png"; import Thumbnail2020 from "../assets/portfolio-thumbnails/kitten_mitten_cover.png"; import Thumbnail2019 from "../assets/portfolio-thumbnails/memory_lanes_cover.png"; import Thumbnail2018 from "../assets/portfolio-thumbnails/cogworks_cover.png"; +import Webm2025 from "../assets/portfolio-thumbnails/traces.webm"; +import Webm2024 from "../assets/portfolio-thumbnails/bluga.webm"; import Webm2023 from "../assets/portfolio-thumbnails/sliggy_the_slime.webm"; import Webm2022 from "../assets/portfolio-thumbnails/the_runic_conjecture.webm"; import Webm2021 from "../assets/portfolio-thumbnails/A2wJky66rH.webm"; @@ -21,6 +25,23 @@ type PortfolioItemsType = { }; export const portfolioItemsInfo: PortfolioItemsType[] = [ + { + link: "https://taromilk.itch.io/traces", + videoSrc: Webm2025, + imgSrc: Thumbnail2025, + buttonLabel: "GameCraft 2025", + heading: "Traces", + description: "An unsettling hidden object game.", + }, + { + link: "https://siderealmaple.itch.io/bluga", + videoSrc: Webm2024, + imgSrc: Thumbnail2024, + buttonLabel: "GameCraft 2024", + heading: "Bluga", + description: "A puzzle game about using bombs that cycle between 1,2 and 3 power to reach the end goal.", + }, + { link: "https://kzfsg.itch.io/sliggy-the-slime", videoSrc: Webm2023, diff --git a/new/src/constants/workshops.tsx b/new/src/constants/workshops.tsx index 20638d5..1e8f42d 100644 --- a/new/src/constants/workshops.tsx +++ b/new/src/constants/workshops.tsx @@ -1,6 +1,6 @@ -import unity1 from "../assets/images/yt-unity-1.webp"; -import unity2 from "../assets/images/yt-unity-2.webp"; -import unity3 from "../assets/images/yt-unity-3.webp"; +import unity1 from "../assets/images/2025-unity-1.png"; +import unity2 from "../assets/images/2025-unity-2.png"; +import unity3 from "../assets/images/2025-unity-3.png"; import unity4 from "../assets/images/yt-unity-4.webp"; import godot2 from "../assets/images/yt-godot-2.jpg"; import godot3 from "../assets/images/yt-godot-3.jpg"; @@ -9,6 +9,14 @@ import ece1 from "../assets/images/yt-ece-1.webp"; import ece2 from "../assets/images/yt-ece-2.webp"; import music1 from "../assets/images/yt-music-1.webp"; +import pixelart1 from "../assets/images/2025-pixel-art-1.png"; +import gamedesign2 from "../assets/images/2025-game-design-2.png"; +import multiplayer3 from "../assets/images/2025-multiplayer-3.png"; +import multiplayer2 from "../assets/images/2025-multiplayer-2.png"; +import multiplayer1 from "../assets/images/2025-multiplayer-1.png"; +import multiplayerGodot from "../assets/images/2025-multiplayer-godot-1.png"; +import swe2 from "../assets/images/2025-swe-2.png"; + type WorkshopItem = { title: string; duration: string; @@ -20,87 +28,84 @@ type WorkshopItem = { export const WORKSHOPS: WorkshopItem[] = [ { - title: "[GameStart 2023] Unity Workshop (Week 1)", - duration: "1h 24m", + title: "[GameStart 2025] Unity Workshop #3", + duration: "2h 22m", category: "Unity", - description: "NUSGDG teaches the basics of the Unity game engine!", - link: "https://www.youtube.com/watch?v=fGL5vCjmYHg&list=PL4Yjq9yLt-GgmQ7UUOEoAJdAuaGyzI2nN", - image: unity1, + description: "NUSGDG teaches the basics of the Unity game engine! (Part 3)", + link: "https://www.youtube.com/watch?v=knKDVjNoCvs", + image: unity3, }, { - title: "[GameStart 2023] Music Workshop (Week 1)", - duration: "2h 10m", - category: "Music", - description: "NUSGDG teaches the basics of music in games!", - link: "https://www.youtube.com/watch?v=WoTkTVByQbY&list=PL4Yjq9yLt-GgmQ7UUOEoAJdAuaGyzI2nN", - image: music1, + title: "[GameStart 2025] Pixel Art Workshop", + duration: "1h 50m", + category: "Pixel Art", + description: "Learn how to draw pixel art with NUSGDG!", + link: "https://www.youtube.com/watch?v=J2FkVbig_Bc", + image: pixelart1, }, { - title: "NUS ECE-GDG Game Development Beginner Workshop Day 1", - duration: "1h 59m", - category: "Godot", - description: - "A beginner game development workshop hosted by NUSGDG in collaboration " + - "with the Electrical and Computer Engineering (ECE) Club and Undergraduate Student Council (USC).", - link: "https://www.youtube.com/watch?v=_s2NFMLw_pQ&list=PL4Yjq9yLt-GgmQ7UUOEoAJdAuaGyzI2nN", - image: ece1, - }, - { - title: "NUS ECE-GDG Game Development Beginner Workshop Day 2", - duration: "2h 2m", - category: "Godot", - description: - "A beginner game development workshop hosted by NUSGDG in collaboration " + - "with the Electrical and Computer Engineering (ECE) Club and Undergraduate Student Council (USC).", - link: "https://www.youtube.com/watch?v=wN8FZhlIgdc&list=PL4Yjq9yLt-GgmQ7UUOEoAJdAuaGyzI2nN", - image: ece2, + title: "[GameStart 2025] Unity Workshop #2 08/26/2025", + duration: "1h 58m", + category: "Unity", + description: "NUSGDG teaches the basics of the Unity game engine! (Part 2)", + link: "https://www.youtube.com/watch?v=bbgkGat_bIg", + image: unity2, }, { - title: "[GameStart 2023] Godot Workshop (Week 2)", - duration: "1h 48m", - category: "Godot", - description: "NUSGDG teaches the basics of the Godot game engine!", - link: "https://www.youtube.com/watch?v=0FFksyBZsAg&list=PL4Yjq9yLt-GgmQ7UUOEoAJdAuaGyzI2nN", - image: godot2, + title: "[GameStart 2025] Game Design Workshop #2 27/8/2025", + duration: "2h 3m", + category: "Game Design", + description: "Introduction to Game Design workshop (Part 2)! Learning about Player Agency in games.", + link: "https://www.youtube.com/watch?v=Iho3r74qwKw", + image: gamedesign2, }, + { - title: "[GameStart 2023] Unity Workshop (Week 2)", - duration: "1h 55m", + title: "[GameStart 2025] Unity Workshop #1 8/22/2025", + duration: "1h 43m", category: "Unity", description: "NUSGDG teaches the basics of the Unity game engine!", - link: "https://www.youtube.com/watch?v=Deu0LE9oErM&list=PL4Yjq9yLt-GgmQ7UUOEoAJdAuaGyzI2nN", - image: unity2, + link: "https://www.youtube.com/watch?v=Mdaw64fvsvg", + image: unity1, }, { - title: "[GameStart 2023] Godot Workshop (Week 3)", - duration: "1h 55m", - category: "Godot", - description: "NUSGDG teaches the basics of the Godot game engine!", - link: "https://www.youtube.com/watch?v=8UJTDPMlJ-M&list=PL4Yjq9yLt-GgmQ7UUOEoAJdAuaGyzI2nN", - image: godot3, + title: "[Level 2 Workshops][Unity] Multiplayer Games Week 3", + duration: "1h 47m", + category: "Unity", + description: "Learn how to make multiplayer games with Unity! (Part 3)", + link: "https://www.youtube.com/watch?v=HX5X3THkkh4", + image: multiplayer3, }, { - title: "[GameStart 2023] Unity Workshop (Week 3)", - duration: "1h 59m", + title: "[Level 2 Workshops][Unity] Multiplayer Games Week 2", + duration: "0h 54m", category: "Unity", - description: "NUSGDG teaches the basics of the Unity game engine!", - link: "https://www.youtube.com/watch?v=TRAxiG4qpHI&list=PL4Yjq9yLt-GgmQ7UUOEoAJdAuaGyzI2nN", - image: unity3, + description: "Learn how to make multiplayer games with Unity! (Part 2)", + link: "https://www.youtube.com/watch?v=5LY7hztVN7U", + image: multiplayer2, }, { - title: "[GameStart 2023] Godot Workshop (Week 4)", - duration: "2h 1m", + title: "[Level 2 Workshops][Godot] Multiplayer Games Week 1", + duration: "0h 49m", category: "Godot", - description: "NUSGDG teaches the basics of the Godot game engine!", - link: "https://www.youtube.com/watch?v=7grGwDIVZ38&list=PL4Yjq9yLt-GgmQ7UUOEoAJdAuaGyzI2nN", - image: godot4, + description: "NUSGDG teaches how to make multiplayer games with the Godot game engine!", + link: "https://www.youtube.com/watch?v=_3cqY4eKNcY", + image: multiplayerGodot, }, { - title: "[GameStart 2023] Unity Workshop (Week 4)", - duration: "2h 13m", + title: "[Level 2 Workshops][Unity] Multiplayer Games Week 1", + duration: "1h 51m", category: "Unity", - description: "NUSGDG teaches the basics of the Unity game engine!", - link: "https://www.youtube.com/watch?v=z_gPXeS7n9Q&list=PL4Yjq9yLt-GgmQ7UUOEoAJdAuaGyzI2nN", - image: unity4, + description: "Learn how to make multiplayer games with Unity! (Part 1)", + link: "https://www.youtube.com/watch?v=eUIdIOS2zkc", + image: multiplayer1, + }, + { + title: "[Level 2 Workshops][Unity] SWE in Games Week 2", + duration: "1h 16m", + category: "Unity", + description: "Learn how to apply software engineering principles to game development with Unity!", + link: "https://www.youtube.com/watch?v=PNFDx8lkGnk", + image: swe2, }, ];