Skip to content

Meeting Agendas (Archive)

psieg edited this page Apr 3, 2014 · 1 revision

Mi, 06.11.2013

  • logging policies
  • error handling (exceptions, errorcodes, fatal errors)
    • shouldnt logging and CheckGLError() print line and file?
    • shouldnt OPTION_ERRORS_AS_EXCEPTION print the error too?
  • startup/initialization design
  • mainloop design
  • separation of mesh/state?
    • "Thing"
      • mesh
      • pos
      • orientation (quaternion?)
    • Mesh
      • VertexBuffer
      • VertexArrayObject
      • Shader
    • Alternative: "Thing" + Mesh gets generated in the geometry-shader
  • config files
  • physic "rules" of our voxelworld
    • might include lifepoints of whole cluster, glueforce, mass of voxels, impact, impact caused by explosions of voxels
  • Rename "source" directory to "src"
  • framerate independence
  • unittests
  • upstream push to hpicgs/glow

Di 12.11.2013

  • C++11 features. Who are they and which should we use how. (auto, move semantics, constexpr, noexcept, ...)
  • Which voxeleditor/format to use? (Sproxel)
  • Where and how to store voxel best for performance and accessability (Hashmap isn't ideal imo)
  • cvec3 ucvec3 needed?
  • addVoxel() in Cluster vs insert() in other structures
  • Discuss the WorldTransform class in terms of naming and functionality

Do 14.11.2013

  • re: a few heartwarming words on code-ownership
  • consistent style, either using namespace std or std::
  • csv vs zox
  • design and usage of worldtransform
  • coordinate system

Di 19.11.2013

  • Sprites and Particles
  • WorldTransform retrospective

Do 21.11.2013

Mi 27.11.2013

  • file format / editor
    • Zoxel looses voxels
  • Model size / resolution
  • ClusterStore -> ClusterLoader with cache of just the voxels?
  • Handling of values missing in config or config file not there. Ordered shutdown?
  • WorldTree / WorldTree
  • Property naming
  • (Branch naming)
  • Six-eyes-merge
  • Voxel, PhysicalVoxel, VoxelCluster, PhysicalVoxelCluster, CrucialVoxel
  • chatroom for everyonesworkingoneverything-evenings
  • handling of performance issues
  • too many files of very different responsibility in /world
  • WorldObjects-Base classes such as Ship, Bullet, Hardpoint, Engine, ...
  • Members / Pointers / References
  • move() returns collision

04.12.2013

  • Vote in for codingstyle and stick to it everywhere, all the time. pull request don't go through if violated (?). expand list if you want.
  • placement of curly braces for
  • Classes
  • Functions
  • loops/conditionals
  • indentation of initializers
  • number of lines between preprocessor stuff and c++ code
  • declarations, positioning of reference & and pointer *
  • general naming of members and functions. names have to describe what the stuff does/is, even if the code hasn't been read for weeks and months!
  • camelCase
  • property-prefix
  • How to improve communication? (Moritz buys headset, eg.) What rules apply to fundamental changes?
  • Retro: Big refactoring
  • discuss and improve the architecture (from a long perspective view?)
  • when and where to use pointers, references, const references. Dual getters? (const & and &)
  • z axis still inverted for voxelclusters
  • zoxel looses voxels, shall we contact the devs, maybe they're happy we're using their software and willing to help
  • self modifying voxels
  • AABB ind/inf/we resolved?

10.12.2013

  • render to seperate framebuffers
  • amount of tickets
  • simultaneous movement
  • CollisionFilter
  • Dampening of directional velocity-altering on impact the more rotation is created

18.12.2013

  • Architecture of WorldObject, CollisionFilter, Physics...
  • (?) retro about master builds always, etc (?) (as suggested by @psieg on skype)
  • Shockwaves, issue 65
  • Issue #179
  • Design of voxelexplosions and voxelexplosion-api
  • issue #141
  • proposal: "space-physics" for debris, no dampening

07.01.14

  • Collision of Particles (performance), maybe take particles out of the worldtree at all, check for intersection every few frames, remove if those occure. Draw with different shader.
  • Architecture of WorldObject, VoxelCluster and WorldTransform in relation to Physics, SpecialPhysics, CollisionDetector, CollisionFilter...
  • WorldHandle
  • Center in WorldTransform
  • Merging changes of config into master, overriding git-ignored developer.ini
  • coding style: pointers as bools?
  • One united run to make all code match conventions?
  • PR-politics. How to act if I want to implement a feature based on a pending PR?
  • reviewer want small PRs, with well defined additions
  • devs want to use code they wrote, derive from a as-up-to-date-as-possible master
  • -> faster reviewing (?)
  • -> extra label for PRs that demand asap-merge (?)
  • -> merge-dependencies, PR is not reviewed until previous PR is shipped
  • regular glow updates()? How and when pushback improvements made by us?
  • Another run on input, HUD and cameras.
  • Flight with missing engines
  • Interpolation with deltaSec. Suggestion: on update() don't simply multiply with deltaSec, but update only a maximum of ms. For weapons, this might be well > 100ms, rockets might need < 10ms and so forth
  • switch instancing data from textures to VBOs (http://www.opengl-tutorial.org/intermediate-tutorials/billboards-particles/particles-instancing/)
  • discuss the use of shared_ptr, unique_ptr. where is applicable? everywhere? (worldtreegeodes, e.g.)
  • Discuss voxelexplosions and their generators. differ between explosions that are generated from destroyed voxels and those generated by e.g. rockets on collision?
  • Joystick not working, test different ones
  • saving properties to ini

To Be discussed next:

  • HUD
  • Input
  • Camera

14.1.14

  • weak_ptr / shared_ptr statt Handle
  • remove some Voxel prefixes (VoxelParticle* -> Particle*, ...)
  • reference page for coding convention
  • preferred approach on saving properties
  • AI milestones
  • Scripting
  • sound

Di, 21.01.2014

  • what should be done in march?
  • shipits in advance
  • sound
  • don't use auto?
  • opengl code only triggered (lazy init) by draw() methods?
  • minimal voxel-ui framework for menus?
  • smaller classes with as atomic tasks as possible?
  • shield for playership
  • shader version 150 or 330 and layout(location=n)
  • How can we ensure proper gameplay even when short lags (<5 FPS, e.g.) occur
  • How to speed up particle-intersection-test?
  • Singleton improvements
  • template-based base class for singletons?
  • Switch to Qt-approach with ONE singleton (QApplication) that has all other not-anymore-"singletons" as members
  • postprocessing
  • AimHelper
  • clickable hud-components, how to handle this?
  • Basic statemachine to be used in AI, general gamestate
  • after march
  • what is a scene?

Di, 28.01.2014

  • Basic/Elevated task distinction needed
  • accelerate multiplies with maxAcceleration
  • class comments
  • Scenario Baseclass, clear load, (see scenario pr)
  • define Character, faction, reputation etc.

Di, 04.02.2014

  • Strict vs loose codingconventions
  • class A: public B vs class A : public B
  • Newlines after class members? 2 before protected/private?
  • 2 newlines before protected/private methods after data members?
  • target around ship and aimhelper: zTest or half transparent?
  • crosshair before other hudgets
  • order of hudgets (clicking on the first hudget only)
  • hudget distinction between mouse buttons

Di, 11.02.2014

  • Controls (X / Freelancer)
  • Strict vs loose codingconventions
  • class A: public B vs class A : public B
  • Newlines after class members? 2 before protected/private?
  • 2 newlines before protected/private methods after data members?
  • Code directorystructure
  • unique_ptr + #include + forward decl. + destructor vs. instance for members
  • (or maybe precompiled headers)
  • Sound-system or: how to keep pure gameplaylogic and audio logic separated?

Things to discuss for final milestone

  • Factions
  • Menu
  • Save/Load

Things todo

  • Hudgets
  • Scripting System

18/19.02.2014

  • Which methods should have "shortcuts" / abstraction
    • e.g. ship.position()/orientation(), player.cameraPosition()/orientation(), worldobject.fireAtPoint()
  • Performance / BulletEngine
  • HUD in Oculus
  • Particle Intersection tests #394
  • Factions/ Reputation
  • Ship duration, healing, ...
  • naming of boolean-returning functions (is* prefix?)
  • do you need oo-based scripting?
  • milestones until Moritz leaves, until end presentation, until hand-in
  • Material for voxels (w/wo borders, colorvariations,...) maybe combine with HP?
  • From Patrol to Fight and Back

25.02.2014

  • scripting
  • fsm / scene architecture
  • status instanced worldobjects
  • switch to no dampening, direct speed-accessing by engines and improve boardcomputer based on this
  • review speed
  • Store squads in world
  • hud/menu "on a plane"

11.03.2014

  • scripting
  • menu (status text hudgets)
  • website/video
  • incremental linking
  • white voxels (FFFFFF) are interpreted as engines

19.03.2014

  • ship speed management
  • documentation/website
  • video
  • license text

01.04.2014

organization & milestones

  • milestones until commercial release? (move of repository?)
  • fix&close all issues, build foundation for fluid future work?
  • closing old wiki pages
  • workflow

Architecture

  • Refactoring / the GamePlay thing / disentanglement - Architecture
  • GameElement (derived from Scriptable) for base class of WorldObject, Script, EventPoll, Mission, ... . World takes ownership, WorldComponents (WorldLogic, EventPoller, ...) only use them. Removal happens when GameElements request it by setting a flag, no more removeScript/Poll/WorldObject
  • Bulletengine
  • input
  • missionsystem architecture
    • mission templates on c++ side
    • react on spawnfailure
    • how to compensate long createWorldObject time (general issue) [loading screen, yay! during mission? yeeha!]

Feature

  • gameplay and aiming
  • engine/speed/engineslots
  • item concept. healer, scanner, shield, ...
  • integrate aimhelper and ai
  • faction based ai
  • main menu, ingame menus

Targeting mechanisms. Users may want to

  • poll through all enemies !
  • select nearest enemy ! --> maybe play freelancer ;)
  • poll through all objects
  • select incoming missile?
  • select the enemy the player attacks

10.04.2014

  • vorstellung ideen