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

[C and/or/maybe/?/The Game/ Axe] Hinawa Battle Engine

Started by Duke "Tape" Eiyeron, November 25, 2014, 07:51:15 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Dream of Omnimaga

Yeah it does, and I feel anyone's pain when they lose a lot of progress. I stopped coding entirely for 1 month IIRC when this happened to me and that was back when I still coded 10 hours a day on calcs.


So yeah, try, if possible, to find a way to backup and backup often. Hopefully the current CW userbase does that already :)
  • 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

novenary

Yeah I pretty much backup the stuff I do on-calc to my computer and dropbox every time I post an update, and my Nspire stuff is backed up to github, so I'm safe.
Never had a hard drive failure or a fatal calc crash though.

Duke "Tape" Eiyeron

#17
Not really HBE's code relatedn but I started implmenting MAkefile-wise mutli-target system. With a variable change (here TARGET), you can choose to compile for "DESKTOP" (use your computer's gcc) or "FX_9860" (use sh3-eb-gcc). Obviously, compilations flags will depend of your target.

Now, platform dependant code is locate in {include, src}/$(TARGET) . That'll help making the engine platform independant. Does anyone has a way to make that a little bit cleaner? (like moving the source into an arch folder or something else)?

EDIT : I started to draft an UML schema to help me vizualize the struture. Here's the thing at this moment. Do you have an idea about what's going on with it? Does it seem clear to you right now?
  • Calculators owned: A lot.

Dream of Omnimaga

I can't help but good to see you want to make this easier to port between platform :D

I can't read the text in the picture, though.
  • 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

novenary

You need to click the image to see the full size version. :P
Also nice to see you're working on cross platform.

Duke "Tape" Eiyeron

Quote from: DJ Omnimaga on December 05, 2014, 05:00:46 PM
I can't help but good to see you want to make this easier to port between platform :D

That's the main advantage of adopting C over Axe Parser. But the main things which will be target-independant will be mostly I/O (files), Input and Graphism. I still havn't figured how much of the engine will be target-dependant, specially with the UI, but the core itself (damage, reactions, AI, events) will be standalone.

Think the core as a black box where I'm letting only the "insert that action from that thing" button for registering an entity action (player or opponent wise), a button for "start turn", "get subturn result", "next subturn", "update engine by a time step" etc... I think I have made some progress but when managing mixed real time and turnbased actions is very hard.
  • Calculators owned: A lot.

Dream of Omnimaga

The main issue is that on some platforms, some things just won't be possible. Plus screen resolution can be a problem.
  • 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

Duke "Tape" Eiyeron

That's why I'd like the graphisms to be totally independent from the engine. Maybe a version will just have text, or have a different UI from the screenshots I had. But this is implying a lot of work for dissociating them
  • Calculators owned: A lot.

novenary


Duke "Tape" Eiyeron

Why not? Actually, to debug values, I'll probably start by using a custom little console interface  (just printf all the things) with predefined sequences (testing purposes)
  • Calculators owned: A lot.

Dream of Omnimaga

Quote from: Eiyeron on December 06, 2014, 08:45:01 AM
That's why I'd like the graphisms to be totally independent from the engine. Maybe a version will just have text, or have a different UI from the screenshots I had. But this is implying a lot of work for dissociating them
As long as the 8x version isn't menu-based, considering the work already put in those battle backgrounds x.x
  • 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

Duke "Tape" Eiyeron

#26
That's nothing much, really. They are actually a few hundres bytes weight if we count the drawing routines. I used quite some tricks to spare the most bytes (like your trick to copy a whole row of the screen and applying it to the whole screen). They're on the Axe source I linked back on Omnimaga if anyone wants them.

EDIT : I made progress in the UML schema but I'm having troubles with arrays/ multiples function arguments. ><"
  • Calculators owned: A lot.

Dream of Omnimaga

Now that I use this topic from a computer I see that Tapatalk only loads attachment thumbnails, not full size images, which probably explaisn why I was unable to read the text on the other pic the other day.

And yeah I was wondering because your previous post said you might make some game versions text-based rather than using graphics, so I got worried you might drop graphics from the calc versions. >.< Glad it's not the case.

Good luck!
  • 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

Duke "Tape" Eiyeron

Quote from: DJ Omnimaga on December 06, 2014, 02:52:23 PM
And yeah I was wondering because your previous post said you might make some game versions text-based rather than using graphics, so I got worried you might drop graphics from the calc versions. >.< Glad it's not the case.

That would kill pretty much the interest behind a Earthbound-like battle engine! No sprites, no beautiful background animations. That would be quite dull! :P
  • Calculators owned: A lot.

Dream of Omnimaga

Indeed, this is why I always encourage people to put some graphics in their games (or in BASIC case, ASCII/dual-layer ASCII). People gotta start small but if it has been a year since you started coding, I feel it's usually time to take one step further.
  • 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

Powered by EzPortal