C4 - 2008 discussion

Hello guys,

I've been working a bit on porting Vectoroids (by Bill Kendrick). This SDL game performs direct access to the frame buffer pixels. Although it claims to use fast geometric calculations, the per-pixel access is poor in terms of speed.

The game also uses some sort of "gouraud shading"-like color interpolation. That is based on RGB and can't be done with paletted display. However I've got to use paletted display for several reasons (1: hires 640x480, 2: SGLs bitmap library only works with 8bit palette).

The current implementation (software renderung) lacks a lot of speed. Gouraud shading is also disabled. The display flickers a lot, due to double interlacing and too heavy cpu usage. Apart from that, sound, music, graphics and gameplay work fine.

But I figured on that particular game, I might as well use 8bit paletted hires display for background and use VDP1 accelerated lowres 16bit display with gouraud shading for the vectors. That's the plan, at least. Stay tuned!

Title screen:

00000010.JPG


In game #1:

00000015.JPG


In game #2:

00000017.JPG
 
Here are some new screenshots (made with SSF) of the finished Vectoroids port. I've had some trouble with gouraud, it behaves differently than in the vdp1 docs.


The vector drawing is now done with gouraud shaded lines drawn by the vdp1. The background is 640x480 8bit paletted (hires+double interlace), the vectors are 320x480 RGB double interlace.


This is my second "finished" port for this contest. But I expect some changes to be made when I test it on a real saturn. It always happens that it looks and plays a bit different on real console, than on emulator.


00000021.JPG



00000025.JPG



00000028.JPG



00000030.JPG
 
RockinB said:
As you can see on the left screenshot, yabause does not support the VDP2 window function.

In fact it does since few releases, you have to use the software renderer.


RockinB said:
The vector drawing is now done with gouraud shaded lines drawn by the vdp1. The background is 640x480 8bit paletted (hires+double interlace), the vectors are 320x480 RGB double interlace.


This is my second "finished" port for this contest. But I expect some changes to be made when I test it on a real saturn. It always happens that it looks and plays a bit different on real console, than on emulator.


Well done and the two entries are in high-res ! I won't compete with that. My second entry is on the way, I hope it will work on Saturn.
 
I've been curious about coding for the Saturn and for a while I was reading some of the guides that used to be up but where are they now? I would like to read up on some of that information.
 
TrekkiesUnite118 said:
I've been curious about coding for the Saturn and for a while I was reading some of the guides that used to be up but where are they now? I would like to read up on some of that information.

You're lucky, antime's website on saturn documentation is up again:

http://koti.kapsi.fi/~antime/sega/docs.html

I'd love to see a newcomer doing some saturn homebrew stuff. You're welcome to join the contest!

Meanwhile, I did a bad choice with porting Tower Toppler. It gained my attention with it's nice graphics and it's addicting gameplay. Here's a screenshot:

shot2_hr_tn.png


Well, at first it didn't seem to be a problem to port it to Saturn. But after porting for some days, the main problems are:

  • uses a lot of different SDL functions -> hard time for creating an SDL-to-SGL wrapper
  • written in c++ (had startup problems, because it hangs in __main())
  • memory allocation: a strange mix of malloc/free and new/delete. Memory usage is quite wastefull, a lot of redundant copy procedures.
  • data is too big to fit into RAM, even in it's original palette format. It's converted to RGB, which uses even more RAM.
  • graphic data is stored in a custom format, it's hard to access before runtime

All graphics and sounds are located in a zlib compressed file toppler.dat. It's been no problem to pre-extract the archive, so I got all .wav files and several .dat files containing the graphics. The game allready compiles and I'd consider all sound related stuff as finished, but graphics and data stuff is still to be done. These .dat files however are quite huge and each one has a different file format. There is no extraction tool and their size doesn't fit the size I expect when I look at what the c++ code reads from it, which is less. Basically 80% of the game code is about accessing and handling that data.

All in all, the port requires deep modification of the original game. I've read from the gp2x port that it is even too difficult to just modify the display size. He's doing a realtime downscale after the game is rendered completely.
 
RockinB said:
You're lucky, antime's website on saturn documentation is up again:

http://koti.kapsi.fi/~antime/sega/docs.html

