diff options
| -rw-r--r-- | figs.drawio | 67 | ||||
| -rw-r--r-- | notulen/wk8-1.txt | 57 | ||||
| -rw-r--r-- | research.tex | 67 | ||||
| -rw-r--r-- | time.txt | 11 | 
4 files changed, 200 insertions, 2 deletions
diff --git a/figs.drawio b/figs.drawio index 5082752..7d04108 100644 --- a/figs.drawio +++ b/figs.drawio @@ -736,7 +736,7 @@      </mxGraphModel>    </diagram>    <diagram id="ehgrrEZq6aIl9GSG0JpL" name="Main diagram 2"> -    <mxGraphModel dx="1400" dy="828" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="3300" pageHeight="2339" math="0" shadow="0"> +    <mxGraphModel dx="1615" dy="955" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="3300" pageHeight="2339" math="0" shadow="0">        <root>          <mxCell id="0" />          <mxCell id="1" parent="0" /> @@ -1486,7 +1486,7 @@          <mxCell id="5-8bWhzpOWirDYeo3-Cj-177" value="<font color="#0000ff">Systems</font>" style="shape=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left;html=1;whiteSpace=wrap;strokeColor=#0000FF;" parent="1" vertex="1">            <mxGeometry x="520" y="645" width="70" height="40" as="geometry" />          </mxCell> -        <mxCell id="3iqK6Q-Owgr1maHwc76Q-3" value="" style="endArrow=block;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;strokeWidth=1;endSize=14;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1" source="5-8bWhzpOWirDYeo3-Cj-131" target="5-8bWhzpOWirDYeo3-Cj-106"> +        <mxCell id="3iqK6Q-Owgr1maHwc76Q-3" value="" style="endArrow=block;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;strokeWidth=1;endSize=14;edgeStyle=orthogonalEdgeStyle;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-131" target="5-8bWhzpOWirDYeo3-Cj-106" edge="1">            <mxGeometry width="50" height="50" relative="1" as="geometry">              <mxPoint x="1200" y="240" as="sourcePoint" />              <mxPoint x="974" y="200" as="targetPoint" /> @@ -1495,6 +1495,69 @@              </Array>            </mxGeometry>          </mxCell> +        <mxCell id="V-ZVI1K5bxIVrfWjpJuH-1" value="ParticleEmitter" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;direction=east;strokeColor=#2020ff;" vertex="1" parent="1"> +          <mxGeometry x="1650" y="265" width="160" height="102" as="geometry"> +            <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" /> +          </mxGeometry> +        </mxCell> +        <mxCell id="V-ZVI1K5bxIVrfWjpJuH-13" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" vertex="1" parent="V-ZVI1K5bxIVrfWjpJuH-1"> +          <mxGeometry y="26" width="160" height="17" as="geometry" /> +        </mxCell> +        <mxCell id="V-ZVI1K5bxIVrfWjpJuH-5" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=1;labelPosition=right;points=[];portConstraint=eastwest;fontSize=12;perimeterSpacing=0;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;verticalLabelPosition=middle;" vertex="1" parent="V-ZVI1K5bxIVrfWjpJuH-1"> +          <mxGeometry y="43" width="160" height="8" as="geometry" /> +        </mxCell> +        <mxCell id="V-ZVI1K5bxIVrfWjpJuH-6" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" vertex="1" parent="V-ZVI1K5bxIVrfWjpJuH-1"> +          <mxGeometry y="51" width="160" height="17" as="geometry" /> +        </mxCell> +        <mxCell id="V-ZVI1K5bxIVrfWjpJuH-7" value="Particles" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;direction=east;strokeColor=#2020ff;" vertex="1" parent="1"> +          <mxGeometry x="1870" y="268.5" width="160" height="95" as="geometry"> +            <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" /> +          </mxGeometry> +        </mxCell> +        <mxCell id="V-ZVI1K5bxIVrfWjpJuH-14" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" vertex="1" parent="V-ZVI1K5bxIVrfWjpJuH-7"> +          <mxGeometry y="26" width="160" height="17" as="geometry" /> +        </mxCell> +        <mxCell id="V-ZVI1K5bxIVrfWjpJuH-11" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=1;labelPosition=right;points=[];portConstraint=eastwest;fontSize=12;perimeterSpacing=0;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;verticalLabelPosition=middle;" vertex="1" parent="V-ZVI1K5bxIVrfWjpJuH-7"> +          <mxGeometry y="43" width="160" height="8" as="geometry" /> +        </mxCell> +        <mxCell id="V-ZVI1K5bxIVrfWjpJuH-12" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" vertex="1" parent="V-ZVI1K5bxIVrfWjpJuH-7"> +          <mxGeometry y="51" width="160" height="17" as="geometry" /> +        </mxCell> +        <mxCell id="V-ZVI1K5bxIVrfWjpJuH-19" value="" style="endArrow=block;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;strokeWidth=1;endSize=14;edgeStyle=orthogonalEdgeStyle;strokeColor=#2020ff;" edge="1" parent="1" source="V-ZVI1K5bxIVrfWjpJuH-1" target="5-8bWhzpOWirDYeo3-Cj-106"> +          <mxGeometry width="50" height="50" relative="1" as="geometry"> +            <mxPoint x="1786" y="293" as="sourcePoint" /> +            <mxPoint x="1730" y="130" as="targetPoint" /> +            <Array as="points"> +              <mxPoint x="1720" y="80" /> +              <mxPoint x="884" y="80" /> +            </Array> +          </mxGeometry> +        </mxCell> +        <mxCell id="V-ZVI1K5bxIVrfWjpJuH-21" value="" style="endArrow=open;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1" source="V-ZVI1K5bxIVrfWjpJuH-1" target="V-ZVI1K5bxIVrfWjpJuH-7"> +          <mxGeometry width="50" height="50" relative="1" as="geometry"> +            <mxPoint x="1870" y="546" as="sourcePoint" /> +            <mxPoint x="1780" y="469" as="targetPoint" /> +          </mxGeometry> +        </mxCell> +        <mxCell id="V-ZVI1K5bxIVrfWjpJuH-23" value="0..*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" connectable="0" vertex="1" parent="V-ZVI1K5bxIVrfWjpJuH-21"> +          <mxGeometry x="0.6214" y="-1" relative="1" as="geometry"> +            <mxPoint x="-19" y="14" as="offset" /> +          </mxGeometry> +        </mxCell> +        <mxCell id="V-ZVI1K5bxIVrfWjpJuH-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=diamondThin;endFill=1;strokeColor=#7878f0;" edge="1" parent="1" source="V-ZVI1K5bxIVrfWjpJuH-1" target="5-8bWhzpOWirDYeo3-Cj-170"> +          <mxGeometry relative="1" as="geometry"> +            <mxPoint x="1550" y="377" as="sourcePoint" /> +            <mxPoint x="870" y="647" as="targetPoint" /> +            <Array as="points"> +              <mxPoint x="1730" y="660" /> +            </Array> +          </mxGeometry> +        </mxCell> +        <mxCell id="V-ZVI1K5bxIVrfWjpJuH-25" value="0..*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" connectable="0" vertex="1" parent="V-ZVI1K5bxIVrfWjpJuH-24"> +          <mxGeometry x="-0.9593" y="-3" relative="1" as="geometry"> +            <mxPoint x="-7" y="-6" as="offset" /> +          </mxGeometry> +        </mxCell>        </root>      </mxGraphModel>    </diagram> diff --git a/notulen/wk8-1.txt b/notulen/wk8-1.txt new file mode 100644 index 0000000..7702dfd --- /dev/null +++ b/notulen/wk8-1.txt @@ -0,0 +1,57 @@ +	Documents +		Research Document +			Continue adding research information +		Project plan +			- +		Document standard +			Add updates when needed +		Requirement +			physics sub-requirements -> Jaro write document +			eventmanager sub-requirements -> Wouter write document +			gameloop sub-requirements -> Wouter write document +			ecs sub-requirements +			particles sub-requirement -> Jaro write document +			resourceManager sub-requirement -> Niels write document +			rendering sub-requirement +			script requirements added. +		design document +			[closed] Discussing top-down +			API in design document +		Game design +			- +	Git +		Code standard -> LOEK update +			Show updates +			Code standard with examples not in main? -> niels + 	Environments +		- +	Research (POC) +		research eventmanager -> Wouter POC (goede voortgang) knoppen uitlezen +		[closed] resource manager -> POC check datatype for conversion (na meeting afgerond) alleen implementatie tiled +		start research ui -> wouter +		start research ai +		start research playback -> Max +		start research scenes -> Max +		star research camera -> Niels +		start research savedata -> loek +		start research renderer -> niels (sprite & color & transform) POC simple (SDL_GPU voor efficiency verbetering) +		[closed] start research scripting -> loek +		start research physics Starting POC -> Jaro +			More research about physics +		start reasearch collision detection -> Jaro +		[closed] research ecs -> Loek will add fix for derived class for scripts +		start research particles Starting research -> Jaro (start lifetime. spawning area) +	Design +		Adding design asset class -> niels +		Adding design resource holder -> niels +		How does a game designer make a scene? +	Product +		- +	Test +		- +	Question Bob +		mag de API gewoon een interface worden voor wat onderliggend een ECS is. +	Overig +		Timers voor systems (profiler van systems) + + diff --git a/research.tex b/research.tex index 5dd01a6..7502329 100644 --- a/research.tex +++ b/research.tex @@ -663,6 +663,73 @@ an easier to use interface for the user and improve the efficiency of the physic  because the total forces can be calcualted ones and then applied to all dynamic  entities. +\subsubsection{Components physics} +This is a list that could be needed for additonal phisics components + +\begin{itemize} +    \item Gravity +    \begin{itemize} +        \item Rigidbody (for mass, gravity scale, etc.) +        \item Transform (to modify position based on gravity) +    \end{itemize} + +    \item Directional Force (e.g., wind or gravity in a specific direction) +    \begin{itemize} +        \item ForceComponent (for direction and magnitude of the force) +        \item Rigidbody (for mass and velocity affected by force) +        \item Transform (to update position based on force) +    \end{itemize} + +    \item Collision (detection + handling) +    \begin{itemize} +        \item Rigidbody (for collision detection mode and velocity handling) +        \item ColliderComponent (defines the shape and behavior of the collider, like bounce) +        \item Transform (for object position, rotation updates) +    \end{itemize} + +    \item Player Movement +    \begin{itemize} +        \item MovementComponent (for handling player input and movement speed) +        \item Rigidbody (to handle physics-based movement, like velocity changes) +        \item Transform (to apply movement to the object's position) +    \end{itemize} + +    \item Bounce (elastic collisions) +    \begin{itemize} +        \item Rigidbody (for bounce coefficient and velocity adjustments) +        \item ColliderComponent (to detect collisions and calculate bounce) +        \item Transform (to adjust position after bouncing) +    \end{itemize} + +    \item Rotation (torque or angular forces) +    \begin{itemize} +        \item Rigidbody (for rotational inertia and angular velocity) +        \item Transform (to apply rotation to the object) +    \end{itemize} + +    \item Directional Force (e.g., explosions, pushing) +    \begin{itemize} +        \item ForceComponent (to apply the force in a direction with a magnitude) +        \item Rigidbody (for velocity changes due to the force) +        \item Transform (to update position based on the force) +    \end{itemize} + +    \item Particles (e.g., smoke, explosions) +    \begin{itemize} +        \item ParticleComponent (to define particle effects like lifetime, velocity) +        \item Transform (to emit particles from the object’s position) +    \end{itemize} +\end{itemize} + + +1. Input Processing +2. Run Scripts (custom logic, AI, player input, etc.) +3. Apply Forces (gravity, directional forces, user-applied forces) +4. Calculate Movement (update positions based on velocity) +5. Collision Detection and Resolution +6. Post-Collision Adjustments (e.g., friction, constraints) + +  \subsection{Conclusion}  More components need te be created for both EC and ECS with the diagram provided by @@ -307,5 +307,16 @@ jaro: 2024-10-11 30m weekly update  jaro: 2024-10-14 2h knowledge sharing  jaro: 2024-10-14 1h30m project meeting  jaro: 2024-10-17 1h project discussion +jaro: 2024-10-19 15m weeklyupdate +jaro: 2024-10-20 3h components + physics + collision systems +jaro: 2024-10-23 1h30m samenvoegen collision + physics en rendering +jaro: 2024-10-24 1h20m project meeting +jaro: 2024-10-24 3h30m physics and collision +jaro: 2024-10-24 1h static collision handeling +jaro: 2024-10-25 2h collision handeling and onderzoek collision event unity + + + +  # vim:ft=cfg  |