You can help CodeWalrus stay online by donating here. | New CodeWalrus | Old (dark mode) | Old (light) | Discord server

WalrusRPG - a cross-platform J-RPG engine

b/Calculator Development Started by novenary, November 17, 2014, 07:00:20 PM

Previous topic - Next topic

0 Members and 7 Guests are viewing this topic.

u/Lionel Debroux April 25, 2016, 05:18:17 AM
libxmp ( https://github.com/cmatsuoka/libxmp ) can render tracks to sound and output sound through multiple backends. You probably already know about that library, or similar, older and more unsafe ones, but I thought I'd mention libxmp anyway :)
The standard/full version of libxmp handles all kinds of uncommon formats; the lite version handles the four most popular formats: S3M, MOD, XM and IT.
u/Duke "Tape" Eiyeron April 25, 2016, 08:23:13 AM
Quote from: DJ Omnimaga on April 25, 2016, 04:50:34 AM
Would 256 KB be enough?

To make it fit on the newer Ti-83 color models? Obviously not. For instance this demo has, IIRC, three textures, one of 256x256 pixels (the spritesheet, with 16-bits, once decompressed weights a whole 128KB), a 132*81 (the variable size font ~10KB) and another one, wieghting 32KB (the monospace debug font).

The map? 26*26*16bits (so 2 bytes) = 1352 bytes (more than 1KB). Okay, it's honnest. Move along.

The font data (not the spritesheet) : 3.1KB.

But I can't know the whole structure wieghts. I guess it's pretty heavy as it has a smaller STL replacement allowing unordered_map and vector to be used without adding 800KB to the binary when uncompressed.

Well, it's lighter than expected but it doesn't have half of the features I want. I guess it could fit for light maps and stuff, but don't expect to have a decent framerate on such smaller calc, specially when I have to tell you than with the map, textbox and some misc stuff, we quickly are reaching under the 60 fps cap because of the slowness of the memory.

Quote from: Lionel Debroux on April 25, 2016, 05:18:17 AM
libxmp ( https://github.com/cmatsuoka/libxmp ) can render tracks to sound and output sound through multiple backends. You probably already know about that library, or similar, older and more unsafe ones, but I thought I'd mention libxmp anyway :)
The standard/full version of libxmp handles all kinds of uncommon formats; the lite version handles the four most popular formats: S3M, MOD, XM and IT.

Thanks for the suggestion, I'm going to check if it 's lighter than Dumb. It works but it has stuttering on heaver XM files.

Edit : mmmh, the LGPL is pushing a constraint on the source code but as long as I don't edit libxmp, it should be fine.
Edit 2 : DIdn't saw the lite version with MIT licence.

Edit 3 : a proof-of-concept prototype of a XM player works with libxmp-lite now. It's way better than wit hDUMB and  I don't get any stuttering, even with smaller and less numerous buffers.
Last Edit: April 25, 2016, 01:23:23 PM by Duke "Tape" Eiyeron
u/Dream of Omnimaga April 25, 2016, 04:12:27 PM
Aw too bad. I was wondering since the 83pCE is much more popular than the Nspire CX. It's ok, though. Maybe once this is finished, someone could fork it and make a downgraded version for the CE.
u/Duke "Tape" Eiyeron April 26, 2016, 10:31:04 AM
Well, I do think it'll be better to start from zero as it'll be easier to cut off unneeded features or put restricts on the system (for instance only one font for stuff, no logging or stuff)
u/Dream of Omnimaga April 26, 2016, 03:29:50 PM
On the CE I think an elaborate engine would be doable, it would be just a matter of having to load more data in real-time due to smaller amounts of RAM to cache it. Map walking would probably need to either get rid of scrolling or have movement be tile by tile rather than smooth.

That said, if a new engine was made for lower-end platforms, it would still be nice if it was compatible with the bigger engine, so that people could easily work on smaller RPGs for the CE and Nspire simultaneously.
u/Duke "Tape" Eiyeron April 27, 2016, 10:02:38 PM
Fellows, I'll need a testing volunteer to dumb-test compilation on Windows from scratch, if anyone (preferably having Telegram) feels up to it, please contact me by PM here or on twitter (my nickname is my handle) PM. Thanks in advance.
u/Dream of Omnimaga April 27, 2016, 11:27:02 PM
It would probably depend how difficult and tedious it is to setup a compiling environment and if it's Windows 7 compatible for me.

On a side note, now that I look at those graphics full-size, they truly reminds me of ActRaiser world map. :P
u/Duke "Tape" Eiyeron April 28, 2016, 10:55:10 AM
I'd like to follow someone from zero to compilation, so yeah, it may not be easy.
u/gameblabla April 28, 2016, 03:12:18 PM
Well obviously  the engine can't be ported to the TI-83 CE because the C++ library alone
takes the entire memory.
See ?
Butt Cee iz baaaadds, c++ roks !!!
shut up.

I can test on Wine and compile with Mingw, if that's ok...
(also a SDL1.2/SDL2 backend would be nice)
u/Dream of Omnimaga April 28, 2016, 03:20:38 PM
Quote from: gameblabla link=topic=24.msg37345#msg37345
See ?
Butt Cee iz baaaadds, c++ roks !!!
shut up.
Are those three lines meant to be a conversational quote or just  one or two of them?

Also yeah I doubt I'll be able to test compiling then. Just timezone and my work schedule alone would make it impossible to be online both at the same time often enough.
u/Duke "Tape" Eiyeron April 28, 2016, 08:25:31 PM
Quote from: gameblabla on April 28, 2016, 03:12:18 PM
Well obviously  the engine can't be ported to the TI-83 CE because the C++ library alone
takes the entire memory.
See ?
Butt Cee iz baaaadds, c++ roks !!!
shut up.

I can test on Wine and compile with Mingw, if that's ok...
(also a SDL1.2/SDL2 backend would be nice)

Also I don't see the point to SDL target where we have the SFML which does what we want.

And we don't use libstdc++ as said earlier because of the program size problem. It wouldn't have brought enough for the footprint it added over the program.
u/Duke "Tape" Eiyeron June 15, 2016, 05:07:44 PM
Welp, I don't what changed since but I'll try :
- Entity-Entity and Entity-Map collision (cing finally done it right), needs grid/quadtree to avoid killing performances if there are too many entities.
- Tilemaps are now on three layers : the ground (collision-enabled), the middle where things can overlap or be overlapped by entities (collision-enabled) and over layer which will overlap every entities
- A better example state is in the works with interactive entities and some text appearing on screen.
- Better time handling, moved to a fixed timestep system (change to be merged in master)
- Fixed some things
- Better file handling
- An alternate and private project made me progress and fix some things for the textbox (like new command codes and fixed the coloration)
- Changed the panic exit combo key to ZL+ZR on n3DS (Use HBL's L+R+Down+B combo for original 3DS for now)
- Added smdh generation for 3DS (no icon yet)
u/Dream of Omnimaga June 15, 2016, 06:37:12 PM
Is the over-layer for stuff like fog, forest and clouds? Nice to see updates :)
Website statistics


MyCalcs | Ticalc.org | Cemetech | Omnimaga | TI-Basic Developer | MaxCoderz | TI-Story | Casiocalc.org | Casiopeia | The Museum of HP Calculators | HPCalc.org | CnCalc.org | Music 2000 Community | TI Education | Casio Education | HP Calcs | NumWorks | SwissMicros | Sharp Calculators
Powered by EzPortal