Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Terrario, a Terraria rewrite for the calculator
Kbd2 Hors ligne Membre Points: 269 Défis: 0 Message

Terrario, a Terraria rewrite for the calculator

Posté le 10/07/2020 16:05

2021 Casio Awards winner, thanks everyone!

Hi. I noticed a while ago there weren't any games like Terraria or Minecraft available for Casio calculators. For the past while I've been working on rewriting Terraria in C for the SH4 calculators using gint. I'm not sure when if ever I'll finish it, since it is a fairly big project, so I've decided to put it here for now.

Here are a few screenshots of the progress so far (some may be out-of-date):
Main menu


Gameplay


Inventory


Crafting


Equipment


A visualisation of a generated world (click for full detail)



The game runs at 30FPS. Worlds are 1000x250 tiles large (640x250 on the 35+E II / GIII).

The control scheme and a crafting guide can be found in the game's About menu.

This forum page is updated regularly with the latest release of the game, as well as a changelog in the comments.

If you aren't sure what an item does, feel free to search it up on the official Terraria wiki.

Most recent update:
Jungle and a bunch of content.

Up next:
Who knows?

The attached file contains the latest build of the game, as well as instructions and a screenshot compiling script and map tool.

The source code repository as well as early builds of the game can be found at this GitHub repo and its Gitea mirror. Obviously, expect bugs in these early builds, though I take care to remove the major ones I find before releasing.

Due to the very large world, the save files for this game are big. Make sure you have at least 450kB of storage space before installing the addin (300kB on Graph 35+E II), and try to keep at least 300kB free afterwards. Tampering with the files in the TERRARIO folder will corrupt the save, so don't do that. The game will warn you if you have low storage space available, so that you can optimise your storage.

NOTE: You must have a Graph 35+ E, Graph 35+E II, fx9860GII, or fx9750GIII model calculator to run this game.

Fichier joint


Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Suivante
Druzyek Hors ligne Membre Points: 29 Défis: 0 Message

Citer : Posté le 03/11/2020 23:50 | #


Thanks for the update. I can confirm that it loads and runs on my fx-9750GIII. The rolling flash of the LCD is pretty noticeable. though I don't have anything to compare it to. Keep the updates coming!
Kbd2 Hors ligne Membre Points: 269 Défis: 0 Message

Citer : Posté le 04/11/2020 00:57 | #


Good to see it works, hard to test these things without the hardware

Gint should automatically be using the best delays currently known for the gray engine for your model, though they may not be as good as the ones for other models right now.
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 04/11/2020 11:03 | #


In fact they are the best on the Graph 35+E II, it used to flicker a lot but it's reasonable right now. Nothing like a true 4-color screen obviously, but hopefully good enough to not tire your eyes while playing.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Pedrobzh Hors ligne Membre Points: 616 Défis: 0 Message

Citer : Posté le 04/11/2020 13:54 | #


j'ai hâte que casio sorte une calculatrice avec plus de mémoire flash
j'ai déjà plus de place sur ma Graph 35 + E II
pensés suicidaires
   90%
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 04/11/2020 14:01 | #


Avec 3 Mo de mémoire y'a largement de quoi faire !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Kbd2 Hors ligne Membre Points: 269 Défis: 0 Message

Citer : Posté le 09/11/2020 11:27 | # | Fichier joint


Update:
- Thanks to the work of Simon Lothar (and myself ) and guidance/bughunting by Lephenixnoir the game will now automatically optimise storage when you exit the world!
- An internal change has been made that will allow for up to 255 different tile types, instead of the 63 possible types before
- As a side effect of the above change region files can be (and are) compressed, meaning saves are much smaller
- Added 7 new weed variants, for all the horticulturalists out there
- And as always, lots of bug fixes and miscellaneous changes.

Note: Save files from earlier versions are completely incompatible with this version and will cause a crash if loaded.
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 09/11/2020 11:31 | #


I am now officially working on a full storage memory-based dupe glitch for world-placeable items.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Kbd2 Hors ligne Membre Points: 269 Défis: 0 Message

Citer : Posté le 09/11/2020 11:37 | #


Not much worth duping right now though the next few updates may change that
Kbd2 Hors ligne Membre Points: 269 Défis: 0 Message

Citer : Posté le 03/12/2020 15:47 | # | Fichier joint


