a technical blog


leave a comment »

8. March 2013

  • Implemented .map-file loader. Takes plane-defined polyhedral defintions from .map file and convertes them into polygons.

9. March 2013

  • Read CSG (Constructive Solid Geometry) code part of qutils
  • Implemented CSG based on qutils’ approach and Laidlaw paper

10. March 2013

  • Implemented JSON model exporter for Blender (pos, normal, uv-tex-coords)
  • Implemented basic Model Loader/Renderer for March #1GAM

15. March

  • March #1GAM game will be a raycasting based 3D shooter/roguelike. Will be HTML5/WebGL-based. Started coding the framework.

19. March 2013

  • Implemented weapons: sword and pistol

22. March 2013

  • Implemented title screen
  • Implemented Load Screen
  • Implemented Collision detection; still buggy…

23. March 2013

  • Implemented 4 enemy types: bat, snake, wraith and acoylte.

24. March 2013

  • Random Level Generator dev started

25. March 2013

  • Random Level Generator works in a basic version to generate level geometry. World is exported to JSON that can be read/loaded by WorldRenderer again.
  • Problem: Generated levels often have aligned rooms/portals that allows to watch through multiple rooms; leading to quiet some geometry beeing render. What to do? Either place rooms more randomly so there is less alignment of the portals, or make sure generated portals a unaligned as much as possible, or see if placing of obstacles in rooms solved the problem to some extent…
  • Added dat.GUI to control world generator. nice little plugin….

26. March 2013

  • Implemented “Advanced AI”. Enemies now track visibility to player. Each enemy has its own raycasting pass. Expensive?? Still is buggy

27. March 2013

  • Fixed AI bug. The visibility tracking had an error with a wrongly used atan2 of javascript. returns -pi<x<=pi
  • Added entities for health, ammo, treasures and extended Hud accordingly
  • Implemented door-logic and swinging animation
  • Entities now have own shader that does not lighting calculations. surface shader is not usable as we give vertices in world coords. for entitys, the mvMatrix provides the transformations to get from object- to world space. not nicely compatible; espacially because normal is already provided in worldspace…
  • Fixed but with selected Tile that also made the HedgeTile -“destruction” not work properly
  • Framerate is bad; tracked it down to a stupid renderloop. all entities of world are rendered instead of leveraging visibility information for raycaster. Frame rate went back up from 30 fps to 60
  • Implemented basic gamepad support. attack an open door is currently on A; B is for switching weapon. Not sure if duplicate use of A is a good choice; but don’t want to have three buttons. to much…
  • TODO: Firefox does not get onkeydown correctly. instead starts “quick find”
  • TODO: Wall collisions not working 100% yet. sometimes can walk through…

29. March 2013

  • Sound is in. Used stuff from
  • Using 1/distance^2 for sound volume attenuation
  • Added display of collected treasure
  • Improved gamepad handling; but controls are still fuzzy… i feel

Written by 38leinad

March 10, 2013 at 3:45 pm

Any thoughts?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: