Author Topic: Who wants to make a MMOG for CPC?  (Read 5451 times)

0 Members and 1 Guest are viewing this topic.

Offline zhulien

  • 6128 Plus
  • ******
  • Posts: 920
  • Country: au
  • aka Vorax
    • 8bitology
    • Awards
Re: Who wants to make a MMOG for CPC?
« Reply #25 on: 03:31, 08 August 20 »
I actually want to make some type of dungeon crawler - i know it is ambitious.


I know a chess game or a turn based game like that will 'just work'.


A dungeon crawler can 'just work' also depending on the design.  Imagine a dungeon crawler with many locations, many objects, a story, many players but... a turn-based fighting mechanic?  I would prefer a more action oriented dungeon crawler - but that depends on how many fetches per second a CPC can achieve <-- that is the constraining factor (of course we don't want 100% CPU time to achieve those fetches).
like
0
No reactions

Offline sigh

  • 6128 Plus
  • ******
  • Posts: 1.337
    • Awards
Re: Who wants to make a MMOG for CPC?
« Reply #26 on: 11:47, 09 August 20 »
I actually want to make some type of dungeon crawler - i know it is ambitious.


I know a chess game or a turn based game like that will 'just work'.


A dungeon crawler can 'just work' also depending on the design.  Imagine a dungeon crawler with many locations, many objects, a story, many players but... a turn-based fighting mechanic?  I would prefer a more action oriented dungeon crawler - but that depends on how many fetches per second a CPC can achieve <-- that is the constraining factor (of course we don't want 100% CPU time to achieve those fetches).
Action RPG sounds like a good idea. I also think that having it real time would also be a great test too, as turn based will (as you say) 'just work' like a chess game. Would the dungeons have elements of being randomly generated or would there be fixed locations? I haven't really played a dungeon crawler (only played through, Bloodborne Chalice Dungeons and Dragons Dogma BitterBlack Isle), but it sounds like you would want something quite open world and doesn't have an ending.
like
0
No reactions

Offline Poliander

  • Supporter
  • CPC6128
  • *
  • Posts: 175
  • Country: de
    • Awards
Re: Who wants to make a MMOG for CPC?
« Reply #27 on: 16:20, 09 August 20 »
Something like BrowserQuest might be feasible
like
0
No reactions
Schneider CPC 664 • X-MEM • X-MASS • CTM 644 • DMP 2160 — Schneider CPC 6128 • M4 Board • Z-MEM • OSSC

Offline zhulien

  • 6128 Plus
  • ******
  • Posts: 920
  • Country: au
  • aka Vorax
    • 8bitology
    • Awards
Re: Who wants to make a MMOG for CPC?
« Reply #28 on: 05:53, 19 December 20 »
source for the JS proof of concept if someone wants to code a CPC Assembler proof of concept:


http://8bitology.net/poc/vdu/js/game-mmogdemo.js

like
0
No reactions

Offline zhulien

  • 6128 Plus
  • ******
  • Posts: 920
  • Country: au
  • aka Vorax
    • 8bitology
    • Awards
Re: Who wants to make a MMOG for CPC?
« Reply #29 on: 21:54, 21 October 21 »

MMOG Protocol WIP

The below API is to allow a MMOG game to be server-driven but the client-side to be as realtime as possible.



description:   return viewport tile map, effectively a mask of which tiles to render
allows the map to be maintained server-side but viewport displayed client-side
this should be called as often and as fast as possible, if the area_id changes
we should immediately call this again without rendering the viewport
cachable:      *NO*
api:         getViewPortTileMap
parameters:      area_id=<area_id> (if not provided we are back to home)
player=<player_id>
result:       <status>::<area_id>|<tileset_id/flush>|<viewporttilemap>|<npc_ids/flush>|<item_ids/flush>|<player_ids/flush>|<eventdescription>

----------------------------------------------------------------------------------------------------

description:   downloads tileset graphics for given tileset_id
cachable:      YES, should never change but server can force a flush
api:          getTileSetGfx
parameters:      tileset_id=<tileset_id>
result:       <status>::<tileset graphics bitmaps>

----------------------------------------------------------------------------------------------------

description:   downloads NPC graphics for given npc_ids
cachable:      YES, should never change but server can force a flush
api:          getNPCGfx
parameters:      npc_id=<npc_id>
result:       <status>::<npc graphics bitmaps>

----------------------------------------------------------------------------------------------------

description:   downloads items graphics for given item_ids
cachable:      YES, should never change but server can force a flush
api:          getItemsGfx
parameters:      item_id=<item_id>
result:       <status>::<item graphics bitmaps>

----------------------------------------------------------------------------------------------------

description:   downloads players graphics for given player_ids
cachable:      YES, should never change but server can force a flush
api:          getPlayersGfx
parameters:      player_id=<player_id>
result:       <status>::<player graphics bitmaps>

----------------------------------------------------------------------------------------------------

description:   downloads NPC static data for given npc_ids
this provides details of actions that can be performed with the npc
if the provided conditions are met (evaluated client-side)
cachable:      YES, should never change but server can force a flush
api:          getNPCData
parameters:      npc_id=<npc_id>
result:       <status>::<description>|list of <action_id/action/condition>

----------------------------------------------------------------------------------------------------

description:   downloads items static data for given item_ids
this provides details of actions that can be performed with the item
if the provided conditions are met (evaluated client-side)
cachable:      YES, should never change but server can force a flush
api:          getItemsData
parameters:      item_id=<item_id>
result:       <status>::<description>|list of <action_id/action/condition>

----------------------------------------------------------------------------------------------------

description:   downloads players static data for given player_ids
this provides details of actions that can be performed with the player
if the provided conditions are met (evaluated client-side)
cachable:      YES, should never change but server can force a flush
api:          getPlayersData
parameters:      player_id=<player_id>
result:       <status>::<description>|list of <action_id/action/condition>

----------------------------------------------------------------------------------------------------

description:   downloads NPC stats for given npc_id
this is the current stats of the npc to display
cachable:      *NO*
api:          getNPCStats
parameters:      npc_id=<npc_id>
result:       <status>::list of <stat/value>

----------------------------------------------------------------------------------------------------

description:   downloads items stats for given item_id
this is the current stats of the item to display
cachable:      *NO*
api:          getItemsStats
parameters:      item_id=<item_id>
result:       <status>::list of <stat/value>

----------------------------------------------------------------------------------------------------

description:   downloads players stats for given player_id
this is the current stats of the player to display
cachable:      *NO*
api:          getPlayersStats
parameters:      player_id=<player_id>
result:       <status>::list of <stat/value>

----------------------------------------------------------------------------------------------------

description:   perform an action
cachable:      *NO*
api:          performAction
parameters:      action_id=<action_id>
item_id=<item_id>
npc_id=<npc_id>
player_id=<player_id>
result:       <status>::<description>

----------------------------------------------------------------------------------------------------

description:   client-side render function using cached graphics
api:          renderViewPort
« Last Edit: 21:58, 21 October 21 by zhulien »
like
0
No reactions