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

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - Duke "Tape" Eiyeron

#1
nSquirrel
Squirrel on Ti-Nspire

Last release version (v1.0.1) : https://github.com/Eiyeron/squirrel/releases/tag/nsquirrel_1.0.1 (includes documentation, which the binary linked to this post doesn't)
Project repository : https://github.com/Eiyeron/squirrel/
nSquirrel (interpreter + n2SDLib) branch : https://github.com/Eiyeron/squirrel/tree/nSquirrel


"Squirrel is a high level imperative, object-oriented programming language, designed to be a light-weight scripting language that fits in the size, memory bandwidth, and real-time requirements of applications like video games."

(Translation : it's a lightweight script language destined to be embedded in programs like Lua does.)

[spoiler=Base language features]
Although Squirrel offers a wide range of features like:

  • - Open Source MIT licence
  • dynamic typing
  • delegation
  • classes & inheritance
  • higher order functions
  • lexical scoping
  • generators
  • cooperative threads(coroutines)
  • tail recursion
  • exception handling
  • automatic memory management (CPU bursts free; mixed approach ref counting/GC)
  • both compiler and virtual machine fit together in about 7k lines of C++ code and add only around 100kb-150kb the executable size.
  • optional 16bits characters strings
  • powerful embedding api

    • eg. function/classes can be defined by scripts or in C
    • eg. objects can fully exist in the VM or be bound to native code
    • eg. classes created in C can be extended by scripts or vice-versa
    • and more
[/spoiler]

nSquirrel is a fork of this language destined for Ti-Nspires. The core language will be easily embeddable into Ndless projects as the project offers libraries and API to mess with it. Thus, it's included with bindings to n2DLib to allow playing with the screen and the keyboard.

Instructions :
- Download the archive containing the program (sq.tns) and if wanted, the example scripts.
- Install your sq.tns on your calc's nspire folder
- Now you can launch the interpreter for an interactive session ( quit() to exit it) or launch a .nut script (only after running the exectuable once). NOte that thanks to nspireio, you have to press twice Enter to validate your input.
- The interpreter registering itself to open .nut files, to execute such scripts, you will just have to click on them.

Notes
- For further versions, I'll probably provide two versions of the binaries, ones to compile nSquirrel's interpreter (which uses Nspire-IO) and one to be included in projects.
#2
TL;DR

I tried to reprogram most of Undertale's battle engine to see if it'd have fit the calculator. It works at a decent 60FPS and did what I wanted to see on my calc. Don't expect me to do more because studies and project.

Links

- Video : https://www.youtube.com/watch?v=riQ03S3PPhM
- Game : https://dl.dropboxusercontent.com/u/23313407/UT_Demo.zip (Windows 32 bits, Linux 64 bits and Ti-Nspire CX/CX CAS versions provided. The linux versions requires SFML 2.3 IIRC, could you give me some infos and help on how to bundle libs, please?)

/!\Disclaimer  (for Nspires) : the screen timer not being totally stable, it might flicker. If it does, expect to see your calc reboot when you exit the game. THe cause of this is actually unknown and I'm still waiting for help to fix it Github ticket of the issue.

Things already said
Well, sorry for the long wait, I was expecting to release it on some project but I couldn't wait. Oh well, here's already the previous posts for a little bit of context : first post and second post.

Installation
Nspire
Put "UT_Demo" in a folder and the data next to this file. I

Commands
PC
- Arrows keys : move
- W : Acts as a A button : validate
- X acts as a B button : Cancel
- Backspace : Quit the game (no other way to exit)

Nspire
- 8546 : move
- Ctrl : Acts as a A button : validate
- Shift acts as a B button : Cancel
- Esc : Quit the game (no other way to exit)

Why, again, did you do this sh**?
First of all, wosh u mouth, and then, because I like to make games, and I like,to, make calculator games. I learnt to prgram with them, can now make computer games and small/medium gamedev projects with them but my developper heart will always beat a bit for programming on such restricted devices (not so powerful, not having a lot of memory, etc...)

EDIT 1 : Oh, did I forgot to tell that I also loved playing Undertale?

Thoughts/Postmortem

This was... Quite an intersting ride to do. I couldn't do some things because I lacked processor power on the calculator (like basic lua scripting to make enemy AI easier to do) and redo perfectly some effects. I also, when try to figure if lua could fit for such device, envisaged to redo the whole Undertale demo but I quickly realized that I wouldn't have the determination and the time to do so. I was honnestly growing a bit sick of this project and did some dirty programming on the last parts because I wanted to get it done. I wanted it first to be as flexible as I could to end it up quite closed on the end. Oh well, it works, that's the most important, no? I wish I could have the patience to do the easter eggs I wanted...

So, C++, only C++, the core game engine being done in C++, the funniest part was fighting against references and rvalues (black magic things). Honnestly, Managing resources (files, sprites, textures) is far from being actually easy. Another fun part was programming the external tools to allow me to bundle files in the data files (the .wrf ones) (in Python) and test it. Lots of fun when it would crash. Heeh.

What to add now? Well, the game looks bland compared to some fangames (I really enjoyed RED for instance or that Gaster fight) and will not have any sound as the sound/music abstraction doesn't exist yet. Sorry, guys. You wanna might listen to some music, why not this remix I used from Komissar for the video?

Last word

Thanks for reading, have fun playing, don't hesitate to poke me with all your feedbacks. It was a fun sideproject, I did it for myself, for some friends I discovered via this subreddit and I wish you all lucks with your own projects. o7
#3
Hello everyone, time for another project! This one is a bot/library project I went crazy about since yesterday late night : creating a bot for Telegram.

Some users among us are chatting in our own group, and the moment I saw that Telegram made their own API to make bot creation easier was like a revelation : we could have our own WalriiBot! I still don't know where it could be handy, so I started to code something to allow to be extended once we get some really useful uses to it.

This comes this repository. Basically, it's the core of the future bot. It allow the dev to get an access to the API and link plugins/handlers which will be notified when something that they expect occurs.

So yeah, we'll have soon our own fully fledged WalriiBot. Also some keep asking me to make this the Telegram<->IRC link. Why not? But I'll need some help on the IRC part, if something is brave enough to fight the Mighty Python at my sides!

Edit : Here goes the W-800 (previously WalriiBot) repository : https://github.com/Eiyeron/W-800
#4
Hello everyone, time for another project.

This time, I'm back into the genre that always inspired me, the roguelikes. Roguelikes are fun and can be made with the complexity you want. Something as realistic than Dwarf Fortress up to simple dungeon crawlers you will eat on the go. These latter games are coffee roguelikes, where a run shouldn't be too long (the time to drink a coffee).

So, what about the roguelike itself? I had a stupid idea based on the eternal choice : ASCII graphics or tileset graphics? What about both? The game will see its tileset evolve when you will get deeper into the evil depths until you get to the last. (I'm only showing a sample of the first three tilesets).

What about monsters? The game will be relatively simple to keep up with the "play in a few minutes", I currently have three enemies in mind, Goblins, Slimes, and Mr Battys (or Batties) if anyone got the reference of the latter! :)

The demo I will post first is totally unplayble : the dungeon generation is totally not done and you'll be trapped in the room with three goblins. I have so much to do and so few motivations. I wonder how the dungeon generation will be done and I think I'm going for a room grid based system to keep it simple.

Oh and please don't spoil the last tileset, please. Endgame purposes with some quirks and gameplay changes.

#5
I discovered about PICO-8 months ago and Lexaloffle was kind enough to give me a code for alpha builds of it.

What's PICO-8? PICO-8 is a fantasy console project. Run in Lua and with SDL2, it aims to be run on computers and the Raspberry PI. It greets you with a Lua shell/CLI not too far from good old computers like C64 but that's not the only thing it includes. It includes a code editor (up to ~15KB lua code), a sprite editor (~256 different sprites), a map editor (one only map, 256*256, and the tileset is the spritesheet) and even sound/music editors.

(Found on the site home)

It's quite easy to program with, I'm also going to add one mid-minor project done here in my list. I started programming on it because I was reminded of LuaFX or my days when learning programmation on my G100+. Projects or mockups on it looks already promising as even in the demos we have a simplistic raycaster!

Here's a quick thing I did with to get my hands on (twitter GIF/video): [LINK].

It should be released as alpha for next LDJAM.
#6
Hello everyone. I'm finally on something and that is quite good. (-_(//));

I'm on with FiXos development as we finally have something like a more-or-less working libc around there for FiXos and thus started to program something that would work a shell on a terminal.

Here's the code : FXSH

Here's the technical specs at this moment :
- it can read up to 16 elements of 128 bytes (even though the VT buffer can read up to 128/256 bytes at this moment)
- it support quoting and double quoting
- built-in support : ls and cd are somewhat done. They lack some features, like cd .. but they gladly work)
- environment var management. It even pushed the libc to support them!

