Skip to content

Commit

Permalink
T-Rex 64 Preview Official (#78)
Browse files Browse the repository at this point in the history
* improved gfx lvl 1-3

* credits improved

* update screenshots

* levels 1-4, 1-5 intial

* level 1-5 extended to max

* work on credits

* support full 256 charset

* lev 4 5 gfx

* gfx for 1-4

* level 1-4

* level 1-4

* l 1-4

* level 1-4, 1-5 gfx

* gradle plugin 1.2.0

* game slow down problem fixed (IRQ arrangement)

* enemies for 1-4

* title music improved

* dino duck improved; unnecessary files removed

* unused files removed

* clean up sprites; move from spritemate into spritepad

* added animations, colors adjusted

* max level in level rotation

* irq layout improved to reduce slow-downs

* duck animation improved

* doc update

* fix score counting

* impr sound

* clean up music

* remove unused code

* License

* Level 1-4

* licence

* License

* Remove redundant instruments

* #59 fixing random jumping on a first death (lack of proper initialization)

* Added screens from 1-4

* Game slowdowns fixed

* level 1-4

* level 1-4

* level 1-4

* level 1-4

* level 1-5

* level 1-5

* level 1-5

* level 1-5 gfx and sprites

* Music

* Fixed music

Co-authored-by: Zuzanna Malecka <[email protected]>
  • Loading branch information
maciejmalecki and zumalecka authored Jun 30, 2021
1 parent 2deb5d8 commit c875142
Show file tree
Hide file tree
Showing 67 changed files with 708 additions and 1,280 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,4 @@ gradle-app.setting
# IDE and tool files
.idea
.ra
.vscode
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2020 Maciej Małecki
Copyright (c) 2021 Maciej Malecki

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
41 changes: 15 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,22 @@
A Commodore 64 version of offline mode jumping dinosaur single button game ;-) Work in progress...

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![CircleCI](https://circleci.com/gh/maciejmalecki/trex64/tree/master.svg?style=svg)](https://circleci.com/gh/maciejmalecki/trex64/tree/master)
[![CircleCI](https://circleci.com/gh/maciejmalecki/trex64/tree/develop.svg?style=svg)](https://circleci.com/gh/maciejmalecki/trex64/tree/develop)
[![CircleCI](https://circleci.com/gh/maciejmalecki/trex64/tree/master.svg?style=shield)](https://circleci.com/gh/maciejmalecki/trex64/tree/master)
[![CircleCI](https://circleci.com/gh/maciejmalecki/trex64/tree/develop.svg?style=shield)](https://circleci.com/gh/maciejmalecki/trex64/tree/develop)

Visit our website: https://maciejmalecki.github.io/trex64/
Visit the website: https://maciejmalecki.github.io/trex64/

## How to run it
Download `rex.prg` file from https://github.com/maciejmalecki/trex64/releases (look for assets section).
Download `rex.prg` or `rex.d64` file from the website mentioned above or from [GitHub](https://github.com/maciejmalecki/trex64/releases) (look for assets section).

You need a Commodore 64 emulator such as Vice (see: https://vice-emu.sourceforge.io/) or, preferably, a real machine.
You need a Commodore 64 emulator such as [Vice](https://vice-emu.sourceforge.io/) or, preferably, a real machine.

Run prg file with Vice:
```bash
x64 rex.prg
```

If you decided to build T-Rex 64 from sources, go into `src` directory and find `rex.prg` file there.

## How to play
There are currently a few options on title screen.

By pressing F1 you can toggle control methods: for Joystick port 2 up and fire are used for jumping.
For keyboard use Space key for jumping.

Use F3 for either music or SFX option.

Use F5 for starting level selection.

Hit F7 to start the game.

Goals of the game: you control running dino.
The dino must jump over obstacles (cactuses) otherwise he will die.
Run as far as you can.
If you want to build T-Rex 64 from sources, go into `src` directory and find `rex.prg` file there.

## How to build
All you need to build it is to have Java (JDK) version 11 or higher. Clone the repository, enter it and then run following command:
Expand All @@ -48,8 +32,13 @@ for Unix-like systems.

## Tools

* Charpad
* Spritepad
* Goat Tracker
* Kick Assembler
The following tools are used to develop T-Rex 64.
Some of them are needed to work with certain source files.
The build system itself including Kick Assembler requires Java version 11 or newer.

* [Charpad](https://subchristsoftware.itch.io/charpad-pro)
* [Spritepad](https://subchristsoftware.itch.io/spritepad-pro)
* [Goat Tracker](https://sourceforge.net/projects/goattracker2/)
* [Kick Assembler](http://theweb.dk/KickAssembler/Main.html#frontpage)
* [C64 Debugger](https://sourceforge.net/projects/c64-debugger/)
* [Gradle Retro Assembler Plugin](https://c64lib.github.io/gradle-retro-assembler-plugin/)
20 changes: 19 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import com.github.c64lib.retroassembler.domain.AssemblerType

plugins {
id("com.github.c64lib.retro-assembler") version "1.1.1"
id("com.github.c64lib.retro-assembler") version "1.2.0"
}

repositories {
Expand Down Expand Up @@ -91,12 +91,30 @@ preprocess {
}
map {
left = 272
right = 434
interleaver {
output = file("levels/level1/map-3.bin")
}
interleaver {
}
}
map {
left = 435
right = 598
interleaver {
output = file("levels/level1/map-4.bin")
}
interleaver {
}
}
map {
left = 599
interleaver {
output = file("levels/level1/map-5.bin")
}
interleaver {
}
}
}
}
}
Binary file modified docs/background.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 16 additions & 10 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -169,15 +169,14 @@ <h2>The jumping dino game for Commodore 64.</h2>
Don't ask why he or she is constantly running.
</p>
<p class="note">
The preview of T-Rex 64 will be released end of June 2021.
Full game is expected later this year.
The release of the full game is expected by the end of 2021.
</p>
</section>
<section>
<h1>Download version 0.3.3</h1>
<h1>Download version 0.4.0</h1>
<div class="buttons">
<a href="https://github.com/maciejmalecki/trex64/releases/download/0.3.3/rex.prg">PRG</a>
<a href="https://github.com/maciejmalecki/trex64/releases/download/0.3.3/rex.d64">D64</a>
<a href="https://github.com/maciejmalecki/trex64/releases/download/0.4.0/rex.prg">PRG</a>
<a href="https://github.com/maciejmalecki/trex64/releases/download/0.4.0/rex.d64">D64</a>
<a href="https://github.com/maciejmalecki/trex64/"><img src="GitHub-Mark-Light-32px.png" alt="GH"> Source</a>
</div>
</section>
Expand All @@ -192,6 +191,8 @@ <h1>Download version 0.3.3</h1>
<img src="screen6.png" alt="6">
<img src="screen7.png" alt="7">
<img src="screen8.png" alt="8">
<img src="screen9.png" alt="9">
<img src="screen10.png" alt="10">
</div>
</section>
<section>
Expand Down Expand Up @@ -246,17 +247,22 @@ <h2>Building from sources</h2>
</p>
</section>
<section>
<h1>Credits</h1>
<h1>Authors</h1>
<ul>
<li>Maciek (code, music, gfx)</li>
<li>Zuza (gfx, level design)</li>
<li>Ola (gfz, level design)</li>
</ul>
</section>
<section>
<h1>Acknowledges</h1>
<p>
T-Rex project uses <a href="https://theweb.dk/KickAssembler">KickAssembler</a>,
<a href="https://subchristsoftware.itch.io/charpad-free-edition">Charpad</a>,
Spritepad,
GoatTracker2 and <a href="https://c64lib.github.io/gradle-retro-assembler-plugin/">Retro Assembler gradle plugin</a> for build automation.
<a href="https://subchristsoftware.itch.io/charpad-pro">Charpad</a>,
<a href="https://subchristsoftware.itch.io/spritepad-pro">Spritepad</a>,
<a href="https://sourceforge.net/projects/goattracker2/">GoatTracker2</a>
and <a href="https://c64lib.github.io/gradle-retro-assembler-plugin/">Retro Assembler gradle plugin</a>
for build automation.
</p>
<p>
I (Maciek) would like to thank to Paul Hocker for his KickAssembler plugin for Visual Studio Code.
Expand Down Expand Up @@ -299,7 +305,7 @@ <h2>Google Analytics</h2>

</section>
<section>
<p>&copy; 2021 Maciej Małecki</p>
<p>&copy; 2020-2021 The Lockdown Studio</p>
</section>
</article>

Expand Down
Binary file modified docs/screen0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screen10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/screen7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screen9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions src/_animate.asm
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
/*
MIT License
Copyright (c) 2021 Maciej Malecki
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#import "common/lib/invoke.asm"

#importonce
Expand Down
33 changes: 29 additions & 4 deletions src/_constants.asm
Original file line number Diff line number Diff line change
@@ -1,12 +1,35 @@
/*
MIT License

Copyright (c) 2021 Maciej Malecki

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#importonce
.filenamespace c64lib

// ---- game parameters ----
.label INVINCIBLE = 0

// scoring
.label SCORE_FOR_PROGRESS_DELAY = 50
.label SCORE_FOR_PROGRESS = $0025
.label SCORE_FOR_PROGRESS_DELAY = 5
.label SCORE_FOR_PROGRESS = $0001

// ---- game state constants ----
.label GAME_STATE_LIVE = 1
Expand Down Expand Up @@ -46,7 +69,7 @@
// title screen layout
.label LOGO_TOP = 1
.label AUTHOR_TOP = 12
.label CREDITS_TOP = 16
.label CREDITS_TOP = 15
.label CREDITS_SIZE = 5
.label MENU_TOP = 22

Expand All @@ -59,7 +82,7 @@
.label CREDITS_PAGE_2 = $30
.label CREDITS_FADE_DELAY = 4
.label CREDITS_PAGE_DISPLAY_TIME = 200
.label CREDITS_LAST = $60 // -$10
.label CREDITS_LAST = $80 // -$10

// ---- misc ----
.label MAX_DELAY = 10
Expand All @@ -83,3 +106,5 @@
.label KEY_SPACE = %00010000
.label KEY_COMMODORE = %00100000
.label KEY_INGAME_MASK = KEY_SPACE + KEY_COMMODORE
// max level in level selection
.label MAX_LEVEL = 5
23 changes: 23 additions & 0 deletions src/_level-utils.asm
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
/*
MIT License
Copyright (c) 2021 Maciej Malecki
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#importonce

.macro @actorDef(code, xPos, yPos, speed, color) {
Expand Down
23 changes: 23 additions & 0 deletions src/_score.asm
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
/*
MIT License
Copyright (c) 2021 Maciej Malecki
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#import "_zero_page.asm"
#importonce

Expand Down
23 changes: 23 additions & 0 deletions src/_segments.asm
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
/*
MIT License
Copyright (c) 2021 Maciej Malecki
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#importonce
.filenamespace c64lib

Expand Down
23 changes: 23 additions & 0 deletions src/_sprites.asm
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
/*
MIT License

Copyright (c) 2021 Maciej Malecki

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
#importonce
.filenamespace c64lib

Expand Down
Loading

0 comments on commit c875142

Please sign in to comment.