Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

[DEVLOG] Sweatshop "Sunshine" : A Totally Ordinary Game About Production

A topic by Huggetz created Jan 28, 2023 Views: 1,116 Replies: 43
Viewing posts 1 to 33
Submitted (2 edits) (+1)

Yello! Huggetz here.
https://huggetz.itch.io/sweatshop-sunshine

Never participated in gamejams, but I always wanted to, and so I am! 

I'm working as a solo dev, mainly because I dont have any friends and I don't enjoy working in teams. 

So this game will be set in my fantasy-tech world during the post-apocalypse time period. One of the only standing cities on this whole continent is called Govnograd, and it is just like Shrek - meaning it has multiple layers (think Midgar from FF7 but more layers), and is surrounded by magica-induced force-field.

You are an entrepreneur from the Slumy Slums - the lowest layer of the city, that is subject to occasional outbreaks of plague, cholera and constant crime. You have just recieved your illegal business permit from the city's official mob boss, and you want to open a sweatshop to mooch off of famous brands. One problem is: you don't have any workers or money to hire them, because you just purchased a building for the sweatshop. After you approach the building and see that it is a destroyed orphanage you have a wonderful idea - unpaid child labor! 

So you take your trusty gun and go off to the mean streats of the Slumy Slums, to rescue poor children from the horrors of the slums (trust me, working in a sweatshop is a much better option for them)


I am the only dev on this project, which means in order not to go crazy I will have to limit the scope of my game a bit. I would also try to create pixelart in a monotone color palette, maybe in grayscale. 


I will try to make daily updates for the game here, and also try to finish game on time :D

Submitted

Trying to make some tiles for the game. Considering the fact I almost never touched top-down style I think I'm doing quite OK :D

Also there's the character. I will try to use him as the reference for the tiles, cuz even at this point doors are way too smol. 

May re-think coloring a bit later, but for now this works ok

Submitted

Wellp, the development process going reeeeeal slow, mostly cuz im trying to finalize the art-style and give it more of a run-down kinda look

Submitted

Also should I do something with the character so it stands out more or is it ok like this?

(+1)

I think it may be too early to tell, but it does look a little lost in the background imo

Submitted(+1)

maybe experiment with a white border around the character or something? Obviously right now it's hard to say for sure, but as the game develops and the scenes end up more filled out with objects and stuff it may get too noisy to see them easily. You could change their colour pallet a little too maybe? Just random ideas, feel free to ignore them haha

Submitted

Yeah I just tried it out in Unity, character does get a bit lost in the background when moving

Submitted

Changed up Player's colors a bit, also started working on the movement system. 

Plan to animate hands/head/body separately with an override controller, but not sure how to deal with shooting  animations since I only need to make them for the hand... Maybe will put them on a separate controller and play animation on shooting... Or make gun float around character without arm attached, but that sounds a bit meh


Submitted(+1)

Changed char's colors back but increased contrast, now it looks waaaay better on the ground!

Submitted(+1)

Much better! :D Can't wait to see how things progress beyond this!

Submitted

Mostly worked on animations and controls today, animated the character using transforms for head/arms objects.

This is actually a pretty nice way to add animations cuz I can always add some flavor with changing sprites, and I won't have to re-wire anything :D


Submitted (1 edit) (+1)

Actually had to re-make my movement system like 5 times to get the feeling  I wanted uz I'm an idiot :D


Also I feel like this devlog is starting to look like some crazy man's notes xD

Submitted

I'm enjoying it, while I bang my head on the wall trying to nail down an idea your DevLog has been encouraging to watch develop! Keep it up!

Submitted(+1)

Easiest way to create shooting mechanics in my opinion!

Animator in unity is reeeeal strong with this kinda stuff 

Submitted (1 edit) (+1)

Finished character controlls! Now 'tis time to add some actual gameplay to this thing :D


Submitted

Working on enemy AI. 馃槑

Dunno how to implement pathfinding tho, never done that before... 馃槄

Check out NavMesh, it's super super easy.  You'll primarily only find tutorials for 3d, however there's a 2D version that's been a huge help in mine so far.  https://github.com/h8man/NavMeshPlus  

Submitted

Finished enemies' attack logic! Didnt have any prefabs at first, so for now they just spawn more or themselves (kinda cool mechanic to consider tho)

Now working on this enemy's attack effect


Submitted

Wellp the shooting system is working great! 

So let me sum things up.

At this point of development, by the end of the second day I have: 

  1. Mostly finalized art-style
  2. Player's controls
  3. Enemy behaviour scripts
  4. Depression