And here what's planned :
- no programming is currently planned but variables should be. At least to tweak things like PATH. It should be simple to parse, heh.
- As a needed feature, I'll add case switching in the VT in the kernel (TI-like, probably). At this moment, one can only write caps and I had to cheat to add a working ls as LS.
- PATH management. As for now, one could execute a program if it could reach the file, but without caps...
- neat source file structure that could be even improved.

- better argument storage. I don't know at all how I will store the arguments but I'd like to make a version without argument size or command line limits.
- Should the shell work on other *nix I'd be very happy . It works quite correctly on Cygwin!bash.


#7
Gaming / Besiege
February 17, 2015, 04:06:04 PM
I got myself Besiege, which is a fun sandbox game but quite hard to grasp the basic mechanic things.
#8
Hello everyone. We, at Planète-Casio, are gathering samples to detect changes between msicallenous details like OS version (on which model), the dates and are trying to make links with architecture and OS.

Here's the addin to install : http://www.planet-casio.com/files/forums/ID-13413.G1A. it'll give you the Product ID of your calculator.

We're asking too for the calc model (Graph 35, 75, 85 or 95, or worldwide equivalents), the OS flashed to it and the calc's model where the flash OS has been copied, the DateA and DateO found in the diagnostic menu. Here's the walthrough :

