|
Post by Peer on Jan 8, 2021 14:50:39 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 ). Looking forward to your responses! I will add the new quotes soon.
|
|
|
Post by Peer on Jan 8, 2021 16:17:15 GMT -5
Yes, more musical notes... Ok, some more songs/lyrics from my recent playlist which are in some cryptic sense related to the game play and its invented background story: - "Holding out for a Hero (Heroine!) 'til the end of the night", Bonnie Tyler.
- "This is the Dawning of the Age of Aquarius", from the Musical "Hair". But no, this is the End of Aquarius!
- "A Sky full of Stars", Coldplay. And no again. The Skies will be empty!
- Maybe not that widely known:
"Sky and heaven all the same, Pouring from above in scalding acid rain, Now run for shelter, The gods have gone insane!"
The title of that song is "The gods have gone insane", and it was written by Rotersand.
- "Let the Sky fall", Bond-theme by Adele. And fall the Skies will!
- "My beacon's been moved under moon and star...", a line from "Twilight Zone", by Golden Earring.
I have a least two more song references, but for now I consider them to be too much of a spoiler. So maybe next time. Last time I already quoted the line "…killed the Tsar and his ministers, Anastasia screamed in vain" from "Sympathy for the Devil" by The Stones. I am knocking my head against the wall for having missed a fun opportunity then, because that songs contains another fitting line, which - for the fun of it - I am now adding here: "But what's puzzling you is the nature of my game"
|
|
|
Post by D-Type on Jan 25, 2021 5:10:44 GMT -5
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. <<SNIP>> 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. <<SNIP>> 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
It's an interesting discussion around the various aspects of producing the same result. I guess for all languages where you can affect the code at all levels, i.e. having an open source compiler, it's a question of how much effort is it to get to a specific result, especially if performance matters (which it always does when you have 30,000 cycles!) and you have to spend time on optimization. That's the fun part, do I change my algorithm, hack the compiler or use some assembly? Using Vectrex Forth, I at least have one fewer decisions to make, because my program is the compiler!
|
|
|
Post by Peer on Feb 7, 2021 4:55:23 GMT -5
Here is a short update on Project X, to let you know that this is still (very much) alive: Standard DisclaimerSorry for the long silence. The usual things happened (end of semester, exams, grading papers, homeschooling, family life…) and Vectrex time was and still is severely limited. Nevertheless, though in small steps, I got quite a lot of things done.
Things done
- Created two overlays (png files). I am not much of an artist, but I think they are ok.
- About a dozen major bugs fixed. 2 more to go.
- About a dozen minor improvements and changes implemented. Some more to go.
- Sound handler rewritten.
- Sounds revised, so that there is a bit more acoustic variety. If there only would be some more space left to add some more...
- Also tried to add a bit more variety to the "action".
- Half of the levels are defined now. The details are probably not final, but they should work for the beta RC.
- Lots of tests done on the real console. Rewrote several code parts and modified some vector lists so that things look a bit smoother (details which were not discernable or shown differently in the emulators).
- Some performance improvements (but I guess there is more to do in this regard). The game mostly stays within 50Hz, and whenever the framerate drops temporarily, this is hardly noticeable due to the ongoing "action", but I will still try to prevent such occurences.
- Bonuses (boni) added to give the player a (tiny) better chance of survival.
- The current difficulty of the game play seems rather high. Don't know if I should do some changes here…
- Happy end scene completed. Hehe, if this will ever be seen?
- One more surprise added to the final stage of the game. Again, if this will ever be seen?
- Got side-tracked and re-investigated the infamous "vector gaps" phenomenon a bit closer.
- Got side-tracked and investigated some gcc6809 internals (handling of no-return functions) a bit closer.
- Chased a stack-corruption bug (for insiders: Voldemort!), and managed to easily pin-point the reason thanks to great Vide!
- Decided on the final set of - let's call them - "villains".
- Also finalized the set of - let's call them - "super villains". Curious to learn how those will be perceived…
- Minor changes to the enemy AI.
- Implemented one more "background" feature.
- Had the idea of creating a preview-trailer video. Could be fun, but that would be some work, and I don’t know if anybody else would cherish such a thing…
Cheers, Peer
|
|
|
Post by ls650 on Feb 12, 2021 21:44:04 GMT -5
Thanks for the update!
|
|
|
Post by Peer on Feb 14, 2021 3:27:56 GMT -5
More progress.
I have revised the Project X web page accordingly. You will find all the details there. Sections which have been updated or added are marked.
Many Cheers, Peer
|
|
|
Post by D-Type on Feb 14, 2021 3:39:42 GMT -5
I read the updates...very intriguing :-)
|
|
|
Post by Peer on Feb 15, 2021 15:21:43 GMT -5
Dammit, another Voldemort!
Investigating...
|
|
|
Post by Peer on Feb 16, 2021 14:44:50 GMT -5
Dammit, another Voldemort!
Investigating...
Found it. Thanks again, Vide! It was a Heisenbug, which is now fixed.
While investigating, I found another severe bug, caused by a non-initialized ram location. Fixed.
Also found out that the stack-overruns-heap safety buffer is smaller than I thought. Just 8 instead of 16 bytes.
In addition to that I also discovered a bug in a debug-macro I borrowed from the Linux-Kernel. That issue was quite interesting and got me side-tracked for some time. I now have an improved version of said debug-macro which works fine.
Ok now, back to coding...
|
|
|
Post by Peer on Feb 20, 2021 2:13:38 GMT -5
More progress last night. Or, using Tolkien's vernacular to maintain the spirit of the project web page, the Path of Cirith Ungol has been climbed, Shelob is defeated (for the time being), and the Ring has now reached the Plains of Gorgoroth. Meaning, all known bugs are fixed. There are still several slight changes I want to implement, but those can wait until completion of the first RC. However, the levels. Manual level design is tedious, and lots of minor issues keep popping up which repeatedly require slight adjustments all over the code. Nothing serious, but time-consuming. And, to quote another old song, right now: "Time is tight" (Booker T. & the M.G.'s) Hope to get more of this done on the weekend. Will keep you posted here.
Cheers, Peer
|
|
|
Post by Peer on Feb 26, 2021 3:03:57 GMT -5
Update:
Current status
- Right now, the binary is at 32772 bytes.
- I have now defined the details of a complete set of levels. It is a first shot. I do not know if the settings are good, as I simply just tried to squeeze in everything the game engine offers.
- I have not yet really played them all, I only quickly tested each level in cheat mode with debug-invulnerability activated. And since I most likely won't find the time for intensive playing all of them, I probably leave the levels like they are (for the time being) and call this a release candidate and wait for feedback.
- The distribution of bonus item across the levels might not be good, some levels might be way to easy, some others might be way too difficult. That is hard for me to tell right now. But then again, it is the universe you have to save, and the universe behaves according to its own rules...
Open issues
- Reduce the binary to <= 32768 bytes. This shouldn't be too much of a problem.
- There is one really tiny issue occurring when the game is started from the menu of a multi-cart. There is nothing I can do about it, blame it on the "menu" thing. But probably (hopefully?) nobody will notice this anyway.
- Most likely, there will also still be some bugs hiding in the code. Bug-fixing will have an impact on the size of the binary, so some of the current features might be removed again in the process, or some of the optional things from my wish list will be added.
- On several occasions the framerate might shortly exceed 50Hz. I am curious to learn if this will be noticeable.
Next steps
- Do some testing on a real console.
- Finalize the manual.
- Set up a proper web page with a download section.
- While doing the above, maybe post some more quotes an spoilers...
Many Cheers, Peer
|
|
|
Post by Peer on Feb 26, 2021 14:25:05 GMT -5
Started working on the manual and the web page. Tested a bit on a real console and was severely beaten by my own game. Found some small things I have to adjust in the code, but nothing serious so far.
While testing, the game melody kept resounding from my room, until the rest of the family could not stand it anymore But the game really would not be the same without that tune. You will see what I mean. Or rather hear what I mean… Anyway, the whole thing reminded me of some lines from another great, but lesser known song from the eighties: "But they told us, all they wanted, was a sound that could kill someone … from a distance" Kate Bush, "Experiment IV" And the game play itself brought quotes from two more songs to my mind. The first was: "Revvin' up your engine Listen to her howlin' roar Metal under tension Beggin' you to touch and go Highway to the Danger Zone Ride into the Danger Zone Headin' into twilight Spreadin' out her wings tonight She got you jumpin' off the deck Shovin' into overdrive Highway to the Danger Zone I'll take you right into the Danger Zone" Kenny Loggins, "Danger Zone", opening title of the movie "Top Gun" And here is the second: "Then look into the sky where through the clouds a path is formed. Look and see her how she sparkles, It's the last unicorn!" America, "The last unicorn", opening title of the movie of the same name But… The thing is, I looked. And I could not see her. The sky is empty, the last unicorn is gone! Ok. Judging from all the songs of my recent posts, you can surely guess my physical age. And judging from all the additional non-sense I wrote, you can precisely tell my mental age Will continue to work on the project during this weekend. Cheers, Peer
|
|
|
Post by Peer on Mar 1, 2021 3:44:46 GMT -5
Hmm, I think I am ready to cast the ring into the fire… I fixed two more bugs over the weekend, a serious one causing some levels not to end even after the protagonist's death, and a minor one which was giving away bonus items for free. I also (almost completely) finished the manual, but other than that I heeded Treebeard's advice: "Don't be hasty". Since I already revealed this to one person in an email, here is some more information on the project: The game itself does not have to do anything with Tolkien's "The Lord of the Rings", but the fictitious background story which I invented (together with my kids) is very much inspired by elements of that fantasy epic (and by some other sci-fi and non-sci-fi stuff). In addition to that, the game's action - in a certain sense - has literally figuratively something to do with rings (the adverbs are used very much on purpose here). So this is how the code name(s) of the project came up, and this is why I am maintaining Tolkien-speech for a little longer here. If you are not familiar with "Lord of the Rings", or if want to refresh your memory, watching the prologue-sequence of the extended edition of "The Fellowship of the Ring" (Galadriel explaining the origin of the rings and narrating the rise of Sauron and the creation of the one Ring) on your favorite streaming service might set you in the right mood to enjoy reading the manual… I will use the next days for some more testing and playing, and if all goes well, I will publish the release candidate by the end of this week (maybe on Thursday evening or on Friday), as I guess that most people won't have the time to check this out earlier anyway. I will probably keep posting some more spoilers here. Just for the fun of it. I am not trying to hype this in any way. I am not going to either produce or sell the game, so there is no reason for hyping. The whole thing is meant as a surprise for a friend, and the binary will be available for free. It just was (and still is) one hell of fun to work on this project, and I haven't enjoyed programming in C that much for a long, long time. If you don't want to read any further quotes or non-sense stuff, just skip this thread for a couple of days. Many Cheers, Peer
|
|
|
Post by VectorX on Mar 1, 2021 9:09:35 GMT -5
I will probably keep posting some more spoilers here. Just for the fun of it. If you don't want to read any further quotes or non-sense stuff, just skip this thread for a couple of days. Actually there's a "spoilers" function on here. Whenever you're creating a new message, there's a row of icons at the top right corner of the screen (right below the Add Attachment button), the very last one on the far right shows a face with its finger right in front of its mouth. That's the spoiler key, so just press that and insert text in the "spoiler body" part of the screen. Here's an example: {Spoiler}You shouldn't have clicked on this, nor should you read it. I TOLD you you shouldn't read it, now look at what you did! Idiot. So, you can just put stuff in those that you think would reveal too much and just carry on as usual.
|
|
|
Post by Peer on Mar 3, 2021 3:05:38 GMT -5
For reasons I have posted in the Academy thread, I had no time to do any further playing of Project X. So the release candidate will probably go out this weekend as it is now. Without any further testing. Ouch As for the game…
Cheers, Peer
|
|