Join us on Discord!
You can help CodeWalrus stay online by donating here.

TI-Trek Multiplayer (CE Edition) nears first demo release

Started by ACagliano, November 19, 2017, 10:26:12 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Should the graphics (sprites) for this game be...

Multiple 2D images, at various angles?
3 (37.5%)
16x8x16 3D sprites with a viewing algorithm adapted for it?
5 (62.5%)
Other suggestion (post in topic)
0 (0%)

Total Members Voted: 8

ACagliano

I've been talking about it for a while. Asking questions about how to do this or that. But without any real progress.

Scroll down for a question I have about ship/terrain assets.

Well as of the past week or so, that has changed. I sat down, turned off my Minecraft (with great internal suffering) and got to work. Over the past week, I succeeded in creating the shields, the major non-combat systems, damage reception, power control, and more.

At this point in time, there is no networking implemented and the file is quite large (~15kb). Much of this is due to graphics and AI calculations which, when networking is implemented will no longer be present. The intent is also to hold graphics server-side and send the relevant sprites to the calc during runtime, which will be saved in a temporary assets file. Also, as Kerm told me that CALCnet will likely not be a thing for the CE due to differences in network protocol, I'll probably use the existing USB protocol on the CE with a computer side program to send data to the hub, which would have the ability to interact with connected CE's and CALCnet, allowing the color and monochromes to play on one server. I'll also open source this when done to allow it to be ported to the CSE.

But more on that later. I have very little left to do before I can release a demo. Basically just AI ship control, player ship control, rendering the viewscreen, and firing. In the scope of what I've done already, that shouldn't take too long.

Now, feast your eyes on some screenshots:









The Question:

This game is played in a virtual 3D world. The map objects and ships are technically 3D. My question is, would it be better, both in terms of rendering speed and data size, to create several versions of each sprite, to view the object from different angles, or to create full 3D models for the ships and the spherical map objects (the irregular objects will be rendered differently). For full 3D, I could make 16x16x16 models for each item, leading to an overhead of 4096 bytes per object, which if it's in an external assets file on the CE isn't a major issue. When this game eventually gets backwards-ported to the monochrome calcs, we'd be talking about 512 bytes per object.

If the common consensus is the latter (3d models), is there someone here who has experience making them?
  • Calculators owned: TI-84+ CE

mazhat

Awesome idea, looks complex.

I personally care more for speed than graphics,
so 2-d would be nice. I'm guessing it would look like
Turn and Burn for the Gameboy.

Note:
You can make "polls" for voting when you're making a thread.
I think you can add them later too.
  • Calculators owned: TI-83Plus, TI-84Plus
  • Consoles, mobile devices and vintage computers owned: Samsung TAB A (Cheap), DSI, Rasperry PI 3
Sketti

ACagliano

  • Calculators owned: TI-84+ CE

Dream of Omnimaga

That looks nice. It didn't look as great on Messenger because it cropped the borders but with the full-view of the screenshots it looks better. I like the layout as well. Good to see you're adding some graphics or icons, though.

As for graphics, I would be ok with 2D sprites with no 3D effect. You don't have to add 360 frames for each angle or something lol
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Ranman

This looks awesome!!!   :thumbsup: :thumbsup: :thumbsup:

Ranman must go buy a CE now.

I vote for using 2D sprites for the ships and objects.  :)
  • Calculators owned: TI-89 HW1, TI-92+, Casio 9860G Slim, Casio fx6300, Tandy PC7
Ranman
Bringing Randy Glover's Jumpman to the TI-89 calculator. Download available at Ticalc.

ACagliano

Thanks for the comments guys. Gotten a bit more progress done.

This is the Weapons Control system. Here you can see what weapon class and type are equipped, their damage rating, shield and hull efficiency, module power setting, module health, and eventually the name of the entity or player the module is currently targetting (via targetting sensors). You'll be limited to 3 weapons modules. An unset module simply doesn't show up, and an offline module shows up red.



And a slight modification to the Mains system status panel. There's now an online/offline indicator, and pressing Mode with a module highlighted toggles that.



v0.0.18-pre  __ Saving Ship/Player data officially added __
  • Calculators owned: TI-84+ CE

ACagliano

Update

An alpha demo is almost here. Got pretty much all the basic combat systems complete. Just have to add in phaser/torpedo sprites, rendering, and target tracking. Then work out any bugs in the firing/movement/rendering system. Here's an image with the demo opponent, a Borg sphere, rendered on screen.
  • Calculators owned: TI-84+ CE

