Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

[Devlog] Untitled Codepage 437 ASCII Horror Game

A topic by ETHEY the DREAMER created Jan 26, 2020 Views: 1,043 Replies: 22
Viewing posts 1 to 15
Submitted(+2)

Day 1 -

In Tiled, I created all the color combinations for the Codepage 437 font tilesheets. There's 16 colors and for each of them there's 15 possible combinations. (ie  dark blue background, cyan text - black background, white text, etc) It was pretty long and tedious though some might have considered the process "meditative." Unfortunately, I wasn't one of those people. I'm glad it's done though!

4 examples of Codepage 437 color combinations

After that I imported them as tiles to use in creating a spritesheet for the objects/misc in my first scenes(s). They are variations of things found in a house like walls, tables, chairs, floors, refrigerator. This is when I also decided on the colors I'd use for the rooms. In addition I added a few sets of text characters as I had an idea of possibly including a computer screen menu mechanic where the character can view stuff on their computer. 


The first spritesheet (house)


Google maps is pretty amazing. I've decided to base the setting of the game on an actual place and I just took a whole bunch of screenshots while dragging my mouse up and around the location then putting the images together in a collage. It looked mashed up and wild though it's useful for the next steps.


Partial Crop of the full collage.

After finishing the collage, I went back to Tiled and worked on a menu. It's currently a black background with white characters for now though I might change it in the future. (perhaps just in post Jam?) I created a draft of the main menu and then included the basis for the map screen. I'd ideally like to have it so the map indicates where the character currently is on it though it's not a priority. In the back of my mind at all times I'm keeping myself aware that there's limited time in jams and it's more important than anything to just complete a game. In the screen I resized the Google Maps collage, did some color edits, and then pasted it down. I then used the low resolution map that I pasted to compare to the original map so I could draw in the roads and other points. I may or may not keep this version in the game because it does look pretty cool, though my intention was to use it mostly as just a reference for when creating the actual game map. I'm planning on putting more info on the right of it, like a Key or text. To me it kinda looks like it's from some old screen MS-DOS golf game, or NES The Legend of Zelda?


Left is the reference from Google Maps - Right is the game map


Yes, I do have the basic synopsis too. Tons of scribbled notes and flow of how the game should go. There are an ambitious amount of possible endings in my notes however my goal is to stick with just a few for now and implement more down the road. Not bad for a first day!

- Randall

(+1)

oh i love the aesthetic of this

Submitted

Thank you I appreciate that!! :) Ideally I'd like it to have that old MS-DOS look with the sensibility of modern game expectations. Typically I'm more into old school pixel art though using these 8x16 non-square characters is proving to be interesting so far.

Host(+1)

wow im REALLY in love with this aesthetic. using google image layouts as reference is actually pretty clever, though i will say on its own it does look pretty cool too.

Submitted(+1)

Thank you! :D It's amazing the things we can do now that we couldn't do years ago! 

Submitted(+1)

Day 2 -

Not as productive as I would have liked however I recognize that any movement is movement forward.

I spent an hour or so in Unity trying to figure out some Tilemap stuff, most of which was just me scouring the internet and reading the manual solving a dilemma about tile size. The gist of it is that I am using 8x16 pixel tiles however nothing is spelled out to indicate how to make them snap to the grid that way. Every time I tried selecting multiple tiles then drawing them in they'd do this weird overlapping thing. It turns out that when creating the Tilemap object you have to select the parent Grid and edit the dimensions of that. I was stuck on the Tilemap child forever getting nowhere!


Scale X1 - Y2 - Z1

On the plus side I did learn how to properly do the rest of the tilemap stuff in Unity and have some rudimentary basic knowledge of how to approach the rules so drawing in stuff is much easier. It does take quite awhile though slicing a tall sheet into 8x16 tiles. I have an i7 with 8GB DDR3 and a Geforce 1050ti and still I clocked it in at roughly 3 minutes. I'll continue to use Tiled to develop the actual sheets however that actual map drawing seems much easier to stick with the Unity editor, and saves a step.

After that I continued writing extra notes and fine tuning my schedule a bit in Trello. I'm aiming to get the essentials completed first so that I'm "safe" in releasing a complete project by the due date. There are tons of things I'd love to add though many of them will probably have to wait until post release. That being said, I STILL want a game that'll be fun even in an infancy state. In my notebook I prioritized what needs to get done, what seems reasonable to get done, and what I absolutely will have to wait on.

When I went back into Tiled I was beginning to create a spritesheet for characters. Who knew, with the limitations of Codepage 437 characters, how much trouble it could be when trying to create character walk animations?! Since I've never actually done them before I went on the web to research it, downloaded something to use as an example. and I mostly got somewhere, however I may just have to leave it for the moment and revisit it shortly. I'm about 80% okay with what I've done so far and have at least established a working design for the Player. It's side profile instead of 3/4 overhead. Maybe I'll use 2 Player designs for different parts of the game? Sorta looks like the men's room sign. I'll probably just have to add colors?


Not too bad. Debating on the amount of animation frames though.

I'm carving out pockets of time for this week balancing it between the dayjob and hanging with my kids. Luckily my oldest son is super into this stuff and wants to help me, and the youngest is also interested in play testing. I'm certain this will help a lot!

-Randall

Submitted(+1)

I'm excited to see the big bad that makes your game horror! For the sake of scope, maybe just beeline to the sequence of events that will lead to the ending you like the best? And then if you have extra time you could do the others.

Submitted

Definitely, that's a good approach! I'm thinking just do the basic maps and events (even if mostly abridged) and then add the spices at the end.

Submitted(+1)

Day 3-

This was a big step forward.

I've completed another Tile Sheet, this time of the forest. I've included pavement, dirt, water, greenery, items, and some intense, ominous "red tiles." Since most of it consists of relevant, single hand selected tiles I've decided to make a second tile sheet with drawn in objects like trees and such. This will make it easier for me to just drag and drop fully made objects to copy all over the place. Forests have a lot of trees apparently. Who knew?

Top and bottom portions of the first Forest Tile Set.

A lot of research went into character movement and tilemap layers. I'm very happy with the current setup for how the camera follows the player. It unfortunately took and hour or so to figure out why I wasn't seeing the little guy at first. (hint: pay attention to the Z axis. It needs to be a lower number than the things you wish to see) AI imported the giant hi-res Google Map reference image and inserted as the very bottom layer then added some tilemap layers on top with varying layer numbers. I've scaled it to be almost identical to the geographic dimensions of the real life trail, however to compensate for the ridiculous amount of time it would take to walk it (like you would in reality) I made the walk speed a bit faster than the normal human and added a run option when holding down the Shift Key. This will also have a practical use when avoiding... stuff...

I tried Gyazo for recording Gif screens and it was rendering insane glitchy image artifacts, so I uninstalled it and downloaded ShareX instead. A world of difference! So much easier. The capture Hotkeys had to be changed as the defaults overlap with other ones. It won't replace Snip It for screencaps but the Gif component is awesome!

Currently there are 4 layers. The base to walk on, a second to collide with, and two more varying foreground forestry ones. Took me longer than I'm willing to admit to realize I needed to switch from 2D to 3D camera view and set the camera projection to "perspective" not "orthographic." I'm super impressed with how it's working out!


Forestry!

I think I'm on track. There seems to be a lot of grunt work  ahead this week with drawing in the entirety of the map. Then comes implementing some... behaviors.

-Randall

Submitted(+1)

I've also debated the "black as transparency" thing and decided that leaving the black color opaque on foreground layer items fits much nicer into the overall aesthetic of the game.

(+1)

I adore how this looks! Really looking forward to seeing where this goes!

Submitted

I appreciate that! :D To be honest I'm also looking forward to finding out how it turns out lol

Submitted

Day 4-

