|
Post by Peer on Dec 7, 2020 9:19:35 GMT -5
Cheers, Peer
--
Update 2022/07/20:
Here now are the links to the web pages of the two games:
|
|
|
Post by drsnuggles on Dec 8, 2020 12:54:28 GMT -5
Now i'm waiting... i'm waiting... i'm waiting... Sound like a perfect xmas for the Vectrex community, besides that the world blows up.
|
|
|
Post by 50tbrd on Dec 8, 2020 16:12:54 GMT -5
Your past projects have all been fantastic, so I'm looking forward to any project you take up.
|
|
|
Post by Peer on Dec 9, 2020 9:30:25 GMT -5
Now i'm waiting... i'm waiting... i'm waiting... Sound like a perfect xmas for the Vectrex community, besides that the world blows up. Nah, it's not the world blowing up. Just life, the universe, and everything Darn, I realized that I wrote on the project page how nice it is that there are no deadlines in the Vectrex programming world. And then I mentioned Xmas as potential date for a release candidate. Seems like I have set myself a deadline here… As for the waiting, I will update the project page with new teasers soon
|
|
|
Post by Peer on Dec 9, 2020 9:33:54 GMT -5
Your past projects have all been fantastic, so I'm looking forward to any project you take up. Thanks for your nice and encouraging words! I just hope that your expectations are not too high. There have been other recent really great Vectrex releases which have set the standards for this genre to limits unreachable with C and 32K. So, like a typical Xmas present, the packaging and the wrapping paper of this project might look more shiny than the contents. I hope it will still provide some fun to play with.
|
|
|
Post by Malban on Dec 9, 2020 9:39:54 GMT -5
Everything can be done in "C" - and for the rest there is the "ASM" directive :-)
|
|
|
Post by Peer on Dec 9, 2020 10:06:05 GMT -5
Everything can be done in "C" - and for the rest there is the "ASM" directive :-) How often do I have to remind you to use "asm volatile" ?!!!
|
|
|
Post by Peer on Dec 18, 2020 13:15:51 GMT -5
I found some time to work on Project X. Not nearly as much time as I had hoped for, but at least I made some progress. Meeting the Xmas deadline will be tough...
Cheers, Peer
|
|
|
Post by VectorX on Dec 18, 2020 13:37:26 GMT -5
I like the combining of The Lord of the Rings with sci-fi dialog on the text screenshots
|
|
|
Post by Peer on Dec 18, 2020 13:44:26 GMT -5
I like the combining of The Lord of the Rings with sci-fi dialog on the text screenshots Cool that you noticed the references! Spoiler alert: There are more to come
|
|
|
Post by Peer on Dec 20, 2020 8:54:34 GMT -5
Greetings everyone! Yesterday night, I continued working on Project X, and I did make some progress. I managed to implement some of the open issues from my to-do-list (okay-ish), I was thrown off by some bugs and had to fix those (no fun), I managed to get the sound handling working as I had hoped for (fun), and I proceeded with the game manual and put some final touches to the background story of the game (great fun). There are still a handful more of open issues, so I am rather in doubt whether or not an alpha release candidate can be ready by Xmas. The next days will be filled with two more days of teaching, and with family business and Xmas preparations, but I will try my best. Here is some "cheery" stuff: Feel free to consider this silly (it surely is), but it made me smile, and maybe it will make some of you smile as well, and some smiling really cannot hurt in these days. Last night, while programming, I was listening to some music from a random playlist. After a while, I started noticing that some of the lyrics seemed to be oddly related and quite fitting to what I was doing. So I allowed myself to get a bit side tracked by some goofy thoughts… Here is what could be heard from my room (may contain spoilers): - "Memory!", me crying along with the cats from the Musical "Cats" while trying to save some ROM space,
- "(I want) More", Sisters of Mercy, commenting on the previous song,
- "And nothing else matters!", Metallica, smirking at the whole hunting-for-ROM thing,
- "That’s all I ask of you", from "Phantom of the Opera", or rather me urging the compiler to generate a binary fitting in 32K,
- "When two tribes go to war", Frankie Goes To Hollywood, singing about the story line of the game,
- "Total Eclipse of the Sun", the remake by Rosenstolz & Marc Almond, also related to the story line,
- "Total Eclipse of the Sun", the original by Klaus Nomi, same as above,
- "She blinded me with Science", Thomas Dolby, about the heroine of this game,
- "Science Fiction, Double Feature", opening song of "The Rocky Horror (Picture) Show", so very much fitting for these games, eh, this game, cough, cough,
- "…killed the Tsar and his ministers, Anastasia screamed in vain", excerpt from "Sympathy for the Devil" by The Stones, also somehow related to the story of this project…
- "Dirty deeds, done dirt cheap!", comment by ACDC when taking a look at my C code,
- "Land of Confusion", Genesis, also taking a look at the code,
- "Such a shame!", Talk Talk, when I removed one smaller game feature,
- "Start me up", my Vectrex console (or was it The Stones?), begging for a test-run,
- "Shock to the system", Billy Idol, when the test-run crashed at startup,
- "Sounds of Silence", Simon & Garfunkel, when the in-game sound was not yet working,
- "I believe in miracle", me sipping a Hot Chocolate, trying to make a new hack work,
- "Road to nowhere", Talking Heads assessing that very same hack,
- "You’re the one that I want", from the Musical "Grease", me chasing after a bug,
- "I would do anything for love, but I won’t do that", Meat Loaf, as there is one simple and straightforward way to free up 2K of ROM space, but that would mean sacrificing one major game feature, which I have strangely fallen in love with and which I will not give up,
- "A Kind of Magic", Queen, when I suddenly found an easy means to save 78 bytes,
- "Under Pressure", David Bowie, joining in with respect to the Xmas deadline,
- "Urgent", Foreigner, not making me feel any better,
- "Relax", Frankie Goes To Hollywood, telling me not to worry too much about the deadline, or probably suggesting to extend the deadline to New Year's Eve?
- "I’m going slightly mad", Queen & Freddy Mercury, featuring guest singer me, at the end of the whole session,
- "Take that look off your face", from the Musical "Tell me on a Sunday", also said by my wife when she saw me shutting down my computer. Wait, it was past midnight, so she indeed said that to me on a Sunday!
Ok, the songs did not necessarily come in this order, but anyway… Many Cheers, and stay safe everyone, Peer
PS: Some more spoiler quotes… - "My God, it was full of stars, and now it is empty!", Dave Bowman, from "2001 Space Odyssey", about this project…
- "If you go to Zachadum, you will die!", Ambassador Kosh, from the TV series "Babylon 5", about this project…
- "One man's magic is another man's engineering", Robert A. Heinlein, about this project…
- "All hope abandon, ye, who enter here!", some good advice from Dante's "Inferno" which did not make it into the game manual…
|
|
|
Post by D-Type on Dec 20, 2020 15:25:02 GMT -5
You're hunting around for spare bytes...out of interest, how memory-hungry is a compiled C program for 6809, compared to the same program written in assembler?
Obviously it's a bit difficult to fully compare unless you've written the program in both languages, but I'm thinking you've had a peek at the resultant C compiler output assembly?
I guess you're finding out about the things to avoid in C to obtain the most efficiency. That's the fun part!
|
|
|
Post by Peer on Dec 21, 2020 4:37:35 GMT -5
You're hunting around for spare bytes...out of interest, how memory-hungry is a compiled C program for 6809, compared to the same program written in assembler? Obviously it's a bit difficult to fully compare unless you've written the program in both languages, but I'm thinking you've had a peek at the resultant C compiler output assembly? I guess you're finding out about the things to avoid in C to obtain the most efficiency. That's the fun part! You are correct, the fun is in learning so many things about how gcc6809 works internally, and how C code is mapped to assembly instructions. But regarding your question: A compiled C program is as memory-hungry as a compiled assembly language program It is not so much about the compiler, but much more about how you design and write your code. Actually, in my opinion, gcc6809 by itself is not memory-hungry at all and does a really good job, and I keep being surprised again and again, how well the compiler handles certain code constructs. After all, C was originally designed to be "the machine-independent assembly language". The overhead introduced by being a high-level language compiler is not that significant, and many times there is no overhead at all. It is not about C versus assembly language at all. It is also not about "tricking" the C compiler into generating "the right assembly code". Regardless of what programming language one is using, sometimes you hit a point where resources are strictly limited, and then you have to find some way to deal with this. If I had done the whole project in assembly language right from the beginning, I am pretty sure that I would be facing the very same resource-situation right now. In that sense, you can write "good" code and "bad" code in any programming language (whatever "good" and "bad" may mean in the current context). In all programming languages (including assembly language), there are usually many different ways to code some part of your program, which all achieve the same thing, but with different impacts on runtime-performance and resource-efficiency. And each time, what is best, depends on the specific context. My whole hunting-for-rom-space thing is not as desperate as it might have sounded. I actually enjoy learning so many things about the internals of gcc6809 and how it handles the various C constructs and how assembly code is generated from them. I find this very interesting. The 32K situation is my own fault, not ggc6809's. Of course, my hunting-for-rom-space is about greed. It would be very easy to get "enough" rom space for this project. Just throw out various features. A major portion of my rom is used for data, not code. So, e.g. just reduce some vector lists by some entries. This would cause certain game elements to have less details, but ok so. Or trade some runtime-performance for rom-space by using less look-up tables. But that is not what I want. I want the result to contain "as much as possible". Whenever I free some bytes, I immediately use them up again for the next issue on my todo-list (or from my wish-list). So, in any programming language, be it C, or assembly language, or Basic, or whatever, you simply have to learn the different aspects of your language and find out what the most-efficient way of coding is.
Many Cheers, Peer
|
|
|
Post by Peer on Jan 8, 2021 6:41:58 GMT -5
Greetings everyone, here is another short update on Project X: I actually made some significant progress with the game during the past weeks, and I am starting to like the result, but it turned out that there was no way to get a Xmas or New Year’s beta release candidate ready. Sorry for that. However, I am glad that I did not try to rush things. There was one major bug in the game engine. Or rather a fundamental flaw in its design, causing two of its parts to simply not work together. I only discovered this when I tried to design a level using both of those parts. I completely rewrote the game engine (for the umpteenth time), which took some effort. It now works nicely (so far at least), and as a side-effect, the binary was 800 bytes shorter! I re-added that one feature I had sacrificed before, and the game now also has a proper ending. Not much, but a small happy-end scene, once the game has been beaten completely. I have designed the details of a first bunch of levels, and some turned out to be really hard. I will most likely leave them as they are (a universe is not saved easily), but I started thinking about adding bonus items (if I find the necessary ROM space) which could make life a bit easier. If someone really makes it through all levels, the final stage of the game features some very special surprise… Development is still not complete, but I am now very close to reaching beta status. I know, I said that before. There are about a dozen issues left on my todo/bugfix list, the remaining levels have to be designed, and I need to do some more experiments on a real console. Right now I do not have one at hand, and I am working with emulators only. I need to check if in reality everything indeed looks the same way as it does in the emulators.
Will keep you posted.
Many Cheers, Peer PS: I also listened to more music and playlists while programming. Let me know if you care to be annoyed (or cheered up?) by more cryptic quotes and references
|
|
|
Post by VectorX on Jan 8, 2021 10:58:51 GMT -5
Yes, more musical notes. I still need to reply to the first one you posted, as there was some surprising stuff in there (I think you'll be surprised with one of my responses as well ).
|
|