Jump to content
gorgh

"Warships" Fujinet Game ABBUC 2021

Recommended Posts

Hi there folks,
I'm working since 2 weeks on a network game for Atari 8 bit computers. Basically it's a battleships game for up to 6 players. First you place ships on your territory and then you attack the oponnent's area. When you hit something it's displayed on your screen. The main engine is more or less ready, now I have to rewrite the server code because UDP transmission  sometimes doesn't deliver all the data, and it's crucial that every player gets all the packages, so I'm switching to TCP.
The gameplay starts at 2:00.
The game will be submitted to ABBUC software contest 2021.

 

  • Like 21
  • Thanks 1

Share this post


Link to post
Share on other sites

Cool! Is this the very first original game written to take advantage of FujiNet?

 

And, could it also be played using, say, DragonCart or else?

 

- Y -

  • Like 1

Share this post


Link to post
Share on other sites

I believe so, it's the first original game for Fujinet (the other is Midimaze if I recall correctly)
I'm not familiar with DragonCart, but I will take a look

  • Like 1

Share this post


Link to post
Share on other sites

8-bit slicks also has a (preview) version for fujinet http://8bit-slicks.com/?p=793

 

I think Warships is the first game (aside from test/proof of concept games) written specifically for fujinet!

 

 

  • Like 3

Share this post


Link to post
Share on other sites

Hello guys

 

3 hours ago, gorgh said:

I believe so, it's the first original game for Fujinet (the other is Midimaze if I recall correctly)

 

Not sure if I got it right, but AFAIK FujiNet can simulate the MIDI-Mate interface.  So the existing, unpatched software thinks it's talking to the MIDI-Mate interface while in reality it's talking to the FujiNet.

 

Sincerely

 

Mathy

 

Share this post


Link to post
Share on other sites

Here's a footage by Misza showing 4 player mode
Big thanks to Teddyboar, Dely, Misza, Bocianu, Santyago for a numerous testing sessions

 

  • Like 3

Share this post


Link to post
Share on other sites
On 6/1/2021 at 5:08 AM, gorgh said:

The main engine is more or less ready, now I have to rewrite the server code because UDP transmission  sometimes doesn't deliver all the data, and it's crucial that every player gets all the packages, so I'm switching to TCP

This is great! Will you be sharing source code or binaries for the server? I'd love to host a server on fujinet.online.

Share this post


Link to post
Share on other sites
On 6/1/2021 at 8:57 AM, Yautja said:

Cool! Is this the very first original game written to take advantage of FujiNet?

 

And, could it also be played using, say, DragonCart or else?

 

- Y -

There are no completed CIO drivers for the DC that I know of. I posted a start that handled UDP and did things similar to the FujiNet, such as OPEN "I:UDP:192.168.0.1:44044" and so forth, but no one really continued it and I ran into real-life issues that took up all my time. The main difference between DC and Fujinet is that DC uses an on-cart cypress chip and direct memory transfer, whereas FujiNet uses an intelligent co-processor board with it's own TCP stack communicating across SIO. I had started off with a similar attempt, but I found the line delay of SIO to be too limiting for fast action games using UDP, which was really my target. DC has some support from a different OS...I forget the name right now but it's a linux-y multitasking OS that has a TCP stack that works with DC. Altirra has DC support, but just the hardware, not the driver stack. Anyway, FujiNet is a great piece of work, especially for TCP and anything that doesn't need really fast response. DC can theoretically outperform it but it's a moot question at this point, FujiNet is the way to go.

If anyone feels like working on the DC drivers I had, just let me know and I'll send them to you. It's all in CA65 and supports extended memory for buffers, but as i said, UDP only. There's a TCP start but that's when I got sidetracked.

 

So thats a lot of words to say : No. 

 

Looks like a great game, by the way! Nice.

Edited by danwinslow
  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
14 hours ago, mozzwald said:

This is great! Will you be sharing source code or binaries for the server? I'd love to host a server on fujinet.online.

Once the game is ready I will share both source code and node js server

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

