Added logo

This commit is contained in:
Tony Bark 2024-04-30 23:18:01 -04:00
parent c8e8d41fb8
commit f12ba1502b
3 changed files with 124 additions and 3 deletions

View file

@ -1,14 +1,18 @@
# zTSO
<p align="center">
<img title="" src="SimTactics.png" width="250" alt=""">
</p>
zTSO (working title) is intended to be an experimental reimplementation of The Sims Online written in Zig. It directly accesses NioTSO's C-based libraries and uses RayLib for the game engine.
## Motivation
Although an established reimplementation project already exists, it has excess legacy baggage due to it originally being based on .NET Framework 3.5 and XNA, causing plenty of performance issues in its current form. Meanwhile, NioTSO's foundation remains solid, even though it was never finished. The client perfectly simulates a loading screen, plus it can render Sims and objects flawlessly.
Although an established reimplementation project already exists, it has excess legacy baggage due to it originally being based on .NET Framework 3.5 and XNA, causing plenty of performance issues and accessibility remains limited in its current form. (Trust me, I've tried). Meanwhile, NioTSO's foundation remains solid, even though it was never finished. The client perfectly simulates a loading screen, plus it can render Sims and objects flawlessly.
The problem is C is, well, C. ¯\\\_(ツ)\_/¯ Accessing NioTSO's code in safer languages like Go or Rust has been historically difficult. While Zig is still in its infancy, the language's FFI is perfectly capable of directly accessing C headers without jumping through hoops. Finally, although Zig itself has not yet hit 1.0, the RayLib game engine is mature. Making it well worth giving it a try.
The problem is C is, well, C. ¯\\\_(ツ)\_/¯ Accessing NioTSO's code in safer languages like Go or Rust has been historically difficult. While Zig is still in its infancy, the language's FFI is perfectly capable of directly accessing C headers without jumping through hoops. Making it well worth giving it a try. Although Zig itself has not yet hit 1.0, the RayLib game engine is mature.
Will this succeed? *I have no idea*. I'm not much of a game developer, but that hasn't stopped me from dreaming. Your help is most welcome.
Will this succeed? *I have no idea*. I'm not much of a game developer, but that hasn't stopped me from dreaming. Your help is most welcome. My goal is to at least create a successful lot server for endless P2P fun.
## To do

BIN
SimTactics.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

117
SimTactics.svg Normal file
View file

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="40mm"
height="40mm"
viewBox="0 0 141.73228 141.73228"
id="svg2"
version="1.1"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="My Simulation.svg"
inkscape:export-filename="My Simulation.png"
inkscape:export-xdpi="317.5"
inkscape:export-ydpi="317.5">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="1.5530359"
inkscape:cy="82.539293"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="false"
borderlayer="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1920"
inkscape:window-height="1001"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1"
inkscape:pagecheckerboard="true" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
<cc:license
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="mat-dgn" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-99.999995,-412.09428)" />
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="logo"
style="display:inline">
<path
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-opacity:1"
d="M 75.357422 1.1816406 A 75.357141 74.642859 0 0 0 0.21679688 71.544922 A 71.428568 71.249996 0 0 1 71.214844 7.8945312 A 71.428568 71.249996 0 0 1 142.64258 79.144531 A 71.428568 71.249996 0 0 1 72.785156 150.33984 A 75.357141 74.642859 0 0 0 75.357422 150.4668 A 75.357141 74.642859 0 0 0 150.71484 75.824219 A 75.357141 74.642859 0 0 0 75.357422 1.1816406 z "
transform="scale(0.93749995)"
id="path822" />
<g
id="g4727"
transform="matrix(0.83037899,0,0,0.87603306,11.198262,11.015365)">
<path
inkscape:connector-curvature="0"
id="path4166"
d="M 66.785714,5.4822834 62.321429,83.517998 105.71429,71.732283 Z"
style="fill:#b3ff81;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path4168"
d="M 62.678571,83.696569 33.035714,71.732283 66.785714,4.5894262 Z"
style="fill:#44aa00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0"
id="path4170"
d="M 62.857143,82.982283 70,134.23228 32.857143,71.375141 Z"
style="fill:#378b00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0"
id="path4172"
d="M 62.857143,83.339426 105.89286,71.910855 69.821429,134.23228 Z"
style="fill:#44aa00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB