What are your games and other projects outside Pokitto, past or present?

Everyone, please share games or other projects that you did before moving to Pokitto Land? Or if you have time to other projects currently?

2 Likes

All my hobby coding is Pokitto-related nowadays, but here are a couple of my past projects:

Retro Arcade Factory

I did this for Android using Unity & C#. It was ment to be creating and sharing games made of a mixture of retro game parts. So it was a bit like Super Mario Maker before it existed :wink:

Lumberjack Dash

I did this for Android over GLES 2.0 with C++. The graphics etc. were made by a Hyperkani game company. It is a lot like Subway Surfers for Android.
image image image

4 Likes

Fun fact:
The original Legend of Zelda was supposed to have a facility for creating maps/dungeons which players could share,
but the idea was scrapped due to the lack of resources and relative difficulty of making it work on the limited hardware of the time.

(Iā€™ve tried looking for a link to an article discussing this, but Iā€™m having problems finding one.)

Edit:
After much digging Iā€™ve finally found a gamespot article that mentions it:

We almost had ZeldaCraft: Dungeon Building.

Originally, the game was set to launch on floppy disks, so players could use the memory storage to create and share the dungeons they created. Once Nintendo decided on cartridges for the officially named Nintendo Entertainment System, that idea was ditched.

(For a moment there I was worried that Iā€™d imagined reading it.)

I suspect this information was given in an interview somewhere,
or maybe itā€™s in Hyrule Historia (which sadly I donā€™t own a copy of).

2 Likes

Before coming to Pokittoland I worked almost exclusively on a Fantasy Console I called Leikr16. The reason I was making it was that the Fantasy Consoles at the time that I knew of all used Lua as the coding language and I wasnā€™t familiar with it, nor too fond of it (Iā€™m learning it now).
I began work on Leikr16 to learn Groovy. So I used LibGDx for the console parts itself, and implemented Groovy as the code language for the games. I learned a great deal about a lot of things during this project but ultimately it started to grow unwieldy and kind of crappy.
So, I started over on a new Leikr (without the 16) and used the Mini2Dx framework instead. It has a much simpler API and is way easier to use. Especially since I was only doing 2D anyway.


I still work on this project in my spare time, it is my ā€œprimary side projectā€ really.

I recently got a PinePhone Braveheart edition. This is pretty quickly becoming another primary project. Iā€™m working with some other folks to port Fedora Linux to it. So far it can boot to a nice mobile environment and I can almost do SMS without too many problems. Iā€™m currently tasked with packaging a ā€œcallsā€ application so we can make phone calls (on a phone, how novel xD)

Iā€™ve got a Librem 5 phone on pre-order as well, and expect to also spend a little time porting Fedora to that as well.

I have a dream, hopefully that I can realize before end of 2020, to be completely living on Linux operating systems. (I know Android uses linux, but it isnā€™t the same thing as a desktop free linux).

I have a GameShell that Iā€™d like to actually do something with, but it kind of just sits on a shelf for the moment with my PyGamer :sweat_smile: GameShell is awesome for me because it can run my Leikr project, since it is just a Linux board (similar to Raspberry Pi). I havenā€™t powered up PyGamer more than once, since I always prefer to come back to my Pokitto :slight_smile:

And finally I also am learning Lua as I mentioned in order to make games using Pixel Vision 8, which is actually my favourite Fantasy Console (even more than my own at the moment :laughing: ) But it uses Lua (Or C# but setting that up on Linux has proven to be more trouble than just learning Lua).

Iā€™m so scattered in my projects, but Primarily the order is as follows:

  • Pokitto (My IR project, GameJams, Magazine etcā€¦)
  • Leikr (It can be used to make full games now, just needs some ā€œprettifyingā€ )
  • PinePhone (and sometime this summer Librem 5 I hope)
  • PixelVision8
  • Other (this would include other fantasy consoles mostly, GameShell, PyGamer, etcā€¦)

Non-Tech related:
I spend time every morning to study foreign languages. I currently do this using DuoLingo. So Iā€™m currently learning:

  • Danish
  • Swedish
  • Norwegian
  • Irish
  • Japanese
  • Chinese

If I have time in the morning I also do some of the following:

  • Russian (I went to University to learn Russian)
  • Spanish
  • Welsh
  • Scottish Gaelic
  • Klingon

My current daily streak on Duolingo is 1,853 :smiley: and yet, I probably couldnā€™t even hold a decent conversation in any of the above languages :laughing: (More due to lack of actual use with native speakers. Iā€™ve had plenty of conversations in Russian and Chinese, since I learned those at University)

Oh yeah! I also used to (and plan to take up again) play a lot of musical instruments. That took up a large part of my youth until University. I play Flute, Piccolo, Fife, Ocarina and Penny Whistles. Iā€™ve also been attempting to learn the Didgeridoo :laughing:that circular breathing is kicking my butt.

5 Likes

Normally I donā€™t like dynamically typed languages, but I really like Lua.
Certainly more than Python and JavaScript.

Ramblings about Lua

The memory usuage is probably higher than other languages,
but the actual files required to run it are smaller than most scripting languages,
and itā€™s an excellent replacement for most shell scripting languages,
and an excellent tool for portable scripting facilities.

At the moment Iā€™ve been using it to manipulate youtube-dl without having to remember a load of command line switches.
(Itā€™s also the third programming language I ever learnt,
and the second that I became proficient in.)

Itā€™s a very easy language to learn if youā€™re already a programmer,
and probably quite easy for beginners too.
Iā€™d really like to bring it to the Pokitto someday.

Iā€™m glad you mentioned these.
I like to keep an eye out for phones that donā€™t use one of the ā€˜big 3ā€™ OSes (Android, iOS, Windows Phone).
(For a number of reasons, including being able to say ā€œno, I canā€™t download your ā€˜appā€™ā€.)

At the moment Iā€™m still using an old motorola V220.
Iā€™ve had it for over a decade and it still just about works,
but this year itā€™s finally starting to show signs of hardware failure.

2 Likes

Iā€™ve had far too many one-shot and aborted projects to count.
Iā€™ll mention a select few.

Relatively successful projects of the past:

Zephyr OS

Back in my early years when I was first learning programming at college I was introduced to Minecraft.

One of the earliest mods I discovered and used was Computercraft, which added ā€˜computer blocksā€™.
The computers run a Lua VM with commands for interacting with the computer (e.g. drawing text on the screen, both coloured and uncoloured - the screen was effectively just an array of characters with a background and foreground colour, much like the available display modes on early computers, particularly early VGA) and with things in the world around the computer (e.g. emitting redstone signals, interacting with peripheral blocks).

To begin with the computers exclusively used a command line interface,
though some alternative ā€˜operating systemsā€™ were available and could be used to override the default OS,
so (being more used to windowing systems and wanting to learn more about operating systems) I attempted to create an ā€˜operating systemā€™ with windowing features and UI elements like listboxes and textboxes.

Like most of my projects, it got a bit off track.
I started reading a book called ā€œOperating Systems Demystifiedā€ and tried to rework Luaā€™s coroutine system into a threading system that behaved more like OS threads,
as well as trying to introduce processes and drivers and various other things.
Thus feature creep and inexperience effectively killed the project.
(The original OS also eventually added a Window API, though not a desktop.)

I still have the source code.

Hereā€™s a few screenshots, made back when I was originally writing it:




Fixed Points (for Arduino)

One of my few successful projects, and arguably my most successful.
I expect most of you already know about it,
because itā€™s used to implement the floating points in Femtoā€™s Java implementation.

https://github.com/Pharap/FixedPointsArduino

Iā€™ve still got a dozen outstanding issues to fix,
and originally I was going to create a non-Arduino version as well,
but I can never find the motivation to get back to it.

Wiremod scripts (Garry's mod)

Sometimes I play Garryā€™s mod.
I like the Tardis Rewrite and Stargate (CAP) mods because I quite like scifi,
and I like Wiremod because I like being able to do in-game scripting.
I havenā€™t written many scripts, but I have two notable ones.

Tardis Hologram:
One day I decided that the Tardis would be cooler if I could have a little holographic tardis inside it,
so I spent some time researching the wiremod holograph system and eventually developed a script to do just that.
Over time I developed it further, and now it has several features:

  • When hooked up correctly, the hologram will match the Tardisā€™s rotational orientation,
    meaning it spins and flips around in sync with the Tardis exterior,
    which is useful if you want to know whether the door is the right way up or not.
    (If youā€™re the one flying the Tardis then this isnā€™t all that useful, but itā€™s handy for passengers.)
  • A ā€˜shieldā€™ input that displays a shield around the hologram,
    designed to be used in conjunction with shield mods for adding a shield to the Tardis.
  • A ā€˜cloakā€™ input that makes the hologram transparent,
    designed to be used in conjunction with cloaking mods for adding cloaking to the Tardis.

Stargate Dialling Computer
A half-decent replica of the original dialling computer animation from the Stargate film.
Itā€™s missing some details and doesnā€™t use the DHD symbol font,
but otherwise the animations are pretty spot on.
At one point I attempted to make a PR to make the fonts accessible,
but I got swamped with feedback and requests for changes from the maintainers so I decided to bail out because it wasnā€™t worth the hassle.

Special mention:
I once hooked up some of the Wiremod and Stargate stuff to create a gun control chair that you could sit in and use to aim the stargate weapons like a proper crosshair/gunsight thing, but I canā€™t remember how I did it off-hand.
Iā€™m not sure if it involved a script, and if it did Iā€™m not sure what I called that script.

If anyone is interested in any of these then I can provide them on request.

Current Projects:

Ardutils

An Arduino utility library.

Iā€™ve attempted this multiple times over the last few years.
Typically every attempt ends with me realising Iā€™ve stopped making an Arduino utility library and instead Iā€™ve effectively been reimplementing a large chunk of the C++ standard library.

Iā€™ve reimplemented 90% of <type_traits> and <utility> at least three times already.

Iā€™ve recently started another attempt.
So far Iā€™ve managed to avoid implementing <type_traits>, and might manage to get away with just doing a small subet of it.
But now I find myself spending a lot of time writing the documentation for it.

A programming language

Sometime in (I think) January I started designing a programming language.
Itā€™s based mainly on C++, but with inspiration from a variety of other languages to reduce the amount of little niggles.

I wrote a parser that parses most of the basic structures and generates a syntax tree,
but I donā€™t yet have anything that can actually generate code, do type analysis or perform optimisation.

An artificial/'fantasy' CPU

After writing the parser for my programming language I suddenly discovered that generating code is difficult.

I considered learning ARM or AVR assembly and generating code for Pokitto, Arduboy or GBA (via an emulator),
but I soon realised that I would also have to know how to manipulate the hardware,
and in the case of the Pokitto and Arduboy Iā€™d run the risk of bricking them.

So instead I decided to design my own CPU and write an emulator for it.
Which I mostly did, but then I got hung up on the tiny details, such as:

  • Do I support pre/post increment/decrement modes, as ISAs like the PDP11 and AVR do?
  • Memory mapped IO, port-mapped IO or both?
  • Whatā€™s the best way to implement the stack?
    • Should it grow up or down?
    • Should I include a base pointer?
    • Should the user have direct access to the stack pointer?
    • Should there be ā€˜pushā€™ and ā€˜pullā€™ instructions?

Et cetera

Things I should be doing instead of writing this reply but keep putting off:

  • The portraits for the Arduboy magazine

Special mentions:

  • Iā€™ve provided small bits of help and advice for the Arduboy2 library from time to time.
  • I semi-regularly provide help, advice and information for anyone working on a project that asks me.
    Usually itā€™s Arduboy projects - I donā€™t get many people asking here for some reason.
    If I had to guess Iā€™d say itā€™s probably because most of the active users are already very experienced programmers.

Other talents:
Unlike @torbuntu, programming is pretty much my only talent.
I can do mediocre drawings, I know a tiny bit of French and German,
and barely enough Japanese to upset the Yakuza.
I canā€™t sing, I canā€™t dance, and Iā€™m too tone deaf to play an instrument.
The list of things I canā€™t or donā€™t do would easily fill up another text wall.
(I do have an minor qualification in Psychology though (AS level I think).)


If anyone wants any more information about any of these projects, feel free to send me a PM.

4 Likes

Some of my projects from the time before Pokitto:

  • Various projects using ARToolKit. It can be used for augmented reality stuff to overlay 3d objects on realtime video, but I used a webcam and ARToolKitā€™s paper markers as 6-DoF controller in a submersible racing game, to control sound pitch and volume in a theremin music program and as a 3d paintbrush.
  • Solar energy tool to visualize solar irradiation on selected surfaces of a 3d model. Originally developed in C++ for my masterā€™s thesis to study production of solar energy in a residental area. Later ported to C# and to python as an add-on for blender3d. Iā€™ve also used it for garden planning to find the sunniest spots for plants.
  • Ray Tracker, a tool that uses ray tracing techniques to generate tracker music files instead of images. Instruments are dots in 3d space with speed and direction. They are located inside objects and played every time they bounce from a wall. Sound pitch and volume are determined by wall texture at the point of impact. Also included ray tracer to visualize the 3d scene.
  • Physical modelling synthesis of string instruments (violin, piano and guitar). The most challenging part was making the excitation functions that model physical interaction between the string and violin bow, guitar pick or piano hammer.

I like didgeridoo because anyone can play it no matter how tone deaf you are. Iā€™ve made myself a couple of didges from plastic water pipes and one from paper towel tubes, newspaper and a wooden mouthpiece. Iā€™ve never tried a real one so I donā€™t know how bad sounding these DIY ones really are, but at least they make a sound.

Circular breathing was, at least for me, not as impossibly difficult as I first thought. Of course there are different techniques, and it takes a lot of practice to really master it. But basically, if you can breath through your nose while holding air in your cheeks and squeezing it out between your lips (it is easier the more resistance there is), then you are already doing circular breathing.

6 Likes

Iā€™ve been building this

image

Im still waiting on the headlight for it, and I have to make the brake light, and rear marker light, the handbrakes have switches in them to activate the brake lights,
but now I have to figure out why my back wheel is off center I am afraid the frame may be a little out of true.
it got almost 30 mph today when I tested it, but the pedal chain broke on me, not sure how but one link is missing one side.

7 Likes

Eh, Iā€™m sort-of all over the place. Most of my career has been a full-stack web developer (including the frontend design stuff), but Iā€™ve also done a few years working in freelance VFX and print design work. Most of my (now several years old) design work is on my personal site, and I also do some design and programming work that I usually forget to post there.

Lately, Iā€™ve been into fantasy consoles in a big way, and I have mostly @torbuntu to thank for keeping my interest in them high. Where others seem to have lost interest, heā€™s always excited to see peoplesā€™ progress and is always encouraging via his sheer level of excitement (that excitement about Pokitto is primarily why Iā€™m here). I created my first full game release on his (second) Leikr system to help me understand and document it better: https://pixelbath.itch.io/flappybirb-leikr

Tangentially, I love video game console homebrew quite a bit too; Iā€™ve got a rudimentary pong game (with weak AI) on the Wii, am currently helping with a Goldeneye 64 port to the PSP, and Iā€™ve started creating a Pico-8 interpreter on the PSP (it works, but performance is currently 6fps).

Most of my hobby time goes into console homebrew (Iā€™m keeping my own wiki), personal infrastructure (currently working on removing all cloud-based stuff and replacing with private cloud stuff), contributing to open source projects (usually homebrew-related), art (I do mostly Blender, but pixel art and vector illustration as well), or video games. I work on pixel art for game assets, but Iā€™d really like to sit down and push this skill further.

Language-wise, Iā€™m semi-fluent in Spanish (Mexican variant), and am currently learning Japanese. For the latter, Iā€™ve only got a minor vocabulary and maybe 75% of the hiragana memorized.

Iā€™ve got some music theory under my belt and can (barely) play piano by ear. I played the drums in high school, and nowadays doodle around in Ableton and Reaper, but I havenā€™t really sunk serious time into it since I donā€™t have room for all my equipment yet.

6 Likes

I have a '69 Mini that needs restoring. It is pretty good already, but it was once white and the interior paint is still white and the seats red. I need to repaint it and swap the interior for black.

Oh, I also restore old school BMX bikes - especially Australian made ones.

11 Likes

Iā€™ve been under a rock for the past 15 years. There was a time I was a bit of a MAME developer, and I designed mod kits for arcade games. I havenā€™t done that lately but I still have 2 garages full of rare games, (and a few cars). Just need more free time. Now that the kids are older Iā€™m getting back into games a bit.

8 Likes

@dwidel Spitfire?

I was thinking an MG Midget or even an Sunbeam Tiger. Edit: no the rear quarters arenā€™t high enough.

Yeah, bingo. 64 Sprite. Itā€™s a former dragster, set up for a small block chevy. Itā€™s more of a long term project. Iā€™ve got a Lincoln Iā€™m getting ready to paint now and a Chevelle in the middle of an engine swap in the other shop.

I just looked up Sprites ā€¦ I never knew they were exactly the same car as the Midget. I thought they just looked similar.