I'm using Trello. While I did start with a general schedule outline, I've had to modify it a bit to adjust to the scope. Time and time again I've been told that video game production will take much longer than anticipated in almost all cases and I'm anticipating the unanticipated. Some ideas have been filed under future release which is a good thing as I'm being realistic as to what I NEED to be complete and what I WANT to complete.


My penmanship has never looked better

I've implemented 75% of what I've been planning for a player flashlight effect. I still need to get it to rotate based on the player's direction and possibly revisiting the actual design (as well as adding a second, much larger one) however I do feel it's looking great so far. One thing that was a challenge was considering the upper 2 layers of forestry and how that plays into the flashlight effect. At the moment I decided that the top layer will always be present however appear really dark whereas the 2nd to top will be only slightly darker and slightly transparent so the light will shine through... slightly. It'll impact some of the retro effect though not a deal breaker by any means. It's got me debating on tile transparencies again. Ultimately I'm thinking if I do implement tiles with transparent pixels vs opaque black I'll do it for a later release. The flashlight only faces down for now and stays on. Soon it'll will be user toggle-able. AND collision added to the 2nd layer tilemap (ie Fences, Tree trunks, Cliffs, rocks, etc)

Side note: ShareX, no matter what I set it to, would capture gifs no smaller than 3.5mb. Since there's a size limit of 3mb to upload here I found an only gif compression tool: https://ezgif.com/optimize


Bumping into that fence.

I made a few more tilemaps and plan on at least 2+ more. There will need to be some extra structures. It's just going to much easier when painting immense regions.


Trees, Ice, Rocks, Forestry, etc

