As it's codename may imply, Project Infineon is a procedurally generated dungeon crawler pulling both creative and technical inspiration from games like Spiral Knights, the newest Tekken game, Minecraft, Cube World, and others.
The goal in mind is to create a game that generates most if not all content, including but not limited to terrain, caves/dungeons, mobs, NPCs, weapons, potions, and other items. It will also be possible to add content packs made by other users that may add additional storylines, new game mechanics, etcetera but I'm still on the fence about how far I want to take the API for that.
For my own sake, I'm dumping a list of features that I would like to add, as well as features that I need to add. I'll try and update this as development progresses.
- Stuff to implement:
- 3D rendering library (With ability to color polygons as an alternative to using textures)
- Sound management library
- GUI library
- Code gremlin repellent system
- Extra ideas to implement:
- "Monika" miniboss (Reference to Doki Doki Literature Club)
- System for displaying a random character on the main menu
- Obligatory "Is that a Joe Joe reference?!" (I need to watch Joe Joe's Bizarre Adventure) EDIT: I've now watched it, on season 2
That's about it thus far, I'll update this with some screenshots once I make some progress with the 3D rendering system.
Sounds like a grand, ambitious, fun project! Looking forward to seeing more. :)
If it helps, Rhuan has created a very nice HUD system you might be able to leverage. (see HUDSystem.mjs here (https://github.com/rhuanjl/SphereLibs))
Code gremlin repellent system
First we had eaty pigs
, now we have code gremlins?!
Code gremlin repellent systemFirst we had eaty pigs , now we have code gremlins?!
Well we need something to feed the pig with, right? So that we don't get eaten by it.
So, here's an Update after over a year of dead silence. This post isn't going to be focused so much on the game itself but rather the biggest system that I'll be using in this game, it's name is Candle.Status of the game so far
Candle has made a LOT of progress in terms of functionality since I originally started this thread, It's gone from being a simple vector-based rendering system that could barely render a cube to being able to render 10's of hundreds of TEXTURED
polygons at a time. That said, it is still mostly a WIP system that still lacks a lot of features I want (This includes a particle system but that's a pipe dream for now) I think I'm beginning to reach a point where it may be worth writing some documentation for anyone wanting to use it.
As I type this, the current version of Candle is 0.4.1
Here are the systems implemented so far:
- Out-of-bounds (OOB) culling
- Backface culling
- Rabbit-hole based 3d-point aggregation (I think that's the right word)
- Simple lighting (A single lightsource, rightly named 'sun')
- Voxel world-type (Basically a scene that only supports voxel geometry)
and this is the current to-do list, priority items for version 0.5 are marked with a #
- Implementation of a more traditional world-type (aka a scene)
- This is needed for graphical effects I want to implement, such as particle systems
- # Distance-sorting for polygons
- Needed to properly render polygons in the correct order
- #Rework the system for point aggregation into a separate system, formally known as a pointcloud
- This is needed to improve the efficiency of voxel rendering, currently points are being calculated many times over when they could just be calculated in one go.
- #Implement support for multiple light sources of different colors
- Implement a vector motion system
- The idea is that by defining a motion vector a model or it's one of it's vertices can be made to move, this is also useful for implementing particle and tesselation systems
An update before I go to bed tonight
Official version is 0.4.3!
RGB lighting and pointClouds are implemented, next week I hope to have the time an motivation to work on implementing multiple light sources as well as rewrite modelObject to support pointCloud injection and to rewrite how voxelWorlds are rendered. Here are some screenshots. As usual they're hosted from my personal server.
I've noted that lighting doesn't behave entirely correctly so I hope to fix that as well
This is looking really sweet and I"m very happy to see how far Sphere has come with it's new JS and graphics engines. Keep it up! I might even get back into game dev with Sphere again. My girlfriend wants to work on a game with me, haha.
Official version is 0.4.4 DEVELOPMENT
There's not much added, however I have implemented voxel sorting to get proper rendering orders, however it's SLOW and has exposed a bug regarding how voxels determine visible faces. I'll have to fix this for 0.4.4.1.
An example of real-time voxel re-ordering during rendertime