Now here's what I still have to make:

  1. Finalize and make level creation
  2. Create the sweatshop, the orphan collecting system, and also all the other systems for the sweatshop, like making products and expanding the shop.
  3. Main menu and starting cutscene
  4. MORE ENEMIES MORE COOL STUFF MORE SPRITES MORE CONTENT

Hope I'll be able to complete at leas a working demo by the end of this jam :D


Submitted(+1)

The progress you've made by day 2 is amazing to see! Keep it up! 

You may already be aware of this but a heads up to avoid a headache down the line with enemy design;
You may wanna look into enemy silhouettes. Basically if you make all of your enemy sprites a single colour and put them side by side do they all look the same? If so it means the human brain will struggle more to tell them apart when playing, and as different enemies will have different AI I imagine recognising what's around you and deciding what needs attention more is important :) A really good example to look at is Doom 1/2 where no matter how messy the screen gets you can easily tell almost every enemy type apart due to their shape :D

Submitted

Thanks, thats a very good point! I'll def have to think about enemies' coloring a bit more :D

Submitted

Also here's some effects I added using shadergraph!

 

Submitted

Today mostly toying with some grid creating logic to make grids where I can reference any cells I need. Y'know, for random level generation and stuff :D

Never done that before, so its goin pretty slow xD

Here's what I have rn: 

using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 
using UnityEngine.UI;  
public class PointSetter : MonoBehaviour 
{          
public GridLayoutGroup _grid;     
public RectTransform _gridRectTransform;     
public Vector2 _gridSize;     
public float _gridSizeMultiplyer;     
public float _cellSize;     
public GameObject _cell;     
public List<gameobject> _cells;     
public List<vector2> _cellPositions;      
private void Awake()     
{         
SetPoints();         
Debug.Log($"{_gridRectTransform.rect.size}");     
}     
public void CellSetter()     
{              
}         
public void SetPoints()     
{         
_grid.cellSize.Set(_cellSize, _cellSize);         
Vector2 gridSize = _gridSize * _cellSize * _gridSizeMultiplyer;         
_gridRectTransform.sizeDelta = gridSize;         
int cellcount = (int)(gridSize.x/ _cellSize * gridSize.y / _cellSize);         
Debug.Log($"{cellcount} cells");         
for (int i = 0; i <= cellcount; i++)         
{             
GameObject newCell = Instantiate(_cell, _grid.transform);             
_cells.Add(newCell);             
_cellPositions.Add(newCell.transform.position);         
}         
_grid.enabled = false;         
for (int i = 0; i < _cells.Count; i++)         
{             
_cells[i].transform.position = _cellPositions[i];         
}     
}      
public void OuterLayers()     
{         
var LeftestColumn = _cells[0];         
var TopRow = _cells[0];         
var RightestColumn = _cells[(int)(_gridSize.x * _gridSizeMultiplyer)];         
var BottomRow = _cells[(int)(_gridSize.y * _gridSizeMultiplyer)];      
} 
} 
Submitted

Aaaand I pretty much wasted my time on this one. Started over :D

Submitted (1 edit) (+1)

Finalized grid creation 

It stores all the corner cells separate, so I can easily use it as a base for ground or level generation, or pretty much anything I want 

At least I hope so, havent tried that yet

Submitted

Yep, the grid's working fine!


Submitted(+1)

Heyo! 

End of day 4, didn't make a lot of progress cuz had to make a trip for IRL stuff, and then slept half of the day cuz I havent gotten any (I mean at all) sleep for 48 hours.


Making Building creation logic based on the grid system. Finalized it for rooftops, but it still has troubles with walls. 

I mean I could just used prefabbed buildings, buuuuuuuuut I'm an idiot.



Submitted

Doesn't seem like an 'idiot' thing to me! Sure there's an easier option but isn't part of the fun of a Jam to challenge yourself? :D

Submitted(+1)

Wellp, buildings now build themselves! 

Time to actually make level generation now xD


Submitted (1 edit)

that's where you'll spend most of your time, fine tuning the algorithm 馃榾

Submitted(+2)

Wellp rooms are spawning now. Gotta fill them out a bit, put some decorations and enemies, also player's spawning/exit point aka sewer manholes.



Submitted

Also added object spaw-in to the game. 

Now I have to add enemies to the scene,  some orphans to collect after you finish the level, and also a way to enter/exit the level.

Submitted

Wellp, by the end of today I have:

Character controls, 

Enemies most basic AI (just follow and shoot, didnt develop it much tbh)

Room creation, including the sewer manhole through which character enters/exits the level, and almost completed placement system for enemy spawners. 


