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

WalrusRPG - a cross-platform J-RPG engine

Started by novenary, November 17, 2014, 07:00:20 PM

Previous topic - Next topic

0 Members and 7 Guests are viewing this topic.

novenary

What happens when someone with a RPG project and someone with a battle engine project team up?

A new project : WalrusRPG, J-RPG engine for Nspire, by Streetwalrus and Eiyeron (aeTIos is more or less lurking at the moment). Basically, we aim to make a versatile enough RPG engine to create a full game in the vein or Earthbound and Pokemon (each one was the inspiration from both the programmer) on Nspire in C++. A big project starting from scratch but giving us experience on many things we could have missed around on the gamedev subject.

What's the goal? Having a RPG engine versatile enough blahblahblah. For Eiyeron, the main project is giving birth to a game inspired by MOTHER series while keeping its own identity. For Streetwalrus, WalrusRPG is a basis on a project he hasn't really defined at the moment, hence the need for versatility.

What's planned? Well, the points more defined are that we want to have a RPG engine based on an event system, 2-layered tilemaps, HBE as battle engine, the ability to load data from files to allow bigger games, and event scripting with Lua.

What's already done?
Bascially, nothing is in a really done state. But let's check what we already did
- Advanced sprite rendering : based on a Renderer interface, anything aggregating a renderer will be able to draw sprites taken from two kinds of spritesheet : a grid-aligned one (like old Minecraft's item textures) or packed sprites (like modern game engine does, allowing for different sized sprites/frames)
- Time-based animations for sprite rendering.
- Tilemaps. Also as they uses the Renderer and the time-based animations, it allows us to have animated tiles
- Update/Render loop.
- Asynchronous Triple Buffering, because WE CAN DO IT. (and it also helps allowing us squeezing the most FPS we can with vsync).
- A small fixed font renderer. (Also with the SpriteRenderer, we should be able to quickly do a variable-width-height font renderer)
- Automatic compile-time picture to C/C++ data conversion based on ConvertImg.

Soo, we're only a few steps ahead from the starting point but here's the GitHub repo, if anyone is interested in giving us some help on anything about it : https://github.com/Streetwalrus/WalrusRPG .
[spoiler=Old post content]
Quote from: DJ Omnimaga on November 17, 2014, 05:52:30 PM
On a side note, if one day we can manage to do a massive calculator achievement or innovate like Hayleia just did (even if parts of the credits goes to Badja and to a lesser extent Matref for the scaled sprite routine) then we can get more visibility outside the calc world too. :P
Lol yeah, SSBO is really something. We kind of wanted something like that with Pokespire as well. :P
[/spoiler]

Dream of Omnimaga

#1
Indeed, although I think in order to do it, Pokespire will need to offer something that the GB/GBC/GBA games lack. For example, 3D map engine like in Heartgold/Soulsilver, battle background images (seriously, the lack of battle graphics besides the Pokémons in 1999-2003 was apalling, considering even Final Fantasy I for the NES had battle backgrounds), etc. SSBO for calcs had zooming, which made it stand out from every other calc game, although the hype about it is more because of the Wii U release right now.


EDIT: The inviting has slowly started. Keoni29 is the only member approved so far, though. Make sure to ask permission before approving users, in case somebody finds us and he is not part of the invited group.
  • 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

3D backgrounds are impossible lol but we're aiming for a slight improvement over GBA graphics and a gen4 style battle engine.

Dream of Omnimaga

I think pseudo 3D could be done since HP PPL can do it, but it would obviously not run at 60 FPS unless you wrote a good scaled image and ran at 160x120 or something:



Basically, the stuff displaying on top of the other layers could be leaves, while the layers below could just be circular brown shapes that makes trees up. It would be best to pre-render the layers if they are scaled up, though, for faster speed.
  • 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

#4
So yeah, subforum.

Splitting some discussion from the staff board. :P


To reply to DJ, keep in mind that the Nspire is 3 times slower than the Prime and we already have enough trouble keeping the framerate up to add this.

Dream of Omnimaga

Yay for subforum! By the way, is the name final? I'll need to create an icon.

As for Nspire speed, to be honest I am a bit surprised that frame rate is an issue considering what the SNES and Sega Genesis could do. I mean, those consoles were not even close to 150 MHz, yet they still pulled 60 FPS parallax scrolling maps. I know the Nspire lacks a GPU and stuff but still...  That said, I am fine if a game runs at 24-30 FPS and it's probably best that on Clickpad/Touchpad models it won't run higher than 15 FPS.

Also the HP PPL language is a proprietary (although compiled) language which is most likely much slower than C and ASM, unless HP really pulled a miracle on it. But yeah I am kinda surprised that Ndless programs have some frame rate issues considering what the SNES, Sega
  • 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

Quote from: DJ Omnimaga on November 18, 2014, 10:24:16 PM
As for Nspire speed, to be honest I am a bit surprised that frame rate is an issue considering what the SNES and Sega Genesis could do. I mean, those consoles were not even close to 150 MHz, yet they still pulled 60 FPS parallax scrolling maps. I know the Nspire lacks a GPU and stuff but still...  That said, I am fine if a game runs at 24-30 FPS and it's probably best that on Clickpad/Touchpad models it won't run higher than 15 FPS.
That's exactly the issue. The lack of a PPU is the most limiting factor for me. Also we currently don't plan to support classic calcs unless we can somehow fit the game into the flash (it's gonna have a ton of assets to load).

Also, the name is more or less final as far as the engine is concerned. The final games (we're probably make a Nintendo-style dual release) will be called Pokemon <stuff>. :)

aetios

Don't expect the classic models to be supported anytime soon, from our calculations the game is going to be ~20MB just like the gen III games.
ceci n'est pas une signature

Dream of Omnimaga

I guess it's fine considering for such large game it's justified.
  • 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

Quote from: aeTIos on November 19, 2014, 07:01:23 AM
Don't expect the classic models to be supported anytime soon, from our calculations the game is going to be ~20MB just like the gen III games.
That's actually bigger than gen III games. Considering that the GBA uses thumb (which may or may not reduce executable size) and we use regular arm (16 bit vs 32 bit instruction sets, doesn't change the fact that the cpu is 32 bit), and we use higher resolution everything we are highly likely to exceed the original's 16MB indeed.

Dream of Omnimaga

By the way, what sprite size do you use?
  • 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

Tiles are 24*24, the rest is undefined for now.

Dream of Omnimaga

Ah ok thanks for the info. This should be interesting :)
  • 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

Yup. I think you can basically take GBA sprite sizes and multiply them by 1.5 since the Nspire's resolution is 1.333 times that of the GBA horizontally and 1.5 vertically.

Dream of Omnimaga

Yeah, but don't just take the original graphics then resize them, else it will look ugly XD (I think I saw that in commercial remakes before). Brand new graphics or ones adapted to the new res would be nice. ;)
  • 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