Finally, I'm going to try to separate maps into segments that connect. While everything works fine when testing in Unity I fear that the game itself will slowdown (and perhaps crash) if there's way too many tiles loaded into it at once. I'd compare the effect to that of a top down Zelda game where the Link gets to the edge of an area and then the next area comes into view. Instead of the scene pausing and the next scene moving into view, I'd consider either a fade to black then fade back immediately, something like that. A quicker transition. I also realized that it would probably be really easy to label each of these scenes which could be called into the map view so that there can be an indicator as to where you are based on said label. (either that or I'm Youtube-tutorialing this map thing, again from Zelda)


Imagine if real life room transitions were like this?

Drawing another few tilemaps, flashlight directions, multiple scenes with transitions are the goals today.

Back to work! 

- Randall

Host(+1)

augh this whole devlog is such a treat! it's sooo cool seeing the player and world in motion and honestly the tilesheets alone are just so neat.... i could look at them all day. i like that you talk honestly about how you're balancing game dev with other things in life! i really believe hobbies (or jobs) like this are best enjoyed when everything else is also balanced with them... overall cool stuff. can't wait to see more!

Submitted(+1)

Thank you J!! This sparks joy! I think I'm partly out to prove something (maybe mostly to myself?) that this sort of thing IS in fact possible with the right amount of enthusiasm, work ethic, creativity, vision, and resourcefulness, despite having a sizable portion of other obligations in life.

"Resourcefulness" at the moment seems to be the biggest key for me. I know sooooooo little about programming in general and I'm just learning now C# and how to use Unity as well as all the other applications I've chosen to create this game. As I told one of my friends recently, there's no real book here to follow. It's up to the maestro to invent the process and tweak it as necessary as it's put into motion. That's the fun part after all, right?

Host(+1)

oh god yeah for sure i think with dev the hardest part is........ learning how to learn? even as a professional job i'm picking up programs or languages i'm not familiar with at all and it's like constantly reading up on things and figuring out what's useful and how to get to the info i need quickest. but yeah im wishing you the best of luck with the life balance!

Submitted

Day 5 -

Choosing my battles!

I'm trying out an idea, changing my course slightly. I've come to the conclusion that computers stress out way too much when there are too many tiles displayed, and what I'm trying to achieve here fits a computer's definition of "too many tiles." So my approach will be to draw out the tiles in Tiled and then export large PNG files to import into Unity. This will serve another purpose, which will be to set up portions of the entire map as separate scenes. At least that's the idea right now. I might scrap part of that too and, although I'd still be exporting the Tiled tilemap "slices" I could still use tilemap layers in Unity with REALLY large tiles.

Following the measurements of my game map I created based off of the reference material, the dimensions are 17x11. At first this still seems a bit daunting however there's so many of these large tile/scenes I wouldn't actually have to create, or at least create anything more than forestry which would be painted out tons of looping trees. There will still be tons of work though I know at least it won't be too daunting.

My process will be as follows: Slice the reference map up. Take each slice, upscale them to the correct resolution based on calculations, then draw my tiles over them in layers, then export them as PNGs layer by layer. In Unity I'll add each exported PNG slice to their respective scenes, setting up layers, and then setting up a few collisions for the player to walk into and create scene transitions. I have a few Youtube tutorials on this subject and hopefully I'll be able to extract what I need to from them to make this work. Items and the other "thing(s)" will come afterwards and hopefully my behaviors I wish to implement will work out as I'd like them to. My limited C# coding experience will probably be challenged the most in this part of the game making process for this project.

Sliced up reference map

(Apparently the uploading images feature is broken at the moment? Imgur it is then!)

The flashlight effect will change into more of a lantern effect, meaning that it'll be a circle around the player rather then a spotlight effect like a flashlight. I would get it working 90% with the changing directions of the player and rotating it on different angles and then struggled with coding the "idle" direction which defaulted as "down." That and for whatever reason the "animation" would work then not work then work again. So a small omni light it is! I can get away with this too because the player sprite is just a head facing forward the whole time anyhow!

-

For bulk painting, I'll need just a few more tilemaps to create with various looping forestry. I'm very happy with what I've been drawing out in testing so far. Since this takes place in winter I figure a sheet or two of bare trees and perhaps grounded leftover dry foliage from Autumn will be all I need there. At some point I need to design a few unique area(s)/structure(s) though I'm not too concerned about it yet. They'll have functional purposes but very basic ones.

By next week I'll work on: Title, pause menu, cut-scenes. and endings (good/bad) with credits will need to be drawn in as well as all the text parts. I got the Codepage 437 font ready to import into Unity and that should work perfectly! After all that, I'll conjure up the BGM/FX which also won't be a big issue as, not to brag but, I've been working in audio production for decades and already have all the necessary tools right in front of me. :D

I'm lucky that there's a slight lull in my dayjob work and I can fit some extra time in to do this work. Kids, don't try this at home! ;)

- Randall

Submitted

Day 6-

I created another large forestry tilesheet, this time of bare winter trees mixed in with the everygreenery. I'll probably do another of just pure sticks to stamp all over as well.


Sticks and Trees may break my knees.

The bulk of yesterday was spent doing some measurement calculations with my google maps reference image. I divided it up into 11x17 slices, converted them in Tiled first into tilesheets (1 BIG tile each) to stamp individually into their respective tilemaps. The process also included initially taking the pngs the low res png slices and resizing them so that they would cover the right dimensions to cut up into 370x370 8x16 tiles. Thankfully I found FastStone Photo Resizer. (The FREE version is perfect!) Such a Godsend for bulk PNG resizing. To save space I up-scaled the files with only 256 colors. Originally I did 32-bit color, however it created 10mb files and ended up taking up more than half a gb. 256 colors is completely adequate for my purposes. How did I figure out that calculation? Well the day before I legit counted them in the original reference map compared to the drawn on tiles. That sure was a cursed day of math problems.

Want to see all the files I had to convert/create?


Each file here took a few minutes out of my day make. Yes. Each.

The fruits of my labor seem to now be presenting themselves. I now can start the painting grunt work.


I swear it'll get much cleaner soon!

Back to the Map Slices.

As stated in the prior log update, I realized that it was good practice to prioritize which ones I'll work on first then find time for the others. I did this by reviewing the Google Maps reference image and create a spreadsheet in Microsoft Excel. (I really dig Office 365) In this I labeled each of them by color. Purple is the highest. Dark Red is essential. Red is mostly essential. Orange is desired but not dire. And white is one big shrug.

Minimalist Abstract Art! Come to my art gallery!

The good news? Only 32 essential Tilemaps to paint with just 6 mostly essential ones! :)

The bad news? "Only" 32 essential Tilemaps to paint with "just" 6 mostly essential ones. :/

Somehow I felt like I was extremely unproductive yesterday and yet I review this log and it does actually seem like I made a lot of progress. Perhaps I'm just nervous at how long it's taking? I have to remind myself that it was always going to take longer than my initial expectations. It's the nature of the beast.

OH and I also picked up a few Udemy Unity courses that were on sale! One was a course on 2D game making by the same guys who I bought the 3D one from from. a FPS/Survival game making course with a focus on enemy (zombie) AI creation, and a third one all about creating classic 2D turn-based RPGS which I wanted mostly for the information about inventory/dialog/etc. $200 courses for about $12 each? Udemy got me again!

-Randall

Submitted

Days 7 and 8-

Friday (7) I reached out for assistance in the Discord group! This might sound surprising but I really have only used the service like two or three times. I can see why Gen Z has zero interest in Facebook. Discord is sooooo much better! Shout out to Solace Eternal and Hellbinder for the assistance! I’m such a noob at this thing that I had no idea what a singleton was and now I do!


I’m posting this from my phone at the laundromat so I don’t have any cool screenshots. Saturday (8) I mostly took a break to hang with the kids and do some errands as well as get inspiration. I actually drove by the actual place I’m basing the game off of. It was actually a pretty foggy evening so I was able to really take in the ambience. I stopped at a arts and crafts store to window shop, pondering the idea of taking up an “acrylic painting on canvas” hobby (like I need more hobbies?!) and in the parking lot I managed to capture this picture on my phone of one of the lights. Cropped and edited, I’ve been using it as a way to keep my head in the right place or the project.


Ohmmmmmm

Today is super bowl Sunday in the states and I can’t roll my eyes hard enough at my lack of interest. Unfortunately I’ve agreed to go to a party and can’t get out of it, not that it won’t be fun but to be honest I’d rather work on the game. I’m bringing my son along and would be having him over tonight so id probably not being doing much work on it anyhow so it’s all good. Plus I’m all about free potluck food. Go “insert team name” team!

Oh yeah this is supposed to be a dev log, not a diary!

I’ve been immersed in the Udemy Unity 2D course about top down turn based RPGs and it’s been helping me to overhaul the overall design of the game and actually making the process much easier! I’m pretty confident now that this will be completed on time as long as one or two more mechanics I’d like to implement will work correctly! *crosses fingers*

- Randall

Submitted(+1)

Day 9 and 10-

AHHHHHHHHHHHH!

*takes a breath*

AHHHHHHHHHHHH!

While I've made a ton of progress on the map designs (4 layers each) I'm STUCK on this code stuff. The latest is that my dialog box appears at start no matter what. I can click it off and it works wonderfully with any of the intended interactions in the game... but it still by default appears right in the beginning. That and it keeps duplicating itself with each scene change, otherwise I'd just say I could display some introduction text in it and move on.

The PNG files are also a bit too big for my liking. According to Unity when I'm rendering the sprites there are definitely over the 4096 max size each, 4 per scene. I realized last night that they aren't set to 16 color, which is the limit of the actual palette I'm using so I'm going to try manually downscale them and hope it knocks the sizes down big time.

Oh hey I almost forgot that today, February 4th, is my birthday! *blows a kazoo* Later I'm going to buy myself some kind of cake and try not to eat the whole thing myself. Perhaps I should just get a single cupcake then?

Anyway, today I'm planning on just exclusively getting the maps done and take on the code later. I'm sure it's something REALLY dumb that I'm missing. All it usually takes is some tiny thing, a few pieces of code, that's making a canvas active when it shouldn't be. Thankfully I know I can create SFX/BGM quickly and have all the text written, as well as the stuff I'm drawing in cut scenes. My strong point will be the visual/audio content.

This coding thing though... I'll have to do more research.

I'm telling myself I got this. It's still very much doable to have a completed game by the deadline. I work best under pressure, as much as my anxiety goes through the roof when it happens. As I say in job interviews, you put me in a lion's den and I'm always somehow escaping in ways no one would think of. Chalk it up to my improv skills that I learned back in school when I'd do my reports in the morning when they were due, printing the pages out in the school library an hour before class, passing with at least B+'s.

My boss is letting me leave early today for my birthday and that will certainly help!

-Randall

Host(+1)

oh hey happy birthday man! i hope you had a good one. these tiled trees are gorgeous. if youre ever getting too stuck on code stuff feel free to swing by the discord again!

Submitted

Thank you! Post jam I'll 100% continue development on this one and use this aesthetic in upcoming projects.  In these past 2 weeks I've learned how to do so much more in Unity and want to take full advantage of all the creative aesthetic ideas I can now implement!

Submitted

Days 11, 12, and 13-

So I've come to terms with the reality, that if this is to be considered a complete game by the game jam deadline it'll be an alpha build. I've done a lot of scoping down though I've also had many, many brand new challenges along the way. It's going to "end" on a cliffhanger and I WILL absolutely do a build and upload it for others to check out.

I also have a name. "The Third Time." It FINALLY came to me. For the majority of the time leading up to this I was using a working titled that referred to the central "antagonist" stuff but I didn't want that to be the thing that players enter the game with. This actual title serves a dual person as it goes with the central story theme as well as the "antagonist" stuff. (which one learns about as they play.) It was like magic in how well it overall fits!

The past few days I've actually been quite busy on this, contrary to the lack of Dev Log updates!

My concern about the file sizes of the maps has been resolved! Initially in order to preserve the art work I wasn't compressing the images which led to large, double-digit MBs (almost triple!) in the PNGs. When I fooled around with the buffer size it would degrade the quality that was unacceptable. Then I tried compressing at low quality it helped tremendously while somehow preserving the integrity/clarity, bringing the file sizes down to single digits for most of them I then discovered Crunch Compression. I checked the box and voila! An average of 300KB with no aesthetic difference! It was bothering me that the literal color palette was only 16 colors and I wasn't even using half of them on most of the files.

Original size 66.8MB

Low Quality Compressed size 16.7MB


Crunch Compression size 393.4KB

Last night (Thursday night) I fired up Ableton Live 10 and I created some creepy BGM and SFX "Instruments" using just audio effects and a free Yamaha DX7 inspired FM Synth VST plugin called Dexed. Contrary to the retro art style, I actually wanted to put together more contemporary sounds/atmosphere to the game and, go figure, this is the best of both worlds! 80s synthesizer technology with a real feel for Horror! Very John Carpenter-esque.

As for the maps? I made soooooooooo many. Each PNG has a resolution of 2960x5920, which equates to over 370x370 Codepage 437 tiles, at 4 layers each. Using a stopwatch I found that the average was 45 minutes to complete each map. Over 10 maps I did Wednesday. Looking back I have to admit that it was probably the most productive day in terms of content.

The light is back and revamped in a rounded lantern form rather than a flashlight. The flashlight might come back at a later date but for now I really like the "circle." A functioning dialog box with activation was implemented as well as a status screen that pauses the game. The current stat information is stock stuff and I'll modify it for this build to show the bare minimum.

For today? I'm finalizing audio, finalizing some cutscenes, finalizing a few more maps, title/logo screens, and of course building and uploading the game before the deadline. It'll be mostly linear and narrative based for now rather than having "gaming" elements, much more like a kinetic visual novel though I'm sure players will appreciate what I've done so far.

Here goes! The final hours!

- Randall