I'd love to see a newcomer doing some saturn homebrew stuff. You're welcome to join the contest!

Well, don't expect much as I am pretty bad with C and C++ and don't know much. I do know a bit of Java though. I'm really just intrested in how programming is done on the Saturn really. I did have an idea for a port to Saturn though. Do you think a port of Stepmania could be possible? It's open source and written in C++.
 
TrekkiesUnite118 said:
Do you think a port of Stepmania could be possible? It's open source and written in C++.
StepMania is really designed with PC specs (especially RAM) and PC APIs in mind. It might be possible to port it if you simplify the theme and drop a bunch of features that wouldn't be feasible on Saturn, but it would be difficult at best.
 
ExCyber said:
StepMania is really designed with PC specs (especially RAM) and PC APIs in mind. It might be possible to port it if you simplify the theme and drop a bunch of features that wouldn't be feasible on Saturn, but it would be difficult at best.

Yeah, thats what I was getting at from the beginning, if a lot of the features were removed and just the core DDR gameplay was retained so in essence it was just like a home version of DDR could it be done.
 
SeGaFrEaK_NL said:
Any updates?


Quite busy and tired. Here are two pics, got no sound yet on wolf3d. The remaining time starts to be short to finish them.
 

Attachments

  • wolf.jpg
    wolf.jpg
    97.1 KB · Views: 105
  • xrick.jpg
    xrick.jpg
    97.1 KB · Views: 110
Indeed, great work, VBT! Your ports are far more complicated than teh ones that I've chosen. I had completed 2 simple ports around christmas, 2 other ones have been started, but turned out to be a very bad choice. I plan to add a third entry to my ports.

Has enyone yet taken Miss Driller? It should be easy enough to be done in the remaining time.

I have requested holidays for the next week, since it's the last week to work on C4-2008 entries, before the deadline. So I'm keen on doing some porting work, next week 🙂
 
Parchance can we have some extra time. VBT wanted me to ask. I could use a little extra time, that is a really bad time for me, school is really busy then, class ends later that week then I have a final.
 
Amon said:
Parchance can we have some extra time. VBT wanted me to ask. I could use a little extra time, that is a really bad time for me, school is really busy then, class ends later that week then I have a final.

Maybe extra time after submiting entries in order to try to polish them a bit.

SeGaFrEaK_NL said:
Looks good VBT! Perhaps you could use some CDDA tracks?

Maybe for musics but not for sounds, I didn't have time yet to add sound play, I have only tried to run these entries on a real Saturn. There were some problems but both are working now, also the big bugs I had on xrick with ssf and yabause never happen.
 
At least you guys had something. I wanted to do an entry this year but just didn't have any time to sit down and do it. And I couldn't get SaturnOrbit to compile anything at all, not even Rockin-B's stuff would compile.
 
Trekkies, if you need help getting SaturnOrbit to work, let me know. I have all the standard chat protocols (IRC, ICQ, Yahoo, AIM, Google, MSN, Myspace, Facebook). If you are running Vista you may require the patch/update which I threw together.
 
Sure we can help you TrekkiesUnite118, it's a bit short to submit something but we can help you on IRC to make an entry. (#segaxtreme & #smspower)
 
Hello dear Saturn devvers,

the last weeks I've been moving to a new flat, unfortunately at the same time when the contest ends. Because of that, I'm offline since 8th march until at least 1st april, so I couldn't even contact you guys.

Since everyone has requested an extension and since I have to spent some more time on moving to my new flat before I can organize the judging proceedure, I'd suggest that we extend the C4-2008 deadline until 30th of april.

I hope that will give you, vbt, Amon and possibly TrekkiesUnited, some opportunity to tweak your entries and apply some improvements and bugfixes that you didn't had time for. I'll enter at least two entries, myself.

Thanks for your work so far and I wish everyone much success with their entries.

Rockin'-B

Amon said:
Parchance can we have some extra time. VBT wanted me to ask. I could use a little extra time, that is a really bad time for me, school is really busy then, class ends later that week then I have a final.

Amon said:
Well it seems both VBT and I missed the deadline.

So no, you didn't miss the deadline, since it's extended until 30th april. Thank you both for submitting your entries, I lucky to download and test them, immediately!
 
Back
Top