ACagliano

I need help debugging my rendering routine. Anyone fairly experienced with C and rendering who can take a look at my code?
  • Calculators owned: TI-84+ CE

Dream of Omnimaga

  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Adriweb

I've never actually written any 3D rendering code myself, so I probably can't help on that part, but maybe general opts.
Is the code hosted somewhere like GitHub ?
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Ranman

So... I finally got this up and running on my calc and CEmu.

Is this an original idea or are you trying to remake a game that already exists. If the latter, can you provide a link as to what this should look like in action?

Looks pretty good so far. I see the issues with rendering you were talking about.

Now... i finally may be able to help.

I was unable to install the Atlassian Sourctree on my WinXP platform as it doesn't support WinXP -- go figure. So im a bit at a disadvantage. Trying to rectify. I finally downloaded Win10; but before I install it, I wanted to get a SSD and a memory upgrade from 4GB to 8GB. That should be done by Wednesday of this week.

Chat later.

  • Calculators owned: TI-89 HW1, TI-92+, Casio 9860G Slim, Casio fx6300, Tandy PC7
Ranman
Bringing Randy Glover's Jumpman to the TI-89 calculator. Download available at Ticalc.

mazhat

It would be nice to have some game play on video.
Just for archive reasons.
  • Calculators owned: TI-83Plus, TI-84Plus
  • Consoles, mobile devices and vintage computers owned: Samsung TAB A (Cheap), DSI, Rasperry PI 3
Sketti

ACagliano

#12
Hey guys. Sorry for the delay in updates.
As of now, rendering has improved substantially. Scaling is fixed, as is half of Field of Vision. Sprites now also clip to the viewscreen.

What is remaining are the following two bugs:

1) Your ship starts at an XZ angle of 0 and a Y angle of 0, a vector of 0,0. The other ship is in the viewscreen, at an angle of 3 degrees on the XZ and 0 on the Y. It appears onscreen. If I rotate my ship to the right (angle values increasing), the other ship moves off to the left as it should. However if I move off to the left (decreasing), once the XZ angle for the viewer drops to 0 and then loops to 255, it registers a difference of 252 degrees in the angles, and thus the enemy ship vanishes, despite actually still being 4 degrees away. I've added this code: if( diffXZ > 128 )   diffXZ = 256 - diffXZ; In an attempt to rectify this, to no avail. Link to code for that here: https://pastebin.com/9sAPE4HW

2) My entity tracking algorithms seem to not work properly. Projectiles do not appear to track their targets, nor does the AI seem to track the player, and since they both use the same AI subroutines, it would make sense. I DO need #1 fixed before I can resolve this tho.


As far as video footage, there are some animated screenshots on my project page: http://clrhome.org/startrek/'s gallery tab. There is no full gameplay footage yet, as the game isn't stable enough for that yet.

As far as what this is based off of.... there is a Gameboy Star Trek TNG game that was the inspiration for the LCARS interface and rendering system and sensor dialogs I will be using. As far as other calculator games go, tifreak has plans to make a singleplayer Star Trek game, though he's still learning C and he has access to this repository as well to see some code in action. THIS particular game, while the demo's will initially be singleplayer demos, eventually PvP between two calculators will be introduced as a precursor to networking via the CE's USB port, with an eventual backwards compatibility for CALCnet (at which point I'll open source this for porting to the monochrome calculators), using a CALCnet hub. This will allow older z80's to connect, and I'll probably have to write (or outsource the writing of) some sort of computer script to convert the CALCnet stuff into stuff the CE can read over USB. I might ask Kerm Martian if I can take a gander at his Direct USB stuff at that point.
  • Calculators owned: TI-84+ CE

Pieman7373

Okay, this is pretty much the coolest thing i have ever seen! I can test stuff :3
  • Calculators owned: TI-80, TI-81, TI-82,TI-83+, TI-84+SE, TI-84 Pocket SE, TI-84+CSE, TI-84+CE, TI-89 Titanium, TI-92, TI-92 plus
  • Consoles, mobile devices and vintage computers owned: Atari 2600, Sega Genesis (model 2), Sega Game Gear, Playstation 2

ACagliano

#14
Update

Field of Vision issue resolved.
Remaining things to do before demo: Fine tune where things show up on screen (x,y coords), and how I map the FOV to the screen over varying scales; Resolve bugged entity tracking algorithm; Remove flicker in LCARS interfaces.
Firing works---ish.


  • Calculators owned: TI-84+ CE

Powered by EzPortal