(Sorry for the wait, I've been busy with exams )

Update:
- Added armour and accessories, and a new equipment tab in the inventory to use them
- Added wood and iron armour, which give defense bonuses when a full set of either is worn
- Added the shackle (dropped by zombies) and cloud in a bottle (found in chests)
- Tile damage is now visible when you mine a tile
- Added iron tools
- Underground chests now generate with some loot
- And don't forget lots of bugfixes.

As I've changed a lot of things in this update, there may be some bugs I haven't found. If you notice any, please notify me!
Django Hors ligne Membre Points: 36 Défis: 0 Message

Citer : Posté le 07/12/2020 18:16 | #


Great project !
Cot Cot

Cliquer pour dérouler
ENCORE
Oui
Cliquer pour dérouler
ENCORE
Oui
Cliquer pour dérouler
ENCORE
Non
Cliquer pour dérouler
ENCORE
Oui
Cliquer pour dérouler
ENCORE
Non
Cliquer pour dérouler
ENCORE
Oui
Cliquer pour dérouler
ENCORE
Non
Cliquer pour dérouler
ENCORE
Encore vous ? Vous n'avez rien de mieux à faire ? Retournez coder sur calculatrice
Sinon j'ai un super site web https://hellomonsite.fr
Kbd2 Hors ligne Membre Points: 269 Défis: 0 Message

Citer : Posté le 19/12/2020 08:38 | # | Fichier joint


Update:
- Added sand and deserts, with some cacti and vultures for spice
- Added the magic mirror (found in underground chests) and aglet (found in surface chests)
- Various UI improvements
- A couple of bugfixes.
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 19/12/2020 09:33 | #


Was there a problem with the drop rates of shackles originally? I've found a whole lot during my playthrough.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Kbd2 Hors ligne Membre Points: 269 Défis: 0 Message

Citer : Posté le 19/12/2020 09:51 | #


Yes, I had a >= instead of a <= when checking a drop's probability ratio, fixed it just now in this release
Kbd2 Hors ligne Membre Points: 269 Défis: 0 Message

Citer : Posté le 15/01/2021 11:04 | # | Fichier joint


Update:
- Added water, with associated physics and breath meter
- Added lakes and beaches
- Tweaked some menus, and animated the main menu
- Grass will now spread to exposed and adjacent dirt blocks
- Minor changes to world generation
- A few bugfixes.


Matt32 Invité

Citer : Posté le 15/04/2021 14:15 | #


J'ai un problème avec la sauvegarde, quand je lance une partie que j'ai sauvegardé je réapparait dans un monde vide et je meurt. C très embêtant de devoir tout recommencer.
J'ai une graph 35+E II
Ps: quand je sauvegarde, ça me met optimisation is stoped
Et j'ai continu ou inizialise comme option
Aidez moi svp !!!
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 15/04/2021 14:21 | #


Est-ce que tu as beaucoup de fichiers autre que le monde de Terrario dans ta mémoire de stockage ? Le monde prend beaucoup de place, si tu en manques tu peux avoir des surprises. Terrario optimise la mémoire s'il n'y a plus assez de place, donc si tu en arrives là tu es probablement proche de la limite.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Kbd2 Hors ligne Membre Points: 269 Défis: 0 Message

Citer : Posté le 27/04/2021 21:32 | #


Just replying here to say the project isn't dead, I'm just a bit swamped with University right now - development should resume in the second half of the year
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 27/04/2021 21:34 | #


Thank you for the news. Good luck with university, we'll be excited for future developments whenever you have time to spend on it.

Ajouté le 05/06/2021 à 22:32 :
I saw you were having trouble with the libc, but I doubt you will see the messages on the chat now. Here's a copy:

<Lephenixnoir> Ah I guess some of the topics/documentation is not available to you because of the topics in French, sorry about that. Most things are listed, but I did forget to add instructions for Makefile users.
<Lephenixnoir> You have found all of the elements; fxlibc is a shared repository with Yatis where we started moving our standard functions and implementing some more. It features a ton more than what was previously available!
<Lephenixnoir> Instead of removing -nostdlib you should add -lc in your libraries. This is because -nostdlib prevents the compiler from including its C runtime (in the form of crtbegin.o, crtend.o, and some more) which we don't use, so you need to keep -nostdlib.
<Lephenixnoir> Adding -nostdlib and -lc should fix nearly all of the errors.
<Lephenixnoir> There is only one change in the API, it relates to getkey_repeat_filter(). I was having problems with this function because the filter is called right when the repeat is emitted, which is too late in some uses. So I changed the mechanics to that it is called after a repeat to plan the next one.
<Lephenixnoir> Here is how you would update your current repeat filter. https://haste.breizh.pm/uneqamusaf.c

There is no doubt in my mind that things will work out quickly. Again I apologize for any pain in using the libraries, as I try to balance my quickly-moving work with a healthily-stable environment and API.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Kbd2 Hors ligne Membre Points: 269 Défis: 0 Message

Citer : Posté le 05/06/2021 23:44 | #


That makes a lot of sense, thanks

Ajouté le 06/06/2021 à 02:47 :
I applied all those fixes (added -nostdlib and -lc to project.cfg in the appropriate place, updated the key filter functions) but am unfortunately still getting this error from sh-elf-gcc. Am I linking a library I shouldn't be?
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 06/06/2021 08:27 | #


I'm pretty sure this is a Terrario problem, since group is defined through this little definition in every file that includes world.h :

union {
        Tile tiles[4];
        uint32_t aligned;
} group;

Did you mean union group { ... } instead?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Kbd2 Hors ligne Membre Points: 269 Défis: 0 Message

Citer : Posté le 06/06/2021 09:39 | #


Right, I guess I was using an older gcc that allowed it or something
Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 276 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd