mvirtuale Posted March 29, 2020 Author Share Posted March 29, 2020 For now there is no news. We are very busy between family, work and viruses. I hope to get back to work with the project as soon as possible. 1 Quote Link to comment Share on other sites More sharing options...
TrekMD Posted March 29, 2020 Share Posted March 29, 2020 Stay safe! The game can wait until this craziness with the virus ends. Quote Link to comment Share on other sites More sharing options...
Nop90 Posted March 29, 2020 Share Posted March 29, 2020 48 minutes ago, mvirtuale said: For now there is no news. We are very busy between family, work and viruses. I hope to get back to work with the project as soon as possible. Let me know if you need help to finish the game. I could add a comlynx 2 Players mode. Quote Link to comment Share on other sites More sharing options...
Alberto_G Posted September 7 Share Posted September 7 ciao, allego la prima rom del gioco della dama. è solo una schermata di gioco in italiano. Le "n" sono i pezzi neri. Le "b" sono i pezzi bianchi. nella versione inglese i pezzi saranno rappresentati con lettere diverse. "w" per i pezzi bianchi e la "b" per i pezzi neri. Quando i pezzi si trasformeranno in DAME, le lettere diventeranno maiuscole. b diventa B; n diventa N; w diventa W; b diventa B; purtroppo non sono un programmatore e sto avendo molti problemi con il codice. Guardo le guide online ma non riesco a trovare quello che cerco. Non so quando finirò, ma la prima rom vuole far capire che il progetto non è morto. Il codice fatto dal mio amico è andato perso e sto creando una nuova versione senza di lui. dama.lnx 1 Quote Link to comment Share on other sites More sharing options...
mvirtuale Posted September 8 Author Share Posted September 8 I attach 2 roms of the game. The Italian version and the English version. They don't work yet but they show what has been done. The "n"s are the black pieces. The "b" is the white pieces. in the English version the pieces will be represented with different letters. "w" for white pieces and "b" for black pieces. When the pieces turn into DAME, the letters will become uppercase. b becomes B; n becomes N; w becomes W; b becomes B; I inserted a sound that counts the time. Next to the board you see the coordinates of the possible moves. With the joystick you can choose the coordinates and confirm the move. Unfortunately I'm not a programmer and I'm having a lot of problems with the code. joystick.h doesn't accept me and I haven't figured out why yet. I look at guides online but can't find what I'm looking for. Not so when I finish. The code my friend created was lost and I'm creating a new version without him. I hope you like it. DAMA_ITA.lnx DAMA_ENG.lnx 4 Quote Link to comment Share on other sites More sharing options...
Alberto_G Posted September 20 Share Posted September 20 There are some small updates. Thanks to your help, I managed to get the buttons working. Now it's possible to scroll through the possible moves to execute and confirm on two of these moves. I won’t finish soon, but every day I make a step forward. 1 Quote Link to comment Share on other sites More sharing options...
Alberto_G Posted September 20 Share Posted September 20 Update: I modified the sounds. They are now emitted when the keys are pressed. Additionally, I have made the possible choices for the first turn functional. This way, you can understand how the game works. A complete version of the game will take quite some time. I need to optimize the game logic and I still have to create the two-player version on the same console. I have some ideas in mind, but I’m not sure if they are feasible yet. For now, I’m attaching the working demo. I hope you enjoy it, and if anything is unclear, feel free to ask. dama_demo.lnx Quote Link to comment Share on other sites More sharing options...
Alberto_G Posted September 22 Share Posted September 22 update: I added the splash screen with background music. Unfortunately I have problems fitting the images into the screen. I resized them and converted them to 16 bit. I converted the image to binary but the result is not satisfactory. Quote Link to comment Share on other sites More sharing options...
LordKraken Posted September 22 Share Posted September 22 you have a palette issue. Make sure your image in whatever painting tool you use 16 colors only, then when you transform the image into lynx format, you should also get the corresponding palette. Load that palette before displaying your image. Quote Link to comment Share on other sites More sharing options...
Alberto_G Posted September 22 Share Posted September 22 Update: Imagine using the Atari Lynx like a real chessboard placed on a table. The two players are facing each other with the Lynx in front of them. Player 1 moves their piece. The board is rebuilt, and the screen rotates 180 degrees to give the same view but facing player 2. This happens every turn, and I've just managed to implement it. 2 Quote Link to comment Share on other sites More sharing options...
LordKraken Posted September 23 Share Posted September 23 Nice. One little suggestion, it would be imo so much easier to play if players could pick their piece directly on the checker. Juts draw a little box to highlight the piece that is selected and then you can remove all the coordinate on the left, and thus you have much more space to draw the checker. Quote Link to comment Share on other sites More sharing options...
Alberto_G Posted September 25 Share Posted September 25 Thanks for the suggestion. I don't intend to copy and paste from other Checkers games. At that point, I could just adapt the code from another language. I chose this gameplay method specifically to do something different. I assure you, the part involving the choices is much more difficult to program than for the user to use. 😅 It takes a few minutes to get used to. However, thanks to your message, I’ve added the captured pieces on the left. Maybe, if I solve the more serious problems, I can also show the selected cells along with the choices. It shouldn't be too complicated. I already have the code for that in my head. The mode against Lynx and the one against a second player are working well. I hope I’ve fixed all the issues encountered in the past few days. At the moment, I'm working on the game logic. I’ve set up the movements of the pieces. Tomorrow, I'll set up the movements for the Kings. Then, I'll calmly handle normal captures and multiple captures." 1 Quote Link to comment Share on other sites More sharing options...
Alberto_G Posted September 27 Share Posted September 27 https://youtu.be/84W7wSra9jg?si=vX7Mqg4UcI5A1Fyb Ecco una piccola dimostrazione dei progressi fatti. Nel video, provo la modalità contro il Lynx premendo option1. Scorro le scelte e vengono evidenziate anche le caselle interessate. Seleziono una mossa e visualizzo sia la mia mossa che quella fatta dal Lynx. Il campo di selezione si aggiorna, mostrando l'unica opzione possibile. Quando la eseguo, il pezzo dell'avversario e poi il mio vengono catturati e visualizzati accanto alle scelte. Poi provo la modalità a due giocatori con option2. Il giocatore 1 inizia con la scacchiera rivolta verso di sé. Subito dopo aver fatto la sua mossa, lo schermo ruota, ma la scacchiera rimane nella stessa posizione per consentire al giocatore 2 di avere la stessa visuale, ma orientata verso di lui. Questa funzione è adatta per chi usa la console. Per chi usa un emulatore, potrei rimuovere la rotazione dello schermo. In certi punti, i suoni dei pulsanti non si sentono, ma credo che questo sia un problema del programma che ho usato per creare il video dimostrativo. Senza il programma in esecuzione, i suoni sono sempre udibili. Ci sono ancora molti problemi da risolvere, ma credo di essere sulla strada giusta. 1 Quote Link to comment Share on other sites More sharing options...
Alberto_G Posted September 27 Share Posted September 27 Here's a small demonstration of the progress made. In the video, I try the mode against the Lynx by pressing option1. I scroll through the choices, and the affected squares are also highlighted. I select a move and display both my move and the one made by the Lynx. The selection field updates, showing the only possible option. When I execute it, the opponent's piece and then mine are captured and displayed next to the choices. Then I test the two-player mode with option2. Player 1 starts with the board facing them. Right after making their move, the screen rotates, but the board stays in the same position to allow player 2 to have the same view, but oriented towards them. This function is suitable for those using the console. For those using an emulator, I might remove the screen rotation. At certain points, the button sounds are not heard, but I believe this is an issue with the program I used to create the demo video. Without the program running, the sounds are always audible. There are still many issues to resolve, but I believe I'm on the right track. Quote Link to comment Share on other sites More sharing options...
roots.genoa Posted September 27 Share Posted September 27 There you go: Quote Link to comment Share on other sites More sharing options...
Alberto_G Posted September 29 Share Posted September 29 the project has crashed. The code is far from finished but I'm out of space. 😭 ld65: Warning: /usr/share/cc65/cfg/lynx.cfg(15): Segment 'CODE' overflows memory area 'MAIN' by 6195 bytes ld65: Error: Cannot generate most of the files due to memory area overflow I'm afraid I'll have to revise the project from scratch. What a shame. 😞 Here is the latest version: If anyone wants to help me with the code please contact me. DAMA.lnx 2 Quote Link to comment Share on other sites More sharing options...
Nop90 Posted September 30 Share Posted September 30 12 hours ago, Alberto_G said: I'm afraid I'll have to revise the project from scratch. What a shame. 😞 You should stop writing code like on a modern machine and invest some time studying the Lynx hardware and the many code examples released by the community. Quote Link to comment Share on other sites More sharing options...
Turbo Laser Lynx Posted September 30 Share Posted September 30 Here's some examples on how to optimize code for 8-bit machines. I suppose some of the stuff can be a bit counter intuitive I suppose if you come from modern programming: - CC65 coding hints https://cc65.github.io/doc/coding.html - Portable and Optimized C for 8-bit Systems https://github.com/Fabrizio-Caruso/8bitC/blob/master/8bitC_ENG.md - Advanced optimizations in CC65 https://forums.atariage.com/topic/305862-advanced-optimizations-in-cc65/ Quote Link to comment Share on other sites More sharing options...
Turbo Laser Lynx Posted September 30 Share Posted September 30 (edited) By the way, the lynx map file should show the size of your code and assets. At least these parts count: MYGAME_RODATA MYGAME_DATA MYGAME_BSS MYGAME_CODE + what space aaresident parts take I think you had to add some parameter to the make file for it to fart out the map file. But I think it's already ser there in the template. https://github.com/OldAtAtari/template If I remember correctly and if I've counted correctly the Lynx using CC65 should have about 46648 bytes free after zero page, stack, c-stack and video buffers if you use only RAM and don't load in anything to RAM from the cart. Image from LX.net's Lynx tutorial https://atarilynxdeveloper.wordpress.com/2014/09/10/programming-tutorial-part-18files/ I suppose it should be possible to cram a game like Dama into ram only. I mean it's not like you necessarily need a lot of big graphics for it or anything. Try removing the big intro screen and see if it still gives the same error, then it might be some other bug. Edited September 30 by Turbo Laser Lynx Quote Link to comment Share on other sites More sharing options...
Alberto_G Posted September 30 Share Posted September 30 Thank you for the explanation. Unfortunately, yesterday was a bad day. First, the memory issue, and then the operating system stopped rebooting after working on the PC version of checkers. Luckily, the source files are safe on the secondary hard drive. As for the memory, I was advised to use commands like (malloc, calloc, or realloc and free()). Others suggested closing large if statements and creating new ones to free up memory. I’ll take a look at it once the computer is restored 2 Quote Link to comment Share on other sites More sharing options...
+karri Posted October 1 Share Posted October 1 Things has a tendency to crash. That is when version control is handy. You can always revert to the last good state. Plus you can continue on another computer in the source is on the net. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.