I have to make: 

Enemy loot,

Orphans you collect after you clear the level

Sweatshop itself with at least the most basic crafting + expanding of the shop

More enemies


I also seem to have some stack overflow errors every once in a while, def have to figure out what to do with those :D


Submitted (1 edit)

Also Unity just screwed me with the scene saving and now I lost the game's scene. 

I mean It's made of prefabs and completely generates from scatch each time so I hope it won't be difficult to rebuild :D



Edit: Actually aside from lights and post-processing everything got fixed with me placing 1 prefab...

Submitted

Added the most important thing - orphan collection. 

Also: 

  • inventory system to save materials/items you make in your sweatshop/ all other stuff when I add it
  • Spawning enemies using placeable spawners (like that garbage box on the GIF)
  • Interaction with the level exit point

Game starts to get more of a bullet-hell vibe, so to support the fast-paced gamestyle I added this little arrow that points to closest enemy, and then towards doors/manhole when you clear out the level.

Now I have to add:

  • Sweatshop scene
  • Item crafting at a sweatshop
  • Some stores to buy stuff
  • More enemies
  • Opening cutscene and menu
  • Music and sounds


I'm also not sure how to handle level changing. Each room is pretty easy to clean so I want each run to be made up of different rooms. But, I'm not sure whether to make a limited amount of rooms after which you  return to the base, let player go until they die and save collected stuff at the end of each room, or give player option to return to the base to save items and if they die - dont save what they collected.


Submitted

Sooo you can check out the progress here now!

Submitted (1 edit)

New features: 

  • Enemies can drop items,  which are then stored in the inventory (not yet saveable or visualized)
  • Enemies have shadows
  • Scene outside of the sweatshop as the starting scene, to start fighting creeps go into the sewers on the right

(Not much in this scene also, will continue development with the inside of the sweatshop, then will think about outside stuff.

  • When you die you return to the starting scene (placeholder for now, this may change)

Want to check it out? Game is playable in the browser right here : 

(+1)

a game post-apocalypse , is good. good luck

Submitted

Added insides of the sweatshop, also linked all scenes together. Gonna add more lights in there, make a crafting system, and then implement UI and save-loading.


woah, is good the arena. continue !

Submitted

Wellp, crafting system is ready! You'll have two places for crafting - assembly line and armoury. 

On assembly line you'll create products for sale and crafting materials, in the armoury - weapons and upgrades for the character. 

Most crafts open with the certain amount of orphans collected, but you do not spend any orphans on crafting them. You will also be able to sell most things you craft on assembly line using the warehouse, which I am currently developing.  

Armoury is not operational for now either, cuz I didnt make any new weapons yet :D


Also implemented save-load system. To save and load.


After implementing warehouse I'll make a dialogue window and start making main menu, opening cutscene and music, and also enemies and maybe weapons. Depending on how much time I'll have 


Submitted

Wellp, adding the dialogue system was... More challenging than I expected :D

I mean I already had everything I needed pretty much ready, but then I had to add a way for some dialogues to be activated only at certain points at the game. And also only once. That means I needed to save/load the checkmarks for them.

Created a dictionary for that stuff, took a bit of work to figure it all out buuuut now it works!


Plans for tommorow: Main menu (finally xD) and music + sounds. 

For music imma use 1BITDRAGON (Check it out here, amazing tool, recommend to everyone)

And for sounds there's this cool plugin for free LMMS software, called sfxr. It's pre-packaged and lets u make 8-bit sounds pretty easily, so it's a great tool for an indie developer! 

After that I'll focus on adding new enemies/items/weapons. As much as I will have the time :D

Submitted

Made some music today! 

Used 1BitDragon, its extreeeeeeeemely awesome for this kinda stuff :D

Naturally had to make sound settings for the game, and also the system to actually play them sounds. 

Also, completed main menu. It's just bare-bones New Game/ Load Game / Settings for now, with monotone background. 

Maybe I'll draw backgrounds for the menu if I have time xD


Now I'll have to make new weapons and items for crafting, also new enemies. 

...

Just realized I don't actually have any rogue-like features in my game. Oh well...

Gotta add some power-ups then, but im not quite sure if I'll have the time. 

Maybe the cool idea will be chance to find special orphans that will give you power-ups for the run...

Also if we're talking power-ups, there's gotta be enemy strength growth when you finish levels. 

Have no idea if I'll be able to finish all that before Sunday xD

Anywaaaaays....

Yeah


cool ! now the enemy can spawn ! decoration and enemy and spawning player and exit ! continue.