project-image

Coding History: 3D from Mode7 to DOOM

Created by Eniko

A video series teaching the code behind the early evolution of 3D.

Latest Updates from Our Project:

Eni's Labyrinth met! Next up: Steam keys for $10 and up backers
about 3 years ago – Sat, Sep 11, 2021 at 07:45:07 PM

Enough pledges have come in to fund Eni's Labyrinth! And I have good news for backers because the next stretch goal, only $3,000 away at 45k, will add polish to the sample game in order to release it on Steam and itch.io, at which point all backers who've pledged at the $10 Patron tier or higher will receive a Steam or itch.io key of their choice!

Please note that this will not change its open source status. It will still be publicly available with the source code licensed as MIT and its assets freely available for commercial use under Creative Commons.

There'll be one more stretch goal after this, and while I won't reveal it yet I want to tease it here by saying I personally find that one very exciting... 👀 


Recommended Kickstarter:

Content Warnings: Depictions of Blood, Animal Bones. Game contains content not suitable for small children.

Investigate an abandoned mansion full of time-bending puzzles and unsolved mysteries in this spooky point-n-click visual novel. Schrodinger's Catgirl is a point-and-click sci-fi mystery visual novel which takes inspiration from other adventure and point and click games, such as the Ace Attorney series and Until Dawn. Explore different rooms and floors in the manor with Lemi and Leon, finding more clues and evidence to build your case.

Support trans creators! A copy of the game is £7 (just under $10 USD).

Coding History hit 40k!
about 3 years ago – Thu, Sep 09, 2021 at 10:20:29 PM

Today the Kickstarter hit $40,000 US dollars. I've said before how wild that is, but I haven't done a post yet about how much the support you've all shown this project, and me by extension, really means.

A lot of people assume that because I run an indie gamedev studio that at least some people have heard of, that I must be relatively financially comfortable. That... hasn't really been the case for the past half decade or so as we've built up Kitsune Games. Whatever money we've earned beyond the absolute bare minimum (groceries, maintenance, utilities) has gone back into the business to pay for development for years now. There have been times where I've worried daily whether we were going to make it through. Suffice it to say I've had my share of powerful financial anxiety over the last 5 or 6 years.

So when I say that by reducing that ever-present fear surrounding money this Kickstarter has been life-changing for me, know that I'm extremely serious about that. I wasn't sure this Kickstarter would hit its base funding in 30 days, and I wouldn't have dreamt in a million years it would go this far. So from the bottom of my heart, thank you.

Anyway, enough of the sappy heartfelt stuff! >_> Now that the Kickstarter is at 40k that means it's less than $2,000 away from unlocking Eni's Labyrinth, a sample retro 3D shooter made in the 3D engine, with open source code and assets. I think that would be really cool, and if you do too, maybe tell some of your friends who might be into it about the Kickstarter?

Recommended Kickstarter:

I think Project Warlock II will be very appealing to the retro 3D shooter enthusiasts among you. It looks incredibly stylish and fast paced, like something you might get if you mashed up Heretic, Quake, and Duke Nukem 3D.

Shift perspectives between three disciples of the first game's  Warlock. Each perfecting their own discipline, with his or hers reasons  to confront the old master. Utilising everything their mentor taught  them, and harnessing the powers of combat magic, pyromancy and dark arts in three explosive episodes. Each episode revolves around a different Warlock with their own skills, perks and arsenal. Featuring a distinct setting, menagerie of deadly monsters, requisite boss hulking in the darkness and more secrets, weapon upgrades, pickups  and jumping, strafing, and spraying trigger happy action that you can shake a lightning staff at.

Level editor unlocked! Eni's Labyrinth next? 👀
about 3 years ago – Tue, Sep 07, 2021 at 12:24:27 AM

Thanks to backers pledging $37,000 the tools stretch goal has been reached! That means a bespoke suite of tools somewhat nicer to use than a smattering of random command line utilities, including a sector based level editor! Thank you all so much for the support, I know I've said it several times but I still can't believe this little project has exploded so much.

One of the things I wanna explore with the tools is maybe some return of voxel objects. This is not a promise but I've been looking at it recently and talking to some people about it and I think it could have interesting potential especially if combined with modern approaches like SDF. 🤔

