It's likely ARM. My guess is ARM Cortex-M4 32-bit (Can't confirm)-- But you're best bet is to utilize the SDK and its APIs to handle interactions with the device's hardware and sensors. To my knowledge 3D currently isn't fully supported. I'm not saying you couldn't do it or even do a raycasting engine for it, but you're best bet is to not over complicate it and work with in the limitations utilizing the controls (design of the cube) for your game.
HallowMosquito
Creator of
Recent community posts
I am working on something, but in fairness Pawn is a difficult language and a lot of people here are used to developing with engines like Unity or Godot. There’s also an issue with rendering I ran into along with float math not being supported (I’m not sure if this was with Pawn, but I switched to fix point). I was able to get a simple game up and running for testing though. I’m still reading through the docs, but I want to say I think this is a really interesting design and I love stuff like this that changes the way you play games.
Also a rendering issue for the SDK I ran into, but it may be my code.
Local test path across MID 0 → SIDs 0 → 1 → 2
```PAWN
public ON_Render()
{
for (new faceId = 0; faceId < 3; faceId++) {
new sid = SELF_ID * 3 + faceId;
GFX_setRenderTarget(faceId);
GFX_clear(0xFF000000);
// Draw cities
if (sid == CITY_FACE) GFX_drawRectangleXY(90, 210, 60, 20, 0xFF00FF00);
if (sid == ENEMY_FACE) GFX_drawRectangleXY(90, 10, 60, 20, 0xFF8888FF);
// Draw any missile currently at this SID
for (new i = 0; i < MAX_MISSILES; i++) {
if (!Missile[i][2]) continue;
if (Missile[i][3] == sid) {
new localY = Missile[i][0] % 240;
GFX_drawRectangleXY(120, localY, 6, 10, 0xFFFF0000);
// Debug
GFX_drawTextXY(10, 10 + i * 12, 100, 0, 0, TEXT_ALIGN_LEFT_CORNER, 0xCCCCCC,
"M%d y:%d SID:%d", i, localY, sid);
}
}
GFX_render();
}
}
// Movement
public ON_Tick()
{
for (new i = 0; i < MAX_MISSILES; i++) {
if (!Missile[i][2]) continue;
Missile[i][0] += MISSILE_SPEED;
new seg = Missile[i][0] / 240;
if (seg >= PATH_LENGTH) {
Missile[i][2] = false;
LOG_w("M%d impacted CITY_FACE!", i);
} else {
Missile[i][3] = MissilePath[seg];
}
}
ON_Render();
}
```
Visuals must be local to the MID’s assigned SIDs?
