A few days ago, I finally embarked on a small project that someone had suggested some eight (wow) years ago: open-sourcing some of the libraries used by ClrHome's webapps so that other people can use or contribute to them. The first batch of that code is now ready for public consumption as
clrhome-tools-php!
This first batch contains some PHP classes to
read, write, and tokenize TI-83 and TI-83 Plus–series programs and appvars. This is some of the core functionality of our
IES tool for online variable authoring.
It's been a bit tedious to clean up (in no small part because my web-dev code from eight years ago was ... uh, atrocious), so it'll take a while to get all the rest of the libraries out in the open, but classes to manipulate lists, matrices, and other variable types are coming soon.
Happy New Year, everyone!
Yes, this is my first post in almost six years. Unfortunately, I'm returning to bear (a little bit of) bad news.
We had a bit of a predicament this past weekend when our old hosting package expired. This wouldn't have been too bad, since I'd been meaning to migrate it anyway, except that the backup script hasn't worked for six months. Oops.
The good news is that I can still access the old hosting package's files—
tomorrow. Until then, ClrHome and its services will be running like it's February 2020. (We could all use some make-believe that we're still living in the
before times, honestly.)
So what does that mean for you? It means that if you registered an account after February, or made any changes to projects hosted at any of our
resources, your data is gone—
until tomorrow. Feel free to continue using the resources; just know that your data won't necessarily be up to date for another few hours.
I'll make another post when the current data gets merged in. Sorry for the downtime, and thanks so much for everyone's support!
EDIT: We're back! Everyone's data should be back to normal now.
In anticipation of the freezing of ClrHome's main blog, I am posting here the final update to the TI-Trek project that will be published on this site. As I'm sure many of you are aware, TI-Trek has seen a massive expansion. The project has gone from a one-man endeavor to a project with many programmers and graphics designers. Progress henceforth is headed by me (client programmer) and beckadamtheinventor (server programmer), and utilizing 3rd party networking libraries and bridge programs designed by commandblockguy.
The
Official Project Page, formerly hosted here, has become it's own website, mainly for the purpose of easy, same-server integration with the actual game server, and the web frontend for it, the
Web Deck. The new website is located at
http://titrek.us. Please update your links and bookmarks. Also feel free to join the project's Discord server at
https://discord.gg/Wrm6qUC.
If you would like to contribute to the project in some way, there are a number of ways you can. We are always open to (1) new developers, particularly those familiar with 3d rendering and movement engines, (2) beta testers to help us test out aspects of the game, and (3) donations to help us break even on development and hosting costs. The game server and associated website is self-hosted, meaning that our domain name and equipment, as well as other costs associated with running the server ourselves, are all on us. There is a Donate via Paypal button located within the footer of the TI-Trek website for anyone wishing to help out, as well as Financial statements indicating the current expenses and income of the project.
Thank you to anyone who thus far has followed and supported this project and I look forward to continuing development as we move this project closer and closer to a working pre-release. Also, here are some links to some useful project info.
Main Page:
http://titrek.usWeb Deck:
http://srv.titrek.us or
http://titrek.us/srvDonations:
linkFinancials:
http://titrek.us/admin/financial.php
It's been a while since the main feed here has seen any updates regarding my Star Trek project, but progress has been slow and steady. The GUI has seen a complete revamp, from the monotonous, all-black of the earlier builds to a sleek silvery-grey interface in the newer builds, a wider view/LCARs screen, an integrated power draw and delivery system, a Warp Core breach mechanic, and system repair feature. The hud has smaller, more concise tabs for ship control, and warning icons to alert you to shield and hull failure, power loss, no ammunition, and critical system failure (warp core/life support).
Early access alpha releases are technically already out on the downloads page @
http://clrhome.org/startrek. Many screenshots have been shared as well, the latest of which is here as well:
I'm thoroughly excited by progress on this game and look forward to continuing to add more features and a working demo to what looks to be a very massive undertaking (and an equally massive program :p).
At long last, and I'm sure to the surprise of many, the Star Trek Multiplayer game I've long talked about is out... in pre-alpha. Admittedly, this game still has much to go, but I think that this is newsworthy enough to denote it in ClrHome's news feed.
As of now, the game has a simple UI with healthbars to indicate the health of each system. Basic shields function as intended. Structural integrity is a bit of a weird system. While it remains at above 50%, any damage making it through the shields is dealt to the ship normally (with a fraction of it being dealt to structural integrity as well). However, if hull integrity falls below 50%, 25%, and 10%, the damage is increasingly multiplied by 150%. Thus, a ship with a more damaged hull will incur more internal damage as well.
Enjoy some screenshots of the current progress and stay tuned to this news feed and the official Star Trek MP project page at
http://clrhome.org/startrek for more updates.
At long last, we've got another news post. This one serves to declare that at this moment, I have three active projects, Star Trek Multiplayer, Slender, and Polynomials AIO. All of these are for the TI-84+ CE. I was forced to discontinue development on my TI-84+ versions of these programs after mine broke.
The program with current priority is Slender. Within the next few days, you will see an updated project page. After that, I hope to release an alpha version with the ability to walk around and see the environment. To that will be added page collection, Slenderman's AI, and more.
The finished product will combine multiple maps from some of the more known PC Slenderman titles, including
Slender the Arrival,
Slender's Woods, and
Slender Mansion into a gaming experience that adds new options alongside some of the known and loved mechanics, including an alternate ending.
Head over to the
Slender Project Page to follow progress, post comments, and download new releases.
Yup, another update about Star Trek!
First, some bad news. My old, trusty TI-84+ SE no longer has linking capabilities, rendering me incapable to test CALCnet, which is integral to this game. This means this project will no longer be coming to the TI-83+/84+. But do not fret. I have offered the code to anyone wishing to complete it, or to fork the CE version once it's done. So you old-school calculator users might still get this game eventually.
I have created a repository for the new version of the program, which targets the TI-84+ CE, which is available on request. In addition, I have released the first image related to this game, a screenshot of the new title screen, in all its 8-bit palette goodness.
I am pleased to announce the reboot and near completion of the first installment of an original Slender series for the TI calculator. This game, titled 'Identity', provides a different take on the Slender storyline, while preserving the Slender-man gameplay mechanics.
Rendered in 4-level greyscale, grab your TI-83+/84+ and work your way through a dark forest at night, while being pursued by the seemingly paranormal entity. Just like in the classic PC games, don't sprint for too long or you'll lose speed for a while and won't be able to run away when you need to. Also, look at him for too long and you start seeing static and will eventually die.
Want to be a part of the development team? Comment below! Want to try out the game before the official release? Join the beta team by commenting below!
Project Page:
http://clrhome.org/slender
As some of you know and many more don't, Slender-TI hasn't been the only project I've been working on of late. I've been actually brainstorming ideas for my own original Slender-TI series, and simultaneously working on Star Trek. This time, I've decided to bring the gCn server online first with basic functionality and then bring the client together, so I can test it as I go. Monkey has kindly offered to set me up with a skeleton and assist conceptually as my learning of socket programming advances. Anyone who wants to help on any part of this project can comment here with a method of contact and I'll be in touch.
The gCn server will be hosted on my own private server (at least for now). At my request, Deep Thought pointed a ClrHome subdomain to it. :p
In addition, I'm creating a control panel (
http://sthub.clrhome.org) that will allow you to administrate your user account for the game from the computer as well. When completed, this page will allow you to change your username, password, and email address, as well as view (but not change) the server configuration file. Admins will be able to monitor and alter the users database and the loaded objects database (which is essentially the gamestate) and the server config file. It will also let them pass commands to the game server, Minecraft style, and also let them stop and start the server.
FYI: This project is my first EVER attempt at using MySQL, and so far, it is going very well!!
Slender Project Page:
http://clrhome.org/slenderStar Trek Project Page:
http://clrhome.org/startrek
I am pleased to announce that my long-in-the-works "port" of the hit game Slender: The Eight Pages to the Texas Instruments graphing calculator is almost in beta stages. As such, I am opening the floor to anyone wishing to beta test...please comment below. Please read the Disclaimer below and understand the risks inherent.
I am currently finishing two final routine corrections, while Eiyeron assists in finishing the last few sprites. Additionally, I am holding the game pending an official granting of permission from Blue Isle Studios.
Disclaimer
The term "beta" applies to a full version of a piece of software that may have undiscovered glitches, glitches that may vary in severity. The purpose of beta testing is to remove the glitches, but please be aware that, if you are testing on a live calculator, unstable assembly code can cause data loss (RAM clears), Archive or OS corruption, or even in extreme cases, render your device permanently unusable, an event termed "bricking" by the community. Please use beta software with caution, and if you have reservations about testing, wait for a later beta or a stable release.
A heartfelt thank you to everyone who contributed to this project, including Zeda, Sorunome, and Eiyeron in particular, and to the entire Cemetech and Omnimaga community for their support and assistance developing this game, and of my developer career in general!
Slender: The Eight Pages is nearing completion. There are two bits of coding left to be completed, two sprites, and a map and then we are ready to beta test. As of a week ago, Slender's code has been pushed onto a private Git repository, currently only accessible to Xeda, Deep Thought, and Soruome. This has been done for the purpose of syntax spot-checking and optimization.
Unfortunately, coding on Slender is paused. I injured my hand a day ago and it is very hard to type due to the location of the injury and the bandaging on it. I hope to heal soon and resume Slender work within a few days.
Additionally, the Slender project page has been completed and is located at
http://clrhome.org/slender. Please follow this blog, Cemetech, and Omnimaga for news on Slender progress. I should have a beta out soon. Anyone wishing to beta test, please comment below or on Cemetech or Omnimaga. Slender will start as a closed beta and then move into a community beta. If the game is well received, I will then port Slender: The Arrival and possibly Slender Mansion to the TI.
Last but not least, any Z80 programmers who develop for the color screen calculators are welcome to fork this project into a color version. Comment on here, Cemetech, or Omnimaga and I'll be in touch regarding Git access.
Coming soon from me, as a skill builder along the way to Star Trek, and my first step into the horror game genre as a TI developer, is a clone of Slender: The Eight Pages for the TI-83+/84+. Start off in a dark woods at night, and wander through the trees as you try to collect all eight pages before the mysterious entity called the "Slenderman" catches you.
Game based on the Slenderman creepypasta, and is a port of the game by the same name released for Mac and PC. This game is not affiliated with the makers of the original Slender in any way, but I do hope we get an official granting of permission from Parsec.
Z80 Assembly, 4-level greyscale.
That's right—ClrHome is moving to a new host, yet again. Expect some downtime as we get stuff up and running on the new server!
On less exciting news, I accidentally left my working graphing calculator (TI-84 Pocket.fr) in a different city and will not have access to it again until the end of December, which is exactly why there haven't been any updates to Maximum Security recently. Expect some fresh downloads near the end of the month!
EDIT (2014-12-14 10:03 PST): If you can read this, welcome to the new server! We're bound to have some bugs still lying around (turns out not all servers are identical), so if you see any, please don't hesitate to contact us or comment below.
Progress on Star Trek has been coming nicely and seems to be nearing the 50% mark. Help from the programming community has been very valuable.
This game started as a passing idea for something that the CALCnet protocol could accomplish and evolved into a large-scale real-time strategy game that is nearing completion. Aspects of gameplay continue to evolve by whim as progress continues, as do ideas for seamlessly integrating server and client task management to create a pleasant gaming experience and a networking masterpiece, something previously considered impossible on a Texas Instruments graphing calculator.
Already done are most of the Main Menu and Connect Menu windows, and their related subroutines...relaying login, registration, and change info packets to the game "hub", the server-based interface that enables calc-to-calc and calc-to-server interaction. Additionally, you may file a bug report directly from your calculator. Game saves are stored server-side, not on your calculator.
Remaining to be done is the remainder of the networking, 3D motion, and the combat system, as well as the programming of the server. At the current rate of progress, I have no doubts that the game will be ready for beta testing within a few months. Stay tuned to ClrHome for the latest news on this project.
After some personal issues and a filled summer, I have found some time to get back to programming. Since this was my most interesting/promising project, I have decided to return to it. This article will refresh anyone reading it on the planned features of the game, and allow a forum to suggest more features, volunteer to assist in the making of the game, and so on.
Features:
Star Trek Multiplayer will be a fully-functional first person space shooter for the Texas Instruments graphing calculator, in the style of Star Trek combat. The view screen allows you to see directly in front of you, but hotkeys on the calculator allow you to access such things as sensors, weapons and shields controls, power configuration, communications, and much more.
To add more flair to the game, the core of gameplay is built around the DCS7 CALCnet/global CALCnet protocols, enabling unit-to-Internet communication. Every calculator running this program and DoorsCS7 may join the game and play against other players on the server. Each player creates a ship, outfits it with basic weapons and enters the server's game world.
Through gameplay, players earn three types of points. For defeating players in combat, you earn combat points which may be used to upgrade weapons systems. For rescuing other players or allying with other players, you earn diplomacy points which can be used to upgrade ship armor and shielding systems. For defeating opponents with minimal combat, you earn stealth points which can be used to buy stealth equipment, such as stronger sensors, cloaking devices, EMP guns, and the like.
An additional feature to the game...shields and weapons may be calibrated with a number, called a modulation factor. Let us assume a player's shielding systems were calibrated to 123. This means that, should a player have weapons calibrated to 123 as well, their weapons will completely breach the shields, raised or not.
Terrain on the server includes bases (neutral zones where players may go to buy upgrades and repair their ship), stars, nebulae, black holes, and other space terrain. Relevant terrain will have gravity, cause collision damage, or even heat damage.
Players may attack with more than simple weapons. Viruses may be loaded into other player's "computers" that will shut down systems, redirect power, etc. You may beam crew members into opposing ships. There are remote override commands.
The power system utilized in the game will be Star Trek realistic. The warp core will produce main power as a certain rate. That rate is proportional to the current health of the warp core system. That power is stored in the power reserve, and is depleted by systems. The backup generator also provides power, but at a much slower rate. Should the warp core be destroyed, you will need to switch to backup power. Each system works at an efficiency equal to the percentage of power available. So when the power reserve is full, all systems operate at 100%. When the power reserve is at 70%, all systems work at 70%. When the power reserve is empty, all systems fail. To conserve power, or boost your attack or defense strength, individual systems may be configured to use more or less power. For example, a phaser that is set to 150% power deals 50% more damage than normal, but also consumes 50% more power.
Sensor systems are required to lock onto ships for firing, obtain data about a ship, and track a ship at warp (up to a certain range), whether it be fleeing or coming to attack. The more upgraded your sensors, or the more power to them, the better they work. Should your sensors be knocked offline, you will need to manually find your target by steering around to bring them into focus, instead of them being automatically hit.
Firing a weapon at an enemy does not occur on a point-to-point basis. In many PTP systems, if the weapon is fired the transmission is sent directly to the opponent. However, in this game, a fired weapon becomes an entity and its speed and position are handled by the server. Should the target change speed or direction, your shot may miss and hit something else.
Technical Information:
Here I'll give a basic synopsis of how a gameplay session would work, so people interested in playing it will know what to expect, and developers will have an idea on the vision for this game.
You start the game. After moving through the title screen, you get presented with the Login or Register interface. To log in, type in your password. To register, type in a username, a password, and an email address (to send updates/file bug reports). After successfully completing one of these two actions, two small (under 100 byte) AppVars are created, one with information about your player account, the other with ship configuration data. You will then get the Connect, Settings, About, Credits, or Quit menu. Changing credentials lets you reset your username or change passwords. Settings lets you change your frame rate (how long your client waits before refreshing the map). Connecting enters the game.
When you join the game, your player account gets a one-byte ID associated with it. This ID becomes associated with your calculator's 5-byte client ID on the server (which also caps total number of players at 256). Each client saves the list of connected players into a third AppVar, with the one-byte ID for that player first and the username second (coordinates of players near you stored separately). This comes to a maximum of 2304 bytes for a full server, which is not bad at all.
In sync with your client's frame rate, the calculator will pull map data from the server and redraw the view screen (stuff directly in front of you) as well as show other things on sensors that are near you. This list of objects near you includes only objects within sensor range and nothing else, and is stored in RAM (saferam2).
There are hotkeys associated with certain actions like firing, switching equipped weapons, raising and lowering shields, changing speed, and much more. It is planned for a later release to allow you to change the default key binds within your settings (by cross-associating the default key bind to the new key bind).
When you are done playing, you press the key to disconnect from the server. At this point, the contents of the player save AppVar and the ship configuration AppVar are sent to the server for saving. Once the server indicates that you are successfully disconnected, the client destroys the local copies of those AppVars. From there, you can Connect again or exit the program.
----------------------------------
This and more is planned for this game. Anyone willing to help or test please comment below. Needed: Z80 Assembly programmers or python programmers.
So I was too optimistic in my timeline for Maximum Security. Ah well, it's still pretty close to the end.
You can download the
current version of the program as well as a
level pack I've been working on, with two levels. (Also, here's a screenshot of a really dumb level that just demonstrates the physics engine.)
In particular, the level editor and main menu are now integrated into the program, and loading level packs and saving progress all work splendidly. It's all essentially complete, with the exception of a simple way to go from the level editor to a testing environment for the level being worked on. (Of course, you can always just load the level pack normally and test it from there.)
But now that the core program is finished, what remains (besides documentation) is to make some levels, and this is where I make other people do my work for me.
If anyone is interested in making levels for Maximum Security, you can do it now!As we've said before, Maximum Security will depend on level packs. Anyone can create a level pack using the main program as follows:
- Select Maker from the main menu
- Choose the option "Create new level"
- Enter the name of the level pack and then its password for editing
- Use the following controls to manipulate levels:
- + creates a level
- – deletes a level
- × moves a level down in sequence
- ÷ moves a level up in sequence
- 2nd enters the actual level editor, for which the controls are as follows:
- MODE to enter the tile selection menu
- TRACE/GRAPH to quickly switch to the previous and next tiles in sequence
- 2nd to set down a tile
- DEL to delete a tile (same as pressing 2nd when the blank tile is selected)
- ENTER to save
- CLEAR to quit
This is all much more complicated than it really is; you can see an actual screenshot of the level editor in a
previous post. If you create a level pack you're particularly proud of, email it to me to showcase it in an upcoming gallery!