Hi there folks,
After couple weeks of hard work I managed to finish (I hope) playable version of the game. It wouldn't happen without Fujinet emulator, so firstable I wish to thanks people for making it, and bocianu for creating a tutorial.
The game is a typical Battle Ships game for 2 of 4 players. There are 6 slots where other players wait for us, when the neccessary number of players is there the game begins. At the beginning we have to place our ships on our teritory, we have to remember about couple things though:
-pressing space rotates the current ship
-ships cannot be placed next to each other, there has to be at least one field empty between them
-you cannot place ship on the land
When everybody place their ships the game begins. The player has 12 seconds for shooting, after that time the round is passed to next player. The game ends when only one player still has his ships on the board.
At any given moment the player can press ESC to go back to main menu. There's a chat where one can communicate with other players at any given moment (right part of the screen).
The game was heavily tested by couple people, still it probably has some bugs, so this is 0.8 version (I would appreciate bug reports).
At the end I wish to thank a lot to my friend Irata4 for donating his money as a game sponsor, and I wish also to say thanks to all the testers:
-misza
-bocianu
-dely
-teddyboar
-santyago
Without them the game wouldn't exist.
---
Have a nice time with this game and please report any bugs that you will encounter.

warships.xex

  • Like 4
  • Thanks 1

Share this post


Link to post
Share on other sites

oh I forgot about Tomas Cherryhomes, he was very helpful, and he also decided to host game server

  • Like 1

Share this post


Link to post
Share on other sites

I just enjoyed a game with @xrbrevin (I lost!).

 

I would add a buzzer when someone joins.

While waiting for people, I used the PC nearby my 800XL.

After a one hour wait, it was by chance that I noticed xrbrevin joined.

 

I would add comma and apostrophe characters to the chat, they do not work now.

  • Like 3

Share this post


Link to post
Share on other sites

great fun and works fine! chat is great to do on the old hardware too.

i was being thoroughly thrashed by @Philsan but just got lucky at the end 🙂

if you could improve the gamefield graphics it would be more refined but maybe thats a job for the sequel?

well done and thanks!

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

glad to hear that folks!
that's actually a very good idea to add sound to a game, I thought system sounds of SIO transmission have some kind of charm and roughness, but the regular sounds would be helpful.

Speaking of refining the graphics- I will think about that, thanks.
BTW I see that sources are being downloaded quite often, please do me a favour and in case you want to publish a game on your own server just rename the title, so people will know they are playing on different server (players can see each other only if they share a server)

Edited by gorgh

Share this post


Link to post
Share on other sites
On 6/16/2021 at 3:40 PM, danwinslow said:

There are no completed CIO drivers for the DC that I know of. I posted a start that handled UDP and did things similar to the FujiNet, such as OPEN "I:UDP:192.168.0.1:44044" and so forth, but no one really continued it and I ran into real-life issues that took up all my time. The main difference between DC and Fujinet is that DC uses an on-cart cypress chip and direct memory transfer, whereas FujiNet uses an intelligent co-processor board with it's own TCP stack communicating across SIO. I had started off with a similar attempt, but I found the line delay of SIO to be too limiting for fast action games using UDP, which was really my target. DC has some support from a different OS...I forget the name right now but it's a linux-y multitasking OS that has a TCP stack that works with DC. Altirra has DC support, but just the hardware, not the driver stack. Anyway, FujiNet is a great piece of work, especially for TCP and anything that doesn't need really fast response. DC can theoretically outperform it but it's a moot question at this point, FujiNet is the way to go.

If anyone feels like working on the DC drivers I had, just let me know and I'll send them to you. It's all in CA65 and supports extended memory for buffers, but as i said, UDP only. There's a TCP start but that's when I got sidetracked.

 

So thats a lot of words to say : No. 

 

Looks like a great game, by the way! Nice.

The FujiNet has a "MidiMaze" mode that puts the device in a streaming mode and reflects UDP packets. This works well for action games, but it needs to be fleshed out a bit more to handle arbitrary clock rates. The SIO port is a bit interesting in that it can sync to external clock rates roughly 3 to 4 times faster than the internal clock can generate, so very high speed transfers are possible.

 

-Thom

  • Like 1

Share this post


Link to post
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...