diff --git a/CMakeLists.txt b/CMakeLists.txt
index abda864d496a767f8331e3c4b871463110335bca..cefaa5ea464f9b300487aaa5f00c0aae56a6c392 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,4 +3,4 @@ project(JaySpaceGame C)
 
 set(CMAKE_C_STANDARD 99)
 
-add_executable(JaySpaceGame main.c)
+add_executable(JaySpaceGame main.c mapgen.c)
diff --git a/main.c b/main.c
index f26b97c98dbdc41322cdf2814786fa85409cef61..05f3b0021edcde1251c344edee604bc7ca13b5c7 100644
--- a/main.c
+++ b/main.c
@@ -1,6 +1,21 @@
 #include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include "mapgen.h"
 
-int main() {
-    printf("Hello, World!\n");
+int main(){
+
+    srand(time(NULL));
+    char MapSize[Size][Size];
+
+    InitialiseMap(MapSize);
+
+    ObjectPlacement(MapSize, 'O', 5);
+    ObjectPlacement(MapSize, 'P', 5);
+    ObjectPlacement(MapSize, 'S', 5);
+
+    MapOutput(MapSize);
     return 0;
 }
+
+
diff --git a/mapgen.c b/mapgen.c
new file mode 100644
index 0000000000000000000000000000000000000000..e32df1cf4d9e0ed25ba0a95eb7d6b73ffee09c76
--- /dev/null
+++ b/mapgen.c
@@ -0,0 +1,35 @@
+//Created and Updated by JAY PATEL 24928598 on 30/04/25
+//Module for map generation
+
+#include <stdlib.h>
+#include <stdio.h>
+#include "mapgen.h"
+
+void InitialiseMap(char MapSize[Size][Size]){
+    for (int i = 0; i < Size; i++){
+        for (int j = 0; j < Size; ++j) {
+            MapSize[i][j] = '.';
+        }
+    }
+}
+
+void ObjectPlacement(char MapSize[Size][Size], char Object, int Count){
+    int Placed = 0;
+    while (Placed < Count){
+        int x = rand() % Size;
+        int y = rand() % Size;
+        if (MapSize[x][y] == '.'){
+            MapSize[x][y] = Object;
+            Placed++;
+        }
+    }
+}
+
+void MapOutput(char MapSize[Size][Size]){
+    for (int i = 0; i < Size; ++i) {
+        for (int j = 0; j < Size; ++j) {
+            printf("%c ", MapSize[i][j]);
+        }
+        printf("\n");
+    }
+}
\ No newline at end of file
diff --git a/mapgen.h b/mapgen.h
new file mode 100644
index 0000000000000000000000000000000000000000..265c0bedaa3f233fea0390bdc07f5e238f471e76
--- /dev/null
+++ b/mapgen.h
@@ -0,0 +1,15 @@
+//Created and Updated by JAY PATEL 24928598 on 30/04/25
+//Module for map generation
+
+#ifndef MAPGEN_H
+#define MAPGEN_H
+//Define grid size
+#define Size 20
+
+//All Functions for Map Generation
+void InitialiseMap(char MapSize[Size][Size]);
+void ObjectPlacement(char MapSize[Size][Size], char Object, int Count);
+void MapOutput(char MapSize[Size][Size]);
+
+#endif
+