Boot your calc while pressing EXP (or x10x), OPTN and AC/ON, a popup should appear. Prees F1 then 9 (your data won't[/it] be erased), then press 4 (VERSION), you'll find two Dates and your OS version.

Thanks for your participation.
#11
I specially like the UI changes Gogle did. the swooshiness, the fluidity and the little details makes Material Design a more than better UI for Android than ever.
#12
Hello everyone. Seeing the execllent Axagon from Matref, it's time for me to bring back what I did with Adbook two years ago, correct things and show to everyone : it's time for Casio to hope for their own Super Hexagon! \o/ Everything is pretty much done at this moment, we just lack two features :

- Time/high-score
- Pattern system (random is not that great and we have the space and the power to do it so)

Here's a video of the current dev version

Download Links :
- SH3/SH4 calcs
https://www.youtube.com/watch?v=756NJUxRLG8
#13
Hardware / I have invites for OnePlus One
December 27, 2014, 05:49:50 PM
Hi everyone! I have got some OnePlus One buy invite, if you want to buy one of these phones, I could provide you an invitation to do it. Just ping at me there.
#14
Drawing & Animation / Eiyeron's pixel paint room
December 17, 2014, 08:54:29 PM
Oh meh, I started to pixelate again.
#15
Igrilärged, "Meatboy"
Hello everyone! I've been playin Dwarf Fortress for months, and I started making a let's play log, embdying the expedition leader. Follow us into the wonderful history of "Igrilärged", the "Meatboy" fortress! (Igrilärged means Meatboy in dwarfish)



Storyline
Part I
Part II



Screenshots (section WIP)
[spoiler=The embark][/spoiler]
#16
Hello everyone. I won't introduce again this project I have. Yes? You still want? Okay.
My projects are most of the time remakes or reproducing mechanisms of games I loved. I started programming (on calcs and on Casio) by trying to port Pokémon Gen I battle engine To Casio AFX2.0/Graph100+. I got through some projects in the same branch, but another one (almost finished) stood up : Bust-a-Move. All of them are past. Now, I'd like to program something. A project way more complicated but that could open (at least to me) to new games. I'd like to reproduce for starters the battle engine of Mother 3 and Earthbound.

This battle engine is a semi turn based classic RPG battle engine. You ahve your party, the enemy's. each one decide its actions for the turn and the turn is going on its way. THat could be just a simple project, but here's the tweak in three(four if you count & as one) words : Modularity & Open Source.

Modularity

Modularity means that the engine should be an independant part of bigger projects. Only some functions will be needed to set up the engine and run it. I'm still planning a lot of the structure and having many design difficulties (shmibs will talk of exeprience after reading the first version's C code...) but I want it to be most clear possible to be hackable by everyone who has some good C/Axe programming skills.

