Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Schala Zeal

Pages: [1] 2 3 ... 12
Fan Art / Chrono Trigger voiced by industry VAs
« on: May 09, 2021, 12:19:26 am »
So a fellow named Mr. Tim met me on Twitter and turns out he's been kinda nutty about assembling voice-over "dream teams." He's lately been using his connections and got some pretty good results from his friends in the industry.

updated video:

General Discussion / My projects from game dev school
« on: September 02, 2020, 01:05:36 am »
So I started a vocational game dev school today, and I've been trying to get a head start on lessons so I already have two games on my I'll post more as I progress through the school year. So far, they have me starting on a 2D game engine called Construct 3, which I can certainly appreciate for what it is. Both these games are in-browser, but I could look into a desktop port if enough demand is present.

Also, note, the school gives higher grades for creativity, so... I've been doing that to the extent it hardly resembles the lessons, hehe.

Balls of Space: Lesson told me to make Pong. While I followed the instructions, I also deviated and made a strange Spaceballs parody soccer game. Version 1.3 adds AI to player 2 and mouse support!

Binny Schuut: The first lesson started me with Spacewar, which is a simple shoot the other spaceship game. I took that, and made... whatever the fuck this is.

Lunar (Zoo)Lander: I just had to bastardize Lunar Lander. This is NOT, in fact, a game for ants.

Tanks for Nothin': You like tanks? Great! You'll find this annoying lol. Now with AI!

Pickle Track 10: This one was difficult to screw with, I'll admit. Gran Trak 10....

Unnamed Metroidvania: Instead of doing a Mario clone like the platformer lesson says, I'm going the extra mile and making a metroidvania. For this, I am using some original art/music from Crimson Echoes, and crediting them as needed now that I know how to do multiple screens. I still struggle with pixel art and I love the work done on CE, so I figured I'd put them in a non-commercial non-IP-infringing game. Even dropped $25 on a silly voice pack one of my favorite Twitch streamers made, for this.

Also, I glanced at what's ahead. Upcoming lessons are platformer (Mario), Snake, and adventure (Zelda), among others. I have a pretty good idea of what I want to do for some of them:

- Adventure/Zelda: Either turn-based combat or if I have enough of a spritesheet, the early Tales real-time side scrolling combat system