Mmm, crunchy rectangles

Anyway on to the next stretch goal: Eni's Labyrinth! Because what is an engine without a solid sample game? This is another $5,000 stretch goal, so it'll unlock at $42,000. For those of you who are unfamiliar with it, Ken's Labyrinth was a game made by Ken Silverman, creator of the Build Engine, that felt a lot like a playground for his engine. He explored all sorts of features and interactivity that would later find their way into the Build Engine.

Eni's Labyrinth will be similar in feel but not tech (it's not a raycaster!), an exploration of what the engine is capable of and a starting point for anyone who wants to make a game using the engine, while also being a playable game in and of itself. Its code will, of course, be MIT licensed and available on github, and all the assets for the game (sprites, textures, sound, music, etc) will be available under the Creative Commons license for commercial and non-commercial purposes. I wanna make it all CC0 licensed, which is the most permissive license, but just in case some CC-BY sound gets mixed in I don't wanna promise that ahead of time.

Coding History editor details and more
about 3 years ago – Fri, Sep 03, 2021 at 10:51:19 PM

First, since we hit the 3D engine stretch, I'd like to announce I asked Tom Forsyth if he'd be interested in getting involved, and he said he'll volunteer some of his spare time to the project! You may know Tom from his work at Oculus, Valve, RAD, Intel, and others, and unlike me he also actually worked on software 3D rendering back in the day.

Among other things he's done 3D rendering on the Spectrum, Atari ST, and DOS, has worked with using BSPs for visibility, worked at Microprose on Harrier Jump Jet and one of the F15 games, worked on things for the 32X and the Saturn, made software 3D renderers in the Pentium era, worked on GPUs, and attempted to help make the 32X version of DOOM somewhat less bad.

Suffice it to say, he knows a thing or two when it comes to this stuff and I'm grateful he wants to pitch in.

Continuing on, before I could even write a proper update about how you smashed the 3D engine goal, we're already less than $2,000 from the next stretch goal! That will involve creating tools specifically for the engine, and will be met if we manage to raise $37,000 USD.

The level editor will be a top-down 2D sector style editor, because that type of editor is incredibly accessible for people new to 3D and it plays well with the engine's rendering style. I'd also like to support room-over-room and overlapping sectors properly. And finally, assuming we can make the engine handle both sectors and voxel heightmapped terrain, it'll support that too.

As for format, I want the editor to output a human readable format. This'll probably be json because json is incredibly popular and supports a variety of binary formats as well for those who'd like to ship binary maps instead of big json text blobs.

I also plan to make a utility that can take a DOOM PWAD and convert the data in said PWAD to this text format, so that you could use your favorite DOOM editor to create geometry for the engine. Since the engine isn't a straight up DOOM engine though, and trying to support everything that DOOM source ports support now would take years, anything from the IWADs that your PWAD relies on wouldn't carry over.

Anyway, that's all for now, thanks for reading! If you have any feedback or ideas for the editor or anything else please leave a comment and let me know. :)

Recommended Kickstarter:

Love Notes, by my friend WinterWolves Games, is a supernatural dating sim where you can play as male or female and romance 4 different characters.

Love Notes lets you play as Rachel or Jesse, two musicians of the band Spectral Howl. As time passes, they start to feel strange, their bodies changing into something different after their night of amnesia. Long teeth, unnatural thirst, and a sluggishness during the day. Someone did this to them. But who, and why?

Retro 3D engine stretch goal reached!!
about 3 years ago – Fri, Sep 03, 2021 at 01:53:25 PM

When I was planning the campaign I came up with this stretch goal but I never seriously believed we'd reach it. I figured it'd be a neat way to go from concept to execution, but I never dreamed that I'd raise enough for the $21,000 stretch goal let alone this one!

That is to say, thank you so, so much for your generosity and support. 💜💜💜

I'll do a much longer update tomorrow, but for now I've added the next stretch goal to the campaign page. I will add it here for reference:

$37,000 USD: At this amount of funding I will  create entirely original, bespoke, artisanal tools to use with the  engine. This will include (but not necessarily be limited to) a 2D  sector based level editing tool that saves levels in a human readable  and editable plain-text format designed for the software 3D engine.