My Experience with The Maze Project


Iyamu matthew2023/07/07 08:23
フォロー
My Experience with The Maze Project

The purpose of doing this project was to create a game in 3D using ray-casting. I worked on this project. The tasks of this project were done over the course of 3 weeks as pertaining to designing and rendering. Ray-casting is technique that transform a simple form of data into a 3D projection by tracing rays from the view point into



Why the Maze Project?



We’ve all enjoyed playing realistic games on our phones and computers at some point. I know I have, with my most recent obsession being Temple Run 1 and 2 (a little outdated, I know). Ironically, I never was really interested in trying my hand at game development. However, when the opportunity to learn and build presented itself I took it. How nice it would be to understand the back-end of the games we play! I think it makes me view these games in a whole different light.



To make this maze, I used ray-casting to draw the walls, utilizing LodeV’s method of using vectors to calculate ray length. By default the maze uses textures but textures can be disabled on execution. The maps are defined in 2D arrays in text files, which are parsed when passed as an argument to the maze executable. 0 represents open space, all other integers are drawn as walls. Additionally, we used C language and the SDL2 library to render and add the textures.



To navigate through the maze, the following controls can be used:



 W : move forward



 S : move backward



A : rotate camera left



D : rotate camera right



Q : strafe left



E : strafe right



F : toggle full-screen



ESC : quit maze



Wall Collision is a feature we implemented which doesn’t allow camera rays to pass through the walls.



Technical Challenges



Learning SDL2 was quite a challenge for me and required a lot of dedication from me to understand. Working together with my teammates and discussing it helped me massively.



Also ensuring we have installed the correct and necessary SDL2 packages to make the window was a difficulty my entire team faced and had a challenge trying to fix.



Lessons Learnt



The greatest lesson I learnt from this project is something I already mentioned in the beginning of this blog post: I was able to develop a game.



For the first time I came across terms like ray-casting and SDL2, yet I was able to understand them and work with them successfully. I wouldn’t say I am a pro yet but this was surely a stepping stone to becoming better at game dev.



If there’s anything this project taught me about myself, it’s that I am willing to explore and venture into unknown territories. To reiterate, I never imagined I would bother to know anything with regards to game development, but I took on this project head on without hesitation and put my best foot forward. It definitely paid off. I am more open to working on more games and learning deeper concepts after this.



I think I can say this without batting an eyelid, game development is very fun despite what I believed prior to working on this project.

シェア - My Experience with The Maze Project

Iyamu matthewさんをフォローして最新の投稿をチェックしよう!

フォロー

0 件のコメント

この投稿にコメントしよう!

この投稿にはまだコメントがありません。
ぜひあなたの声を聞かせてください。