sorry for the delay. The last class meeting was on the past Monday and I had meant to post on the very next day, but then I fell slightly ill on Tuesday, and Wednesday was a public holiday. So things did not exactly go as planned.
But here is the good news. There were 16 students present on Monday, and only one was missing. This is great! Not that one was missing, I mean, but that almost 100% are still with the course. And my guess is that the one not present was most likely missing due to illness as well, as there are currently many viruses going around here. I am talking about the non-digital ones…
The main topic we talked about in class was sound and how to add sound effects to a C project. We covered the basics of the Yamaha sound chip of the Vectrex console and then took a closer look at the sound routines of the Vectrex RUM. Yes, they have their limitations, but they are not that bad at all, as they provide a rather easy means of playing a sequence of tunes in parallel to the game action without having to care for the lower level details. This includes playing melodies as well as explosions, and the BIOS explosion routines really allow for some nice sound effects.
There have not been that much updates to the gallery page over the past days, but there are more to come. As always, the most recent changes are listed in the change log at the bottom of the page.
Eleven students were present at yesterday’s course meeting, including the one who had not been able to participate last week and who is still with us, which is great. Some of the others had excused themselves, as there were also several field trip excursions going on yesterday, at which students are given the opportunity to visit local companies and potential future employers.
In class, we did quite a bit of testing the current project implementations on a real Vectrex, discussing and investigating some simulation/execution mismatches and exploring some of the infamous quirks of the Vectrex. It was nice to see (or rather hear) that some students had already put to use the sound related topics we had dealt with at the previous classroom meeting. Several projects now have sound effects, and two have a nice in-game music.
We then talked extensively about (pseudo) random numbers, the BIOS Random() routine and its disadvantages, and about how to implement your own pseudo random number generator in C, concentrating on lfsr and xor-shift generators.
Some other topics, which we also addressed, were how to achieve Minestorm-type effects like a rotating space vessel that shoots projectiles at various angles, and like objects that can accelerate and decelerate and move at different speeds.
We concluded with a brief discussion of simple AI used in video games at which point I gave a short introduction to how the AI of the fours ghosts in Pac-Man works.
At today’s classroom meeting we mainly did test runs of the student projects on a real Vectrex. We also discussed several programming problems related to specific projects. Most of them are on their way now, some few are already close to reaching an early alpha status.
There have been quite a lot of updates of the individual project web pages, including uploads of demo videos. Check out the gallery page for more information.
Do the student desks receive a name plate that includes their updated rank when attending your class?
The ranks are a leftover of the initial online entry test and the programming puzzles contest. When solving the puzzles, the students could score points and were awarded a rank. That was a fun part of the contest. The more puzzles solved, the higher the rank. In order to obtain a seat on the course, they had to make their way from the rookie rank of "wanna-be coder" up to "programmer".
When the course started, we decided to keep the rank element. On the one hand, the course is a programming class. On the other hand, it is about realizing a complex software project. Again, in order to make that a bit more fun, we do some sort of role-playing game. We simulate being a software company in 1982 right before the release of the Vectrex system. Our task is to provide a set of games which are to hit the market when the console is presented to the public. In this simulation I try to teach the students a bit about software development and software engineering processes in general (concepts, stages, testing, release cycles, marketing, etc.). Most of them have heard about such things in previous lectures, but (in my opinion) it is much better to experience them in real (well, ok, simulated) life while doing a real project.
So, in our company simulation, everyone (except for me, of course, he he) starts their job as a simple "developer", and, like in real business today, can work up their way and climb up the company ladder by progressing through the important project stages. I do what I hate most: be a "manager" and do "management stuff" instead of "programming stuff", trying to coordinate all the individual projects
So, in essence, the ranks are intended to be just another fun element, trying to motivate the students. Unfortunately, no name plates on their desks
PS: Will also post an update on the recent class activities soon.
Uhh, it's official, now. :blush: It's a honour and pleasure for me to support you, Peer, and your students in your studies. I just had a quick look in the project gallery and it's great to browse and read the various game descriptions with sketches, screenshots, and even videos included. Thank you for your and your students excellent work and effort! Another "Thank you!" goes to Richard Hutchinson for producing his excellent VecMulti, again!
It feels like yesterday that this year’s Vectrex course has started, and already the semester is drawing to a close. And yet once more I have not been able to keep up posting regular weekly updates here. Sorry for that, I will definitely try to do better next year. There have just been too many unexpected events during the past weeks that required rescheduling priorities.
Here is a very quick summary of the most recent activities:
There was no class on last Monday due to yet another public holiday. During the previous weeks, classroom attendance had settled to a good 10 to 12 students per session. We actually covered quite a lot of topics, at one point digging really deep into assembly language and C compiler stuff.
Most of the projects are going along very well. Some have already declared alpha or beta status, and the first binaries are available for testing, just check out the gallery page. If you try them out, the students would definitely be very happy to read some feedback here on the forum. It doesn't have to be some extensive test report, any kinds of thoughts are highly appreciated.
By now it also seems very likely that 2 to 3 of the projects have been cancelled by their respective developers, but let us wait for tomorrow, when I will see the students for the next time.
That too - but it would be refreshing to NOT do Vectorblade. But right now I have a project at work that must be finished by Wednsday. And after that I will be on holiday for about 2 weeks. WITHOUT any kind of Vectrex :-).
Let's do it, let's do it, again. It's late for feedback and reviews but I think feedback is always useful and inspiring. I'm a bit lacking of time and will be on holidays, soon. But I'll try to give some feedback to this year's games.
First my "disclaimer":
An important note for all my reviews: I much appreciate the work, effort, and thoughts that all you students have put into your games! My "reviews" are rather feedback and suggestions and not so much reviews that judge whether a game is good or bad. Criticizing a game is simple compared to writing a Vectrex game - especially the very first game. My criticism is intended to give you hints and ideas to perhaps make your game even better. Some of my ideas might be simple to implement, some might mean quite some effort. Decide yourself which ideas you pick up and which ones you don't. In no case feel obliged in any way. Even leaving your game as it is now, is fine for me. Though, I do admit that I'm picky and I do like high quality and complete Vectrex games. If you should have questions regarding a specific suggestion you can post here or contact me via PM (English and German are both fine).
Thank you all students for your excellent effort and love that you put into the development of your game!
Below please find feedback for the game Daisy Land. The game is in alpha status and can be played, already. I've played Daisy Land using the emulator ParaJVE and keyboard.
· GENERAL NOTES
The game is a jump & run game. The roles of Mario and Princess Daisy are swapped, i.e. you control Princess Daisy and you try to rescue Mario. You have to jump and run and avoid turtles.
· WHAT I LIKE - A jump & run game on the Vectrex (there aren't too many of them) - Horizontal paging (several screens) - Music while playing - Princess Daisy lifts her arms when jumping - Animation when Mario is rescued.
Horizontal paging: Princess in wall When paging horizontally, it happens that the princess is inside a wall. To reproduce: Walk to the left --> New screen is shown. Walk to the right --> Princess is in wall. (Repeat this procedure if the bug hasn't occurred)
Endless turtle scoring Not really a bug but it doesn't feel right: You can jump on a turtle and score 2 points. You can repeat this and jump on the same turtle over and over, again.
Visited Boxes When hitting a box the box is marked and you score some points. When moving on to another screen the same box is marked although the player is on a different screen.
No running and jumping Again, not really bug but it feels like a bug: When moving the joystick diagonally (top-left or top-right) you expect that Princess Daisy jumps vertically. Unfortunately, running (joystick left) and then changing to jumping (joystick top-left) isn't supported. This is unusual for a Jump and Run game. EDIT: Perhaps this problem occurs only when playing using ParaJVE and a keyboard.
Flying turtles When playing and reaching level 3 the turtles sometimes fly in the middle of the screen. It takes a while and then they fall down on the ground.
Playability ATM, the game is very difficult or even impossible to play. Once you fell in a pit you are lost. Jumping is not so intuitive (see "Bugs"). Suggestion: The most important thing of a game is that it's playable. This is the most important part to work on, I think.
EDIT: I played more and could even finish the first three levels and rescue Mario. :-) So it's a matter of practicing and trying. Jumping when moving the joystick diagonally would improve playability a lot, I think.
Walking to next screen
After jumping all three boxes the status screen appears and the next level starts.
Suggestion: If I understand right, the game supports horizontal paging/scrolling. Instead of automatically switching to the next screen the player should walk to the next screen.
Various turtle speeds Currently, all turtles seem to move at the same speed. When two turtles are in a pit they move in sync. Suggestion: Each turtle could have its specific (random) speed. This would look more realistic and turtles would no longer walk in sync. This could even become part of the game play i.e. the player might need to wait till turtles have reached each other so that the player can jump on all of them.
Graphics: Turtles Currently, the turtles look like small sheep. Suggestion: See drafts below.
Graphics: Princess The graphics of the princess is quite simple but good and one can clearly see that it's a princess. The head of the princess is a bit large compared to the body and the arm.
Suggestion: Smaller head or a bit larger body/arm. An eye (dot or short line) might also be good and would help to see the direction the princess is heading.
Music: Blues?! Currently, the music sounds a bit minimalistic and a bit like a blues. Suggestion: I'm not sure and might be wrong but the melody sounds as if some notes are off/wrong or missing.
Graphics: Brightness of platforms Currently, all objects seem to have the same brightness Suggestion: Platforms could be darker while the player and the turtles could be bright(er).
Hovering turtles Currently, the turtles seem to hover over the floor.
Suggestion: Turtles legs should hit the ground. Some animation (feet, head) would be cool.
Graphics: Green Overlay
Currently, the overlay mainly uses green.
Suggestion: Green is nice but a blue sky with some white clouds might look good. Bottom part could be green and perhaps some brown at the very bottom.
Yesterday was the last official classroom meeting of this year's Vectrex programming course. The semester is over, and there are no lectures anymore. From next week on, all the exams will start, and that phase will last for two weeks. Once it is over, I will offer one or two more opportunities to test projects on a real Vectrex console, but for now most of the students will take a break from programming, focusing on their other exams, for which I wish them the best success!
The final delivery of the Vectrex projects is scheduled for the very end of July. The current status of all projects can be seen on the gallery page which I have updated just today. There are quite a lot of binaries available by now, and there will probably be more updates over the next days.
I did these on a lazy day at work. I had no sound switched on so not to "disturb" any co-workers :-). Sooo I can't make any comments on sounds...
Daisy Land ---------- Technically good, 50Hz
Game fully playable.
+ different levels, are they generated? + "intermission" scenes, death by knocked out sheep, rescue mario etc.
- controlling takes a bit of getting used to, one can only jump when you stop moving. Then the jump goes straight up and once reaching the top height the jump "moves" to the side you last moved to, that is very strange!
- sheeps can be knocked out by jumping on them, but the knocked out sheep kill you the same as the non knocked out... hmmm
One can not "walk" out of a screen - but one can actually "jump" out of a screen when jumping out of bounds (either side). The needed "block" count stays, so if you hit 2 blocks in the last screen - you only need to hit one in the next, to reach the next level.
I finished the game (level 5) which wasn't too difficult.
The game is more of a "demo". If it had some more levels, perhaps some more mechanics and opponents - it could grow to a "puzzle" game. For a jump'n run the movements are to "strange" - at least for me.
It's split screen view, which is actually cool, reminds me of the old driving games like pitstop or Lotus Esprit. One player takes the top, the other the bottom. AI play doesn't work yet.
The "person" you see in your half is the other player - you only see your sword - which you can move left/right/up not down. To attack press button 3 and/or any direction and button 3. To defend move up/left/right and press button 4.
You see your animated sword movement in the "person" image in the opponents view. You have to get thru to the opponent for I guess 0.5 - 1 second - if he doesn't defend fast enough you score a hit.
If you are victorious you see a little "slash" dance?
Seems nice - but I have not second player to test it with.
This would have been a nice addition to "Player 2"!
Unkown ------- Technically good, 50Hz (in later levels, with many astroids - the refresh frequency drops)
Game fully playable. Up to level 09!
Is basically an Asteroids with a) background stars (blinking) b) only small asteroids
The game starts with one small astroids, which you can/must shoot. If all asteroids are destroyed, the next level starts - with one additional asteroid.
Within one game the asteroids do not appear randomly - so it seems - each level starts with the same asteroids at the same position, only one more.
So - if you have a nasty one and destroy it - be prepared, that in all later levels this one will also appear.
In level 9 (or after the display level 9) you are not able to destroy the last asteroid - so the game basically is finished than.
Hole Run -------- Technically good, 50Hz
Game fully playable.
Basically a "dodging" game. Stuff "falls" down and some you can collect some you have to avoid. Actually there sort of is "more" - - things you can collect - things you can jump over (button 4) - things you crawl under (button 3)
I played quite a while (Level 14) - but I never successully used the jump or crawl. Simply: You don't need it! You can avoid all obstacls by just moving around them - so that part of the game mechanic was lost on me.
The mentioned "cat" is I think not implementd - at least I did not see it.
The game is quite simple but well playable. For my taste (especially the cheese) collision detection could be improved - but I think the same about "WebWars" - so once you are used to its quirks you can work with it.