Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions new/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,5 @@ package-lock.json
npm-debug.log*
yarn-debug.log*
yarn-error.log*

.tool-versions*
2 changes: 1 addition & 1 deletion new/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
},
Expand Down
Binary file added new/src/assets/images/2025-game-design-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added new/src/assets/images/2025-multiplayer-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added new/src/assets/images/2025-multiplayer-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added new/src/assets/images/2025-multiplayer-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added new/src/assets/images/2025-pixel-art-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added new/src/assets/images/2025-swe-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added new/src/assets/images/2025-unity-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added new/src/assets/images/2025-unity-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added new/src/assets/images/2025-unity-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added new/src/assets/portfolio-thumbnails/bluga.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added new/src/assets/portfolio-thumbnails/bluga.webm
Binary file not shown.
Binary file added new/src/assets/portfolio-thumbnails/traces.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added new/src/assets/portfolio-thumbnails/traces.webm
Binary file not shown.
10 changes: 5 additions & 5 deletions new/src/constants/events.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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.",
Expand All @@ -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.",
Expand Down
2 changes: 1 addition & 1 deletion new/src/constants/gamecraft.tsx
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
export const GAMECRAFT_URL = "https://gamecraft.nusgdg.org/";
export const GAMECRAFT_YEAR = 2024;
export const GAMECRAFT_YEAR = 2025;
21 changes: 21 additions & 0 deletions new/src/constants/games-portfolio.tsx
Original file line number Diff line number Diff line change
@@ -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";
Expand All @@ -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,
Expand Down
131 changes: 68 additions & 63 deletions new/src/constants/workshops.tsx
Original file line number Diff line number Diff line change
@@ -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";
Expand All @@ -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;
Expand All @@ -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,
},
];
Loading