Naaami/tic 80 for game: Difference between revisions

From XPUB & Lens-Based wiki
No edit summary
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
=TITLE: SAVIOR=
=TITLE: SAVIOR=
==The story line==
==My game 'SAVIOR'==


- The main concept of my game started from looking at the Situationist Times from perspectives of feminism and media critique in capitalism  
*The main concept of my game was made by looking at the Situationist Times from perspectives of feminism and media critique in capitalism.
[[File:Ball.png|thumb]]
[[File:Ball.png|thumb]]
- Storyline: "A peaceful city has been dominated by ads in the swirl of capitalism.<br>A ball as a residence in the city has to save other ball friends captured in the ads.
* Storyline: "A peaceful city has been dominated by ads in the swirl of capitalism.<br>A ball as a residence in the city has to save other ball friends captured in the ads.
<br>To see more elaborated storyline : [[File:Ball manifesto.pdf]]
<br>To see more elaborated storyline : [[File:Ball manifesto.pdf]]<br><br>
* Basically, I've planned to make two different types of games, then connect them each other.
One type of game is a city dérive game (The main character ball will walk into the street of the city).<br> [[File:citygame.png|thumb]]
The other is ball bouncing game (The main red ball character will save another ball captured in ads.) <br> [[File:ad3.png|thumb]]


==TIC-80 function application to the concept==


==TIC-80 function application to the concept==
===Exporting & Importing sprites===
- I wanted to add real advertise images on the simple pixel styles of TIC 80 format.
One thing I enjoyed was exporting an existing sprite of the game, then
I had to resize the original ad images to dimensions such as 16 x 16 px, 32x 32px, etc.<br>
Then it naturally transformed to pixelated images, which was aesthetically very interesting.
<br>


- Basically, I've planned to make two different types of games, then connect them each other.
--> Manual : <br>
One type of game is a city dérive game (The main character ball will walk into the street of the city).<br> [[File:citygame.png|thumb]]
1) Download ad images you want, then resize it to make it to be fitted to the sprites (dimensions such as 16 x 16 px, 32x 32px, etc).<br>
The other is ball bouncing game (The main red ball character will save another ball captured in ads.) <br> [[File:ad3.png|thumb]]
2) Export sprites, then save the sprites in your desktop. Then open it in Adobe Photoshop.<br>
3) There, you copy and paste the pixelated ad images on the sprites.<br>
4) Save it.<br>
5) Go to the TIC-80 again, then type 'add'. Choose the new sprites you've just made.<br>
6) Then type 'import sprites'. <br>
7) Run your TIC-80 game file.<br>
<br>


===Collision example===
===Collision example===
- In the ball games, I had to make a collision function, meaning, making some effects when a ball and another ball are hit each other.
- In the ball games, I had to make a collision function, meaning, making some effects when a ball and another ball are hit each other.
[[File:Ad221.png]]
[[File:Ad221.png|thumb]]
[[File:Ball1 thumbnail.png|thumb]]
[[File:Ball1 thumbnail.png|thumb]]
[[File:Ball2 thumbnail.png|thumb]]
[[File:Ball2 thumbnail.png|thumb]]

Latest revision as of 12:59, 10 April 2021

TITLE: SAVIOR

My game 'SAVIOR'

  • The main concept of my game was made by looking at the Situationist Times from perspectives of feminism and media critique in capitalism.
Ball.png
  • Storyline: "A peaceful city has been dominated by ads in the swirl of capitalism.
    A ball as a residence in the city has to save other ball friends captured in the ads.


To see more elaborated storyline : File:Ball manifesto.pdf

  • Basically, I've planned to make two different types of games, then connect them each other.

One type of game is a city dérive game (The main character ball will walk into the street of the city).

Citygame.png

The other is ball bouncing game (The main red ball character will save another ball captured in ads.)

Ad3.png

TIC-80 function application to the concept

Exporting & Importing sprites

- I wanted to add real advertise images on the simple pixel styles of TIC 80 format. One thing I enjoyed was exporting an existing sprite of the game, then I had to resize the original ad images to dimensions such as 16 x 16 px, 32x 32px, etc.
Then it naturally transformed to pixelated images, which was aesthetically very interesting.

--> Manual :
1) Download ad images you want, then resize it to make it to be fitted to the sprites (dimensions such as 16 x 16 px, 32x 32px, etc).
2) Export sprites, then save the sprites in your desktop. Then open it in Adobe Photoshop.
3) There, you copy and paste the pixelated ad images on the sprites.
4) Save it.
5) Go to the TIC-80 again, then type 'add'. Choose the new sprites you've just made.
6) Then type 'import sprites'.
7) Run your TIC-80 game file.

Collision example

- In the ball games, I had to make a collision function, meaning, making some effects when a ball and another ball are hit each other.

Ad221.png
Ball1 thumbnail.png
Ball2 thumbnail.png
Ball3 thumbnail.png


SYNC()

- In the city game, I had to put the ball game inside of it, meaning, I had to use the sync() function. SYNC() Copy modified sprites/map to the cartridge

  • sync [mask=0] [bank=0] [tocart=false]

The pro version of TIC-80 contains 8 memory banks. To switch between these banks, sync can be used to either load contents from a memory bank to runtime, or save contents from the active runtime to a bank. The function can only be called once per frame.

mask : mask of sections you want to switch: tiles = 1<<0 – 1 sprites = 1<<1 – 2 map = 1<<2 – 4 sfx = 1<<3 – 8 music = 1<<4 – 16 palette = 1<<5 – 32 flags = 1<<6 – 64 0 - will switch all the sections 1 | 2 | 4 - will switch tiles, sprites and map sections, for example bank : memory bank, can be 0…7. toCart : true - save sprites/map/sound from runtime to bank, false - load data from bank to runtime. If you have manipulated the runtime memory (e.g. by using mset), you can reset the active state by calling sync(0,0,false). This resets the whole runtime memory to the contents of bank 0. Note that sync is not used to load code from banks; this is done automatically.