Modularity means too OCP (Open/Closes Principe). I' like it to support a event system and scripted IA which could add a deeper experience to the battles. I'd like at least to be able to reproduce all the quirky events of said games (like self-exploding trees at their death, the textbox in [REDACTED]'s battle, etc...) but that's not really a critical feature.

In the end, modularity means grouping the code in modules to be able to swap them. The most important instances of this meaning here are graphism and I/O (and audio? I dreamt of a thing months ago, but that's still a dream T_T). Graphism and I/O code should be engine independant. I'd like to run the engine on computer as well as calculators. For that, lots of think are being spent on how to  split the graphic data from the engine's. that's not an easy task, i.e. Casio FX-9860 are using 2-bits sprites where Black are 1 and 0 White. If someone were to use directly these functions in, lets' say SDL, that won't certainly work unless big ugly hacks are done. So graphism should too be a independant part to be free of using whatever is needed by the target. Same for file I/O or input management. That also brings a problem : where to put the UI? Graphism module? Input Module? Battle Engine?

Open Source.

Before talking about open source, there should at least be source code. The project started on calc with Axe Parser as I only had that at my hand. The code became quickly as unreadable as ancient dwarf arcanes. Forget about reading it, it has little sens to begin with. I ported the knowledge I had on HBE to C and tried to make a clean basis with Casio Fx-9860 in mind. Second failure, I got cold scoled by Shmibs and I realized that if there were more sense to my eyes, it wouldn't be the same for the others.

So now, I'm clampled to wonder and ponder. Ponder the open source from beginning, wonder how the source code should be structured. Ponder the feasability of the project, wonder if I should ask for help as I already tried in vain. I don't want it to be just lost time into a unborn project. I'd like to have better feedback from anyone with enough experience to tell me how parts of the project could be done without being taken as an inexperimented programmer. I'd like to see who are interested into this heavy project and how much they are. I'd like in the end to see one of my game project plan to be achieved with this engine and maybe other people using it.

So at this moment, I store a repository in a GitLab repo. If anyone wants to mess with the few headers I have at the moment, feel free to poke me and I'll make the repo public or allow you to mess around.


So yeah, so much for a simple calculator project. Something that everyone could do, but I want to do it in a way that lot of peoples would be able to help or improve. That's the real meaning behind this project. (That and the fact I'm more and more thinking about a real calc -or not- game behind that.) Thanks for reading it.

At the demand, here is the last prototype version screenshot to date :
** the link was brocen and redirected to NSFW ads. Removed it**
Let's hope that I (or we?)'ll get to something better than that.

edit: p2 removed NSFW link
#17
As said before in the title, I was quite bored and seeing the other topics meladey bring back my pen. Here is a draft of what could look Urist McEiyoLobster like. Notice the lobster claws on the hat ^^.
Powered by EzPortal