diff options
author | Loek Le Blansch <loek@pipeframe.xyz> | 2024-10-30 12:11:32 +0100 |
---|---|---|
committer | Loek Le Blansch <loek@pipeframe.xyz> | 2024-10-30 12:11:32 +0100 |
commit | 8b67565db3ff84ca31d9fffa228240d11a0a467c (patch) | |
tree | efa46025399930f38880c970d4c39986334b49f8 | |
parent | 8be364d25a0d90ee264cc39b3bf9ef61d4c1c339 (diff) | |
parent | a6e138a4c7846f52f1de5c4b2fa848a0839fc3b4 (diff) |
Merge branch 'jaro/research' of github.com:lonkaars/crepe-docs
-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 |