Kajar Laboratories / Heightmaps
« on: May 25, 2020, 08:15:30 pm »
My isolation project is to 3D model Zeal for VRChat or something similar (yes, VRChat has competition but it's not as popular) and for the most part, I can manage it. I'm almost done with the skyway stations, I have a good idea for the Mammon machine, but what I'm struggling to approach is how to do the actual landmass of Zeal, and possibly select surface landmasses like Mt. Woe and such.

Normally, this would be done by generating it from what's called a heightmap. A heightmap is a bird's eye view of some landscape and the height info is represented by black, white, and shades of gray in between. (black = lowest height, white = highest) Though, I could do it the hard (hopefully not necessary) way of 3D sculpting it.

As amazing as the fan works of Chrono Trigger I've seen are, I've never seen anyone make anything remotely similar to a heightmap of either the Zenan continent, Zeal, whatever. The CT Resurrection crew I'm sure is pretty hit or miss. I'm posting this in the hopes someone can point me to some resources.

I'd really appreciate any effort and by the time this is all done, I hope it pays off for a lot of fans to have a nostalgic place in VR to hang out, role-play, whatever. For now, here's a render of the in-progress skyway hub

Kajar Laboratories / Corruptions (Chip Furnace, or otherwise)
« on: February 16, 2020, 02:34:10 am »
Corruptions are a game phenomenon popularised by Twitch streamer and YouTuber Vinesauce. They aren't quite ROM hacks, but consist of randomly changing the data of either the ROM or RAM of the game. In the earlier days, it was common to corrupt a copy of the ROM file, but it's largely been deprecated in favor of corrupting the game's RAM in real time. This is done most commonly with a tool called Real Time Corruptor (RTC) by either auto-corrupting as the game plays or "manually blasting" the RAM, given various settings such as intensity, algorithm, which memory domains to affect, and engine. The Corruption Wiki is a good starting guide for this, as the UI can be pretty intimidating.

With the rise in use of RTC, a YouTube channel called Chip Furnace has recently gone up, who post daily submissions of corrupted game music (APURAM) for amusement. Though, corruptions can be visual and mechanical aspects as well, but it can cause seizures for those prone to epilepsy.

Attached, I've included my first APURAM blast test on Corridors of Time. Hopefully more will come.

General Discussion / Vinesauce viewers
« on: February 12, 2020, 02:28:16 am »
I wanna take the initiative to welcome those coming in from Vinesauce's Twitch stream

Characters, Plot, and Themes / If I had lost Janus, but survived...
« on: February 09, 2020, 04:22:32 am »
Something's been on my mind lately. For the past few years, I've gotten into Bandai-Namco's 'Tales of' series, and my first game of that was Tales of Berseria. The plot consists of a 16 year old girl named Velvet Crowe who is a very doting big sister to her younger brother, Laphicet. However, the world they live in is plagued by a demon curse, and one night, to call upon the gods to combat this curse, their brother in-law, Artorius Collbrande, kills Laphicet at this religious shrine. This turns Velvet from a loving, kind girl into a vengeful, cold edgelord, who is cursed to become a demon herself and who, at least initially, seeks to use anyone and anything to get revenge on Artorius, often then throwing that thing or person under the bus.

I've been drawing parallels between Velvet and Laphicet, and me and Janus: One loses his older sister and grows up to become a vengeance seeking demon, only seeing others as a means to forward that vengeance. Likewise, the other loses her younger brother and becomes afflicted by a demon curse, also only seeing others as a means to forward her vengeful agenda. However, Janus was bitter and introverted, while Velvet was a lot like me, except a bit more headstrong, not so meek.

My point is, considering this, if it had played out where Janus was lost, and I ended up in the middle ages, would I have become like Velvet and Magus all the same: losing everything I loved, only to become a brooding edgelord with a taste for vengeance who throws almost everyone else under the bus?

Fan Art / Lavos (one eyed tick), you wanted a 3D Mammon machine?
« on: February 08, 2020, 07:53:54 pm »
Here's what I have so far, but am considering redoing it less destructively.

Chrono Cross Modification / LZSS decompression... am I doing it right?
« on: September 21, 2017, 07:18:56 pm »
So I recently got into a programming language called Rust which is a systems language that's supposed to strongly prevent any possibility of memory leaks, data races, etc. Out of just randomness, I followed the wiki explanation of Chrono Cross's LZSS algorithm, and used the '2540.out' file from the CD to test this on.

I compared it to decompression via Purple Cat Tools and the decompressed files don't match. The decompressed file mine outputs is 4765 bytes  as opposed to PCT's 2160 bytes, where the decompressed size info in the file header says 2048. The contents of my file are mostly null (0 value) bytes with some data here and there while PCT outputs a file filled with data.

I noticed PCT also bitswaps in 512-byte chunks (512 * 8 = 4096, so I'm guessing the data following header is the initial buffer content?), which wasn't mentioned on the wiki, so I did the same, with... not much luck. Below is the entire code for the decode function + the test. It should be similar to C/C++.

Code: [Select]
extern crate bitstream_io;
extern crate bit_reverse;

use bitstream_io::{BitReader,LE};
use bit_reverse::ParallelReverse;
use std::io::Cursor;

pub const BUFFER_SIZE: usize = 4096;
pub const LIT_SIZE: u32 = 8;
pub const PTR_SIZE: u32 = 12;
pub const VAL_SIZE: usize = 4;
pub const VAL_ADD: isize = 2;

pub fn decode(data: &[u8]) -> Vec<u8> {
let mut ic = Cursor::new(&data);
let mut br = BitReader::<LE>::new(&mut ic);

let mut header: [u8; 4] = [0; 4];
let _ = br.read_bytes(&mut header);
assert_eq!(&header, b"sszl");

let dsize =<u32>(32).unwrap_or(0) as usize;
assert!(dsize != 0);

let unknown =<u32>(32).unwrap_or(0);

        // bitswap every byte past the header
let mut rdata = vec![0u8; data.len()-12];
for i in rdata.iter_mut() {
*i = i.swap_bits();
let mut ic = Cursor::new(&rdata);
let mut br = BitReader::<LE>::new(&mut ic);

let mut outbuf = vec![0u8; dsize];
let mut buf: [u8; BUFFER_SIZE] = [0; BUFFER_SIZE];
let mut idx: usize = 0;
while let Ok(is_val) = br.read_bit() { // TL;DR: while not end of the data
if is_val == true {
buf[idx % BUFFER_SIZE] =<u8>(LIT_SIZE).unwrap();
idx += 1;
} else {
if let Ok(offs) =<u16>(PTR_SIZE) { // compiler tends to choke without the if-let guard on this part
if let Ok(size) =<u8>(VAL_SIZE as u32) {
let sz = (size as isize) + VAL_ADD;
for i in {
outbuf.push(buf[(offs as usize)+(i as usize)]);


fn dec_test() {
use std::fs::File;
use std::io::prelude::*;

let test_data = include_bytes!("2540.out");
let mut f = File::create("test.dat").unwrap();
let ucmp = decode(&test_data[..]);

General Discussion / Any Blender experts here?
« on: February 18, 2017, 11:19:14 pm »
I'm having some problems with a freshly imported model from Steam.

So, the other day the Twitch streamer Vinesauce introduced 'Kronos Trigger.' Apparently, one of his fans took the English version of the rom, ran it through several different language translations, then back to English. The result is an absolute gem! IPS patch attached

Fan Art / Went all out for mother's 57th this year
« on: July 06, 2016, 11:39:57 pm »
Not sure how I would model Halation, so I just used a glossy torus with rainbow blur texture.

Kajar Laboratories / Squaresoft MDL format Assimp extension
« on: June 25, 2016, 01:48:55 am »
Well lately I've been working hard on what I dub the Kajar Engine, which is a reimplementation of the Chrono Cross game engine similar to how there's open 3rd party engines of Doom, Morrowind, etc. It occurred to me while I was writing to code for parsing the model files that perhaps I could make a subproject: an extension for Assimp that gives it the ability to load these models. Assimp is a C/C++ code library that can import/export a couple dozen 3D model formats (FBX, OBJ, Blender, etc etc) that I was delighted to find out has an API for writing additional format loaders.

I'm currently using both the Chrono Cross MDL wiki page and MDL Blender import Python script as a reference, along with learning how to extend Assimp by studying its Valve model import code. I might do the .MESH file format as well. That looks simpler.

Chrono Compendium Discussion / Cleaning up spam
« on: June 19, 2016, 05:48:39 pm »
I've seen a huge rise in spambots on the forum, and seeing as hardly anyone's around, I was hoping, given my almost decade-long residency here, to apply for mod position? I have a big OCD about cleaning up spam. I used to do it on wikis all the the time

Chrono Cross Modification / Chrono Cross engine reimplementation?
« on: June 18, 2016, 12:11:32 pm »
So I've been noting the various "open source engine implementations" for various retro games like Doom, Quake, ES3, etc and it made me consider that the Chrono Cross game discs essentially have the script, dialogue, model, texture etc data in readable formats. Of course, there remains various bits and pieces of unknown data, particularly in the ATIM texture format and 4 bytes of the LZSS compression format.

My C++ skills have vastly improved these past months, and so after studing the OpenMW source code, I'm eager to put it to the test and perhaps learn more in the process, particularly in the area of OpenGL or perhaps the new Vulkan API.

From what I've gathered, I think so far these libraries/dependencies will help:

- SDL 2: For video, audio management
- OpenSceneGraph: For its higher level OpenGL components
- Boost: Endianness management, cyclic buffers, dynamic bitset, etc

If successful, this engine may allow for modding the game in a way similar to Bethesda games or Doom. Perhaps a Radical Dreamers mod using CC data? Of course, a copy of Chrono Cross will be required on the end user's part. This is, after all, just an engine that makes use of it.

Pages: [1] 2 3 ... 12