When I've started my gamedev journey, I've got a need
to learn working process with 3d models, so I've picked Blender for that.
Overall, I've put around 200 hours into it.
During this time, I've learned whole development cycle of
models, animations, textures and it's implementation into game engine.
The goal was to recreate early Raycast Engine which was seen in Wolfenstein 3D.
The main restriction was that out of all possible graphic library functions
I could have used only output of one pixel to the screen.
It meant that a ton of work were needed to just draw a wall, texture,
sprite or a skybox, to do a first person camera, collision and trigger systems, animations.
The project was entirely done on C with a use of SDL for pixel output and input events.
The engine itselft is very basic and primitive - map is square, walls are perpendicular,
there are no different heights and light levels like seen in Doom.
Despite its primitiveness, this project really helped me to understand
how game engines handle several low-level aspects.
I've created HTML/JS game for outsource project, using Phased framework.
Main project's demand was to work on all possible platforms.
Overall, development took 2 weeks,
including time for JS and Phaser study (it was my first time using JS and web overall),
development of overall game logic and REST API for leaderboard.