TempleOS General -

CrunkLord420

not a financial adviser
Local Moderator
True & Honest Fan
kiwifarms.net
In honor of the 2nd anniversary of Terry Davis' death I'm working on a game for TempleOS. I want to invite others to do the same. I've had a week or so head start so let me share some advice.

VMware is basically a requirement. Virtual Box has significant performance issues and QEMU has bizarre mouse+keyboard interactions (at least on my machine). VMware also has the best PC speaker. You can transfer files on and off your TempleOS box by either mounting the VM disk image to the host (vmware-mount, kpartx, etc) or using the Mfa utility that comes with Shrine (I've only been able to get serial to work properly in QEMU, something to do with the interrupts I think). I encourage you start with the stock build of TempleOS for a true experience, I ended up rolling my own distro that I'll probably release later.

Terry did a great job documenting everything, you'll end up spending time in the F1 menu but once you get the hang of the keybinds it's really not that bad. I encourage you to look at his demo games, maybe just start by modifying an existing one. HolyC is comparable to regular C, and terry's "standard library" includes most of the things you'll want, although sometimes things are oddly named.

Terry uses mostly DOS/Windows-style keybindings, but here's some non-obvious/important ones to get your started:
Shift+ESC: Abort+Close
ESC: Save+Close
Ctrl+Alt+X: Kill Task
Ctrl+Alt+T: New Term
Ctrl+Alt+N: Next Term
Alt+H: Tile Horizontally
Alt+V: Tile Vertically
Alt+M: Maximize
Ctrl+R: Sprite Menu
Alt+A: Autocomplete
Ctrl+D: File Navigation Menu
Shift+Ctrl+F: Recursively search for strings
Shift+Alt+A: Disable Autocomplete
Shift+Ctrl+FKeys: Jump to Definition
Alt+Backspace: Undo

There's no hard date for entries into the gamejam. Terry died on August 11th and that's when I plan to release my game.

Here's some inspiration
 
Last edited:

CrunkLord420

not a financial adviser
Local Moderator
True & Honest Fan
kiwifarms.net
Shout out to trapexit for adding #TempleOS:matrix.kiwifarms.net to the templeos.org website. Obviously not an endorsement but it's cool to be listed on the main domain.

Also cross-link to BlazeitFgt for the sake of thread completeness: https://kiwifarms.net/threads/blazeitfgt-a-templeos-game.74700

I'm currently playing around with setting up a 6DOF camera system. It would be cool to add like a X-Wing style section to BlazeItFgt, or maybe it should be it's own thing. Whatever, I just want to learn more math.
 
Last edited:

Jeff_the_Thriller

Sogg Mead Mugg - like Shrek but drunker
kiwifarms.net
It's not very user friendly but God drew this neato picture in the bottom of my screen to obstruct my view.
gods os.png
 

CrunkLord420

not a financial adviser
Local Moderator
True & Honest Fan
kiwifarms.net

CrunkLord420

not a financial adviser
Local Moderator
True & Honest Fan
kiwifarms.net
News Update, International Edition

Rendello made a nice tutorial, definitely useful for beginners

ZenithOS has been removed, and now re-added to GitHub for the 3rd time

Chinese person makes video about TempleOS and Terry, partial translation of Fredrick's documentary

Spanish person makes a video explaining CIA NIGGER

Vietnamese person makes short tutorial on TempleOS, featuring patriotic American wallpaper

Spanish person makes a short overview on TempleOS

I'm still working on my alternative 3D graphics implementation


=Mostly Done, but not final=
-Perspective Projection
-LookAt-based Camera for FPS rendering/controls
-Quaternion-based Camera for 6DOF (aka Descent-style) rendering/controls
-F64-based 4x4 matrix
-Model*View*Projection pipeline

=In Progress=
-New optimized drawing pipeline with
-Improved lighting system with support for pre-computed normals

=Maybe=
-SIMD (SSE2) support for math functions

Divine Justification
"I use fixed-point in Circle(), Ellipse(), Mat4x4MulXYZ(), Mat4x4MulMat4x4New() and others. God says I might want to change to float." --Terry, PersonalNotes.DD:308

"SIMD in Mat4x4MulXYZ?" --Terry, PersonalNotes.DD:306

"GrFillTri0() with both GrHLine() and GrVLine() don't match in ::/Demo/Games/CastleFrankenstein.HC causing wall spot pixels." --Terry, PersonalNotes.DD:113

"I'm a little bit unhappy with the graphics package, in terms of perfecting the Temple" --Terry, https://ia800600.us.archive.org/31/items/TerryADavis_TempleOS_Archive/videos/2018/2018-03-25T01:51:01+00:00 - Terry Davis's broadcast (X9IAVas7uzo).mp4 @ 9:36 / https://youtu.be/LTiRWN5T0Gw?t=578
 
Last edited:

CrunkLord420

not a financial adviser
Local Moderator
True & Honest Fan
kiwifarms.net
Everything in TempleOS is purely software-based rendering. It's part of it's appeal IMO. I don't see TempleOS or even ZenithOS ever getting hardware accelerated graphics.
 

hundredpercent

kiwifarms.net
Everything in TempleOS is purely software-based rendering. It's part of it's appeal IMO. I don't see TempleOS or even ZenithOS ever getting hardware accelerated graphics.
Well, if you need some atrocious 200MB monstrosity it's obviously off the table. But if you could JIT into some kind of generic GPU assembly that would be kinda cool. I don't think that's possible though.

If you want to use the really cool CPU features like AVX512 that's pretty ugly too, since you either need to add another implementation for old CPUs or just require everyone to have recent Xeons.

Any Biblical precedent for this?
 

CrunkLord420

not a financial adviser
Local Moderator
True & Honest Fan
kiwifarms.net
SSE2 should be universally supported on every x86-64 CPU ever made (starting with the Athlon 64). AVX was added later, so supporting it would require a run-time (or compile-time since it's JIT) CPU check and I don't know if that's supported anywhere. I don't really know the status of running TempleOS natively on a brand new system in 2020. It was written for a pre-UEFI world and I don't know what impact that's made.
 

CrunkLord420

not a financial adviser
Local Moderator
True & Honest Fan
kiwifarms.net
Top