home about worlds demo links misc.

_ ✧ *:・゚✧ _ welcome to my game page_ ✧ *:・゚✧ _

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.



_ ✧ *:・゚✧ _ cast of characters _ ✧ *:・゚✧ _



_ ✧ *:・゚✧ _ jade _ ✧ *:・゚✧ _

our protag who is generally easy going and likes to get along with others, maybe to a point where it can be a detriment to herself at times. has a dream of setting up a pirate radio station for the neighborhood. seems to be dealing with a nasty eczema breakout on her hand..wait, doesn’t it kind of look like a face?




✧✧✧ adopt a jade ✧✧✧


_ ✧ *:・゚✧ _ syd _ ✧ *:・゚✧ _

demon goirl from another time. used to live on manhattan beach before the storm. she was trapped in the body of a pup until jade set her free. all sense of time was lost while she was trapped. was close friends with devin’s creator. is trying to find her sense of purpose.



✧✧✧ adopt a syd ✧✧✧


_ ✧ *:・゚✧ _ jackie _ ✧ *:・゚✧ _

shy at first, but doesn’t like to show it. she is also very strong because she works out a lot to deal with anxiety and depwession. back in town after a few years away, hoping to reconnect with her past by living in her childhood home. has lost touch with her family but loves and misses her sister dearly. she is good friends with devin. just wants to live a peaceful life, but also has a sense of duty.



✧✧✧ adopt a jackie✧✧✧


_ ✧ *:・゚✧ _ devin _ ✧ *:・゚✧ _

lives in a loft by the pizzeria. is actually an ai that was made in her creator’s likeness, who is no longer around. is working to create an archive of the neighborhood. likes to learn about other people. low key aspiring actress. friends with jackie.



✧✧✧ adopt a devin ✧✧✧


_ ✧ *:・゚✧ _ claire _ ✧ *:・゚✧ _

helps run the pet shoppe for her family while they’re away. loves cute things and cares for animals very much. she is easily spooked and likes to dance on the weekends.



✧✧✧ adopt a claire✧✧✧

.._ ✧ *:・゚✧ _ town manual_ ✧ *:・゚✧ _..





..✧ table of contents ✧..

  • cast of characters
  • town map
  • items
  • relationships
  • gameplay mechanics





..✧ cast of characters ✧..

★ = player.
✧ = friends.
♡ = lover.


_ ✧ *:・゚✧ _ webGL projects _ ✧ *:・゚✧ _





=^..^= dream demo / jade's town 2!!


_ ✧ *:・゚✧ _ rainy town _ ✧ *:・゚✧ _


_ ✧ *:・゚✧ _ the watering hole _ ✧ *:・゚✧ _


=^..^= dream demo / jade's town


space disaster demo


゚✧ dream world ✧゚


♡ island isolation ♡


♡ entrance or exit ♡


✧ scripts ✧


a place to dump my scripts so i have em all in one place...



✧ follow the player ✧
✧ walk randomly ✧
✧ animated textures✧

✧ follow the player ✧

SC_NPCFollow.cs
using UnityEngine;
using UnityEngine.AI;

public class SC_NPCFollow : MonoBehaviour
{
//Transform that NPC has to follow
public Transform transformToFollow;
//NavMesh Agent variable
NavMeshAgent agent;

// Start is called before the first frame update
void Start()
{
agent = GetComponent();
}

// Update is called once per frame
void Update()
{
//Follow the player
agent.destination = transformToFollow.position;
}
}


✧ walk randomly ✧

(character agent = npc, destination change = empty game object)

CharacterAgent.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

public class CharacterAgent : MonoBehaviour
{
public GameObject characterDesination;
NavMeshAgent theAgent;

void Start()
{
theAgent = GetComponent();
}

void Update()
{
theAgent.SetDestination(characterDesination.transform.position);
}
}

DestinationChange.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DestinationChange : MonoBehaviour
{
public int xPos;
public int zPos;

void OnTriggerEnter(Collider other)
{
if (other.tag == "Character")
{
xPos = Random.Range(312, 559);
zPos = Random.Range(-270, -70);
this.gameObject.transform.position = new Vector3(xPos, 27f, zPos);
}
}

}

✧ animated textures ✧

(uses sprite sheets)

AnimatedTexture.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//AnimatedTexture
public class AnimatedTexture : MonoBehaviour
{

//vars for the whole sheet
public int colCount = 4;
public int rowCount = 4;

//vars for animation
public int rowNumber = 0; //Zero Indexed
public int colNumber = 0; //Zero Indexed
public int totalCells = 4;
public int fps = 10;

//private vars
private Vector2 offset;
private Renderer renderer;

//Start
void Start() { renderer = this.GetComponent(); }

//Update
void Update() { SetSpriteAnimation(colCount, rowCount, rowNumber, colNumber, totalCells, fps); }

//SetSpriteAnimation
void SetSpriteAnimation(int colCount, int rowCount, int rowNumber, int colNumber, int totalCells, int fps)
{

// Calculate index
int index = (int)(Time.time * fps);
// Repeat when exhausting all cells
index = index % totalCells;

// Size of every cell
float sizeX = 1.0f / colCount;
float sizeY = 1.0f / rowCount;
Vector2 size = new Vector2(sizeX, sizeY);

// split into horizontal and vertical index
var uIndex = index % colCount;
var vIndex = index / colCount;

// build offset
// v coordinate is the bottom of the image in opengl so we need to invert.
float offsetX = (uIndex + colNumber) * size.x;
float offsetY = (1.0f - size.y) - (vIndex + rowNumber) * size.y;
Vector2 offset = new Vector2(offsetX, offsetY);

renderer.material.SetTextureOffset("_MainTex", offset);
renderer.material.SetTextureScale("_MainTex", size);
}
}