11/16/17: NeChat - Many more updatesSo, I've still been working on the NeChat project. I have working server side code (Core, mySql DB and REST services). I also have created a pretty user friendly (I think) REST client for the client applications to consume. The test client application I was writing previously was a good test bed (java.swing) but I started feeling like I was putting too much work into just a test client. I have now switched over to JavaFX.
The client will now log in on start up. Currently this is hard coded, I need to create a login panel for it as well extra config values to store save logins on next start ups. When the app starts up, it will take the username/password and attempt to generate or retreive an authentication token from the web services. If this passes, it will continue loading the application. In the future, if this fails, it should revert the user back to the login panel to attempt to enter their credentials again.
New JavaFX client can now display the user's current buddy list as well as show the message history with each buddy and send/receive messages back and forth with each buddy. It actually works surprisingly well! I'm happy with how things so far are going. (Just started creating the JavaFX client tonight). I'm by no means a UI/client application person. My job is backend server development so this is more or less new/rusty ground for me.
Anyway, I'm excited with how things are coming. Here is a screen shot of the current client. Click the image to enlarge. If you're interested in the code and such, check out the github link in my previous update for the latest!
10/30/17: NeChat - New Project!I felt like I needed a little break from MCr3 as I could tell that my momentum has been slowing as time went on. I haven't forgotten about it and will continue to work on it, I just have created a new (very different) project to help keep me from getting burnt out.
The new project is a cross platform chat service written in Java. This service is similar to AIM used to be or something more modern like Skype is today. I don't actually have a practical purpose for this project, I honestly was just curious if I could create it. The idea was created because lately Skype has been crashing constantly and the advertisements are down right annoying. I figured maybe I could make something homebrew. :)
So far I have a mySql database created with a few tables for users, messages, tokens, buddies, etc. There are also jobs (events in mySql) that run to clear out any expired auth tokens so the DB doesn't get filled up. The service will issue a new token if the old is expired will not accept expired tokens so these old expired tokens should be cleared out.
I also have the server side REST service where you can authenticate to get your authentication token (used to for all requests as well as your creds to make any calls). Other calls include sending messages to users, getting messages sent to you from other users, adding and removing users from your buddy list as well as probably some others that I don't remember at the time of this post.
I have also started working on a simple client application that consumes these REST services. So far my simple client can authenticate and retrieve the auth token. After this is done, you can make a call to get your buddy list. I basically just started hacking away at this tonight so expect more in the coming days.
I went with Java again for its cross platform-ness. Also, custom platform specific clients should be easy to make as they are basically just a UI for dealing with the REST service.
The Java area has been added back under the projects section. I haven't created individual projects page for each yet but the place holder is there. Currently each project just has a link to my corresponding GitHub repository as well as a short text blurb about it.
GitHub Link to NeChat Project Repo: https://github.com/shamrice/nechat
10/21/17: MC_Reboot ver 2 (C++) Update again?Oh boy, this is even more unexpected. I was able to get the original MC_reboot v2 to build on my Windows computer. I was able to build a Win32 version of the code after much tweaking. I had to lose all in game text because SDL_ttf was being too much of a pain to be worth porting over. So if you head over to the C++ project page for Millennium Crisis, you will find a link to a download where you can try out the latest version of that old code if you have a Windows computer. If you are using Linux, I recommend trying the sources from GitHub as they should work without issue.
Direct link if intested: Win32 Binary Zip Download
10/19/17: MC_Reboot ver 2 (C++) Update. WHAAAAAAAAAAAT!?!Yes, that's right. I was digging through old files on my Linux desktop and ran across the old Millennium Crisis reboot #2 that was written in C++ about 2.5 years ago and is the inspiration for MCr3. I stopped working on that version because I managed to come across a bug where pointers were reading data from other memory locations and gave up on fixing it.
It's a shame I did that because I was able to fix the issue I was having in under an hour (had to get refamiliar with the code base). The issue was created from when I set up the NPC's "talk string" from the config file, the C String I was setting was not terminated correctly so later when that string was called in game, it would read past the correct memory location and read garbage data. I fixed this as well as an issue with the first screen test drops not showing up. (They work too!)
Revisiting this code after so long is interesting. It's much further along than I remember and it's actually not bad at all. The latest Java version is definitely more polished and better written but the C++ version isn't by far garbage. There's actually some functionality that it has that the Java version doesn't have. There are area drops that are visible that you can pick up as well as multiple inventory item types that can be used. (These will be coming to MCr3 eventually). The biggest difference in gameplay between the two at this point is the Java version has multiple weapons you can equip, more polished inventory interaction, the ability to run as well as almost all sprites are animated where the C++ version does not have any animations but the rest is there to some extent.
Well, if interested, I've updated the GitHub repository with the fixes. Probably the last fix this version will see which is some what bitter sweet.
Link to Git Repo: https://github.com/shamrice/mc_reboot
10/18/17: MCr3 - Refactoring, Inventory and moreMore progress has slowly been made on MCr3. I had to do a large refactoring to the code base to clean up how different objects interact and inherit each other. That was somewhat of a pain but it's looking much better now. I fixed the bug mentioned in the previous update about attack direction facing as well as a bunch of others I don't really remember.
The inventory is now functional. You can go into your inventory and equip/unequip items (the equipped item is shown in green). You can also drop items you no longer want. After and item is dropped, it can no longer be picked back up. Right now, the game pauses when you enter the inventory as navigating the inventory area uses the arrow keys (which share the responsibility of moving the player). I'm not sure if I'm going to keep that workflow or not. I may change it so that the inventory is accessed in real time instead.
Finally and probably least importantly, I added working pause functionality. The gameplay area gets masked with a transparent sprite to dim the area and the worded "paused" are displayed in the center. The message box is also updated with text for when the game is paused or not. This pause screen is also currently shown when the user is using their inventory.
9/26/17: Some more work done on MC reboot #3 (MCr3 from here out)Things have progressed a little slow with MCr3 lately with work and such being busy. Mostly what I've been working on today has been related to the asset configuration building classes and methods. I've had to completely refactor that section of code so that you don't have to specify every single sprite possibility with values in the config file, only the ones that you need. The ones that are not configured will be set to a default sprite value for the asset. I also rewrote how the sprite animation configuration is built and actually fixed a bug I didn't know was there. (Basically, all sprites would have the animation frame duration length for the right facing sprite). Not really interesting work, but it makes my life easier down the road when I want to add additional image assets. (Or if someone wants to mod the configs down the road to their own liking.)
The next ticket I'll be working on is a bug fix for your player only facing right when attacking. That hopefully won't be too much of a pain. After that, I'll finally get to adding the functionality to interact with your inventory. More info as it progresses or stagnates. :)
9/16/17: One of my first Qbasic game source files found.One of the first games I wrote, "Zelda" which was a text game based off the Nintendo series back in the late 1990s, I have recovered the source code to the game. For years and years this site has only ever had the compiled version available. (Basically since existing in '99). I added the BAS file to the Qbasic files section. There's actually nothing really interesting to be found it's just cool that I found the file. Boarding and Doomed are also from this "pre-NE" time frame from the mid to late 1990s. They can be found in the lost files section if interested.
9/12/17: Another MC UpdateStill making headway on the MC project. I'm happy with how it's coming along. So far, nothing has been too much of a headache to implement when I go to take care of outstanding tickets. The only thing slowing me down really is having some real good dedicated time to work on it. I'm not sure what I've added since last update but now there is a save and load feature, dead bodies show a looted sprite when you take their item. Stats are shown on screen... lots of fun stuff. Again, check the project on my github (link in previous update) with list of tickets completed, to-do and currently in progress.
In an NE first, I decided to take a quick video of the current gameplay in my little sandbox world I have been using. The video demonstrates attacking enemies, picking up items and coins, getting exp and leveling up, showing stats, running vs walking speed, saving and loading even after game restart. There's probably some more but I'm not sure at this point. The video is short so please just take a quick look if you have time. Thanks!
9/2/17: Millennium Crisis UpdateSo, I'm just updating to let everyone know that I've actually worked on the latest MC reboot today. I've added some basic experience system as well as statistics for the player, enemy and weapons. Not really much to say here, you can follow the project on GitHub if you want to see up to date changes as well as my prioritized ticket list. ( Link Here)
8/31/17: A few links fixed... and not much else importantI fixed the few links I have in the links section to actually open in the whole browser window instead of getting stuck inside of the links frame.
I've had family visiting most of August so I haven't really had time to mess with any projects so mcuh since the last update. Things have quieted down a bit here so hopefully I can get back on track either later today or sometime tomorrow after work. (Fingers crossed, we've all heard this spiel before... :D)
8/14/17: More Millennium Crisis Reboot News! (Surprise!)I'm happy to report that (in my free time) the latest reboot is still going strong! There are now player and enemy attack and "hurt" animations. There is a messaging system that displays information below the play area about attack damages, how much you've been hit for, what you've picked up, etc. I've also started working on an inventory system. Right now you can pick up items and add them to your inventory. The inventory is displayed on the right hand side of the screen. I still need to make further implementations of that system. Finally, I've created a configurable logging system. You can either log to a file or the console based on what you set in the config. (I know that's super exciting to have. haha) I still need to start working on an experience system and player / enemy stats.
I'm sure there's more that's been done that I've missed. I've created a project on my GitHub page for the project as well as wrote up some tickets so that I stay focused and on track hopefully.
Probably in the next update, I'll include some more screen shots because as of right now it's not so much of a leap in visuals from the 8/4 update that I feel that it's necessary. (Though I have increased the resolution of the game from 800x600 to 1024x768).
8/6/17: Happy Way Late 18th Happy Birthday NE!I just realized I completely missed the 2/20 birthday of this website! Over 18 years now as a website! Wow does the time fly!
8/4/17: Millennium Crisis Reboot Again In Java???Yeeeeep... Now that I removed the Java section from the website, I decide to rewrite the latest MC reboot in Java instead of C++. Go figure. At the current moment I'm about just as far as I was with the last reboot but the code and expansion of the game is still managable unlike it's C++ counterpart even though it could use a decent amount of refactoring. Dynamic area loading, dynamic asset configuration, collision detection, player attacks and enemy damage are all there right now in some form.
I currently don't have a name yet and at this point I'm not sure I want to call it Millennium Crisis like the last ones. On my GitHub, I've been using the name "ZombieAttack". For right now, I'm using most of the same assets from the C++ version in this alpha stage. (I did make the current projectile a slightly modified version of the freeze thrower projectile from Duke Nukem 3d though. :) )
A few current screenshots: Click Here
GitHub: Click Here
I also finally fixed the original Millennium Crisis demo from 2004 zip file to include the necessary dependencies in the zip file. You can find this in the C++ file's section. I'm not really sure why I bothered to do this. That code is now over 13 years old but I guess it's helpful if someone ever wants to play it and doesn't have a version of Visual Studio 6.0 still installed (Who does???) as the only compiled version seems to be a debug build and not a release build.
2/16/17: Site Style UpdateI've completed a quick redo of the way the site is styled. After updating a few times this year I got sick of having to update every single page if there was a change to the site navigation or the header. Now all navigation and header is stored in a main index page with all sub page content loaded into an iframe (where you're reading this now). I also removed the inline style attributes to all the divs and finally moved them to a style sheet. Page is also now resizeable and the font is slightly larger. Files and Projects links now open drop downs to the different sections like they were originally intended to do 11 years ago. Community link moved to the top of the navigation list.
I added the previous layout to the NE Archive as I'm not sure how much this new style will change from its current status in the future and from a behind the scenes perspective, this is a large change in how the site works.
2/13/17: New addition to NE Archive.Not really that important of an update but I found a version of the NE website that was on GeoCities in the internet archive. It's the version of the site that I used to hold updates when the main site was down from 2006-2009. I've added it to the NE Archive for those curious.
2/2/17: Possibly the biggest NE Qbasic Projects Update in the Last Decade.By how little this site is updated, that title isn't really saying much... but this is actually a big update! There's too much information to post in this little news block on the site to do any of it justice. In short, there is currently latest (unfinished) releases of Wry 3, Hellbent and Terror that were prevously either thought to be lost forever or forgotten about and never added to the site.
Check out the Qbasic project's sections for each one for full detailed updates as well as links on where to download if you would like to try them out.
1/30/17: Updated C++ projects page with Millennium Crisis RebootI finally updated the C++ projects section with the latest information on the latest MC reboot I worked on in early 2015. I added some screenshots, links to code on GitHub and the contents of the posts I posted on the forums related to it.
I've also started to work on removing the unused sections of the website to keep things more focused.
8/22/16: Rebel and Frenzy are now available in the Qbasic Files Section.With the help of Puckdropper, I was able to get my FTP client working correctly again. I've updated the Qbasic Files Section with downloads for both Rebel (complete with level editor) and the Frenzy demo. Just a heads up, Frenzy doesn't have any code in it controlling the game speed so if you're using DOSBOX, be sure to spin down the CPU cycles to make the game playable. Rebel doesn't suffer from this same issue.
Also, I just realized that the first update on this updates page is talking about these two games. So much for "Hopefully not years from now...".
8/17/16: Trying to get up to date...So, I'm currently in the process of trying to get Frenzy (the top view game mentioned previously) and Rebel up on the site so that they can be downloaded. They were never finished but are probably at least worth checking out more than some of the other stuff on this site :) I'll try to get the Millennium Crisis reboot up here as well (C++) even though that currently needs a rewrite as well.
I've also started playing around with Qbasic again. Today I've been working on the Doors idea again just for practice. I've created a basic screen where you can add/remove windows and resize, window, minimize, maximize, move and title them. I still need to add program shortcuts and it I'll most likely call it done. Who knows though, my attention span is awful at stuff like this. Link to image
More to come as it comes!
3/14/12: We're back in business baby!Well after years of not taking puckdropper up on his offer to host my website. I finally did it. Right now the website is basically in the same exact state it was back in Oct '06. That should be close enough to the time when it went down to work. I'm currently working on getting the site back up and functional before attempting any type of real changes. :)
Also TWO... that's right TWO new Qbasic games are in the works. A top view action game called "Frenzy" where you need to avoid the bad guys while getting to the goal and "Rebel", a side view action game similar to a Mario platform game but with it's own twists. I'm also going to include a level editor of some sort into Rebel as it already currently uses external level data files to populate the levels. More info as it develops. Hopefully not years from now...
Finally, I'm removing Java from the site as I don't think there's ever been any traction there.