About this blog
Information and media regarding our current project.
Entries in this blog
Github Link: https://github.com/dbeals/GameSaveSystem
The initial implementation of incremental saves is great and I'll be sticking with it for most of my games, but there are instances that it simply isn't a good fit (games that have large save files for example.) So, to get around this I have added a new implementation: save and swap. I want to point out ahead of time that the new implementation does still keep one backup copy. I'll be adding a flag to not create the backup in the next commit; I would have done so now, but I didn't think about it until afterwards. Here's the breakdown of the process, using MySave.sav as the save name:
When you save the first time, it goes directly to MySave.sav.
Every save after that creates a MySave.sav.new.
Once the save has completed, it renames MySave.sav to MySave.sav.bak.
Then it renames MySave.sav.new to MySave.sav.
The new implementation can be found in SwapSaveManagerBase and has pretty much the same interface as the incremental SaveManagerBase - SaveGame(SaveName), LoadGame(SaveName), AutoSave(), Export(ZipFilePath), and Import(ZipFilePath).
As a side note, if you're not keen on using the base classes that I've included, 99% of the work is done via the SafeSaveHelper and SwapSaveHelper static classes. You can download the library and utilize the system with those classes alone.
If there is any other implementations that you can think of, let me know!
I've just posted the core of our game save system to GitHub.
One of the things that's really annoyed me (and I'm sure others) is the complete loss of a game save. Two recent instances where this has happened to myself: I completely lost a Fallout 3 save due to a save failure and I completely lost my Darksiders 2 game save due to a glitch (I picked up a sword I needed and when I loaded I still "had" the sword, but didn't have anything and couldn't move forward.)
To get around this, our game save system implements incremental saves. We tell the system that we want to save "DonnyAwesomeSave.sav" and the system will automatically create incremental saves for us each time we save. So, the first time it will create DonnyAwesomeSave.1.sav, then the 2nd will be DonnyAwesomeSave.2.sav, etc. There is a configurable maximum so that you're not creating TONS of saves (our standard is 3.) Then, the system will automatically rollback to the most previous save if the system fails to load (we display a message in this case, stating that the save failed to load and we are rolling back to a previous save.)
The system also provides a simply interface for auto-saves, utilizing the underlying system.
The other major thing I hate is trying to roundup all of my game saves when it comes time to move to a new computer/fresh install. So, the system has a built in mechanism for zipping up and exporting as well as unzipping and importing game saves. As noted, the export only exports the most recent version and the import cleanses existing files that match the imported file name.
There is still a bit that needs to be added, but for the most part it's all there. We'll be adding examples and such when we get some free time.
I'm hastily scrawling this down here, basically just brainstorming the idea that I have.
I spent a little bit of time today implementing the database structure for a generic game account services - high scores, achievements, game saves, parental controls, etc. I hate to use a big name, but the idea is basically Xbox Live/Steam for indie games without all of the store/game hosting/etc. I guess a good comparison would be what GameJolt offers through it's services, but, again, without the hosting.
Basically, I'd like to have a place to host my leaderboards, cloud saves, achievements, etc ("game account services" as I've been calling them), but without the restrictions that are placed by the other services available. For Xbox Live you have to be on the Xbox and (as far as I know) online services aren't available to indie games. For GameJolt you have to host your game there and it has to be free. Steam is a pain to get on to and some people simply do not like the service (I'm assuming Desura and such are the same.) As far I can tell, there isn't a service available that offers just the services, with no strings attached.
Originally I had planned on creating an account service like a lot of the big shot companies do (i.e. a "BSGames" account), but I don't want to add another account for users to manage and I believe other indie developers could benefit from a system (so I'd like to stay away from naming it a "Beals Software account".) To avoid the extra account, the idea would be to integrate with something else; we'll just use OpenID as an example.
So, you would go to the "Game Services" site, log in with OpenID and that would create your Game Services account. Whenever you wanted to log in there (or say a mobile app), you would log in with your OpenID credentials. When you wanted to log in through a game however, you would log in using your OpenID username and an authentication token that is made available from the Game Services site (which you can easily change/regenerate.)
The current structure already supports this (as well as a full user system in case I can't really find something to integrate with), along with high scores tables, data items (game saves), awards and parental controls. However, I'm curious if anyone else would find this beneficial or if I'm just wasting my time. Obviously I have visions of grandeur where lots of indie games utilize it, but I don't want to waste my time/energy if I'm overthinking it/missing something that already offers it.
I apologize, I'm terrible at keeping this blog up to date. I need to hire a socialite to do all of my social stuff while I'm working (that or get my wife to do it lol.)
Quite a bit has changed in Keep Them Sleeping since the middle of April. I'm going to be lazy and just post the change log:
Version 0.6.2 - Asteroids will no longer damage pods of dead patients. - Updated initial sequence to be smoother and more involved. - Implemented bacteria level - not used at the moment, but will be in the future. - If a processor is lost, the last process is dropped (so, if you go from 4 to 3 processors, the 4th process will fail.) - Updated immune system stabilizer to order patients - diseased first, then infected, then by immune system level. - Updated chryo-sleep stabilizer to order patients by sleep level. - The chryo-sleep stabilizer now respects available processes (it won't use up the last process nor will it apply medicine when there are no available processes.) - Added Date/Time and emergency timer to UI.Version 0.6.1 - Added Firefly group to the name generator (enter 'browncoat' into the override panel.) - Added splash screen - Corrected issue with title screenVersion 0.6.0 - Corrected some UI bugs (some calculations were off.) - Corrected bitmap font rendering (some calculations were off.) - Moved settings from C# Properties.Settings to custom solution (Properties.Settings was not working properly.) - Added help messages (popups show when a patient gets infected and such for the first time.) - Added context-based help messages (right click on a panel to get a popup about it.) - Started adding intro sequence - Adjusted score so that a patient waking up is counted as a negative (you are now deducted 600 points, up from 0.) - Chryo-sleep stabilizer administers shots at 30 or lower (up from 25.) - A negative response to the sleep medication lowers sleep level by 15 (down from 25.) - A notification is now printed to the console upon overdose and paralyzation. - A notification is now printed to the console to notify that a patient woke up, but they were pralyzed. - Added new events - projectiles can now cause additional damage (to the hull and pods.) - Added new game over scenario - ship is destroyed (hull integrity reaches 0.) - Removed Help option from the 'pause screen'. - Added Override Panel option to the 'pause screen'. - Added a load of cheats to use from the override panel after a game has started. - Added notification when the last of an inventory item has been used. - Corrected issues with cheat mode - disease, overdose and paralyze now work correctly. - Added 'Easy' mode - start with 2 processors, more repair bots (both hull and pods will repair quicker) and processes cannot fail. - Broke White Rabbit font - Fixed White Rabbit font - Fixed console window so that it displays the proper number of lines. - Added Tips section above. - Raised chance of injections succeeding - booster is now 95 (up from 85), infection is now 95 (up from 85), disease is now 95 (up from 90), sleep is now 95 (up from 85). - Added rare chance for two items to produced. - Updated cheat mode so that you can right click an action and it will finish immediately. - Cure infection and cure disease shots now boost the patient's immune system slightly (at the start of the process, rather than the end.) - Altered the override panel so that it is no longer case-sensitive.Version 0.5.5 - Improved tooltip handling - Added background image. - Added scrolling space background. - Adjusted patient score calculation. - Adjusted time calculation. - Gain for curing disease increased to 40 (up from 30.) - Tooltips no longer contain levels (leveling was initially planned, but is not going to be used as it doesn't fit in the timespan of a playthrough.) - You can no longer repair a pod that is not damaged. - Added cursor to UI skin. - Corrected typos in the immune system stabilizer output. - Chryo-sleep stabilizer now actually displays output. - Chryo-sleep stabilizer now properly injects sleep medication. - Disabled profiling system.
We still have a bit to do - mainly adding support for loading compressed audio and adding audio (there is currently no music and only 1 sound effect.) Other than that, we're going to be working on some more UI options for it as well as refine the gameplay mechanics and make it more intuitive.
You can pick up a copy on itch.io at http://bealssoftware.itch.io/keep-them-sleeping or on GameJolt at http://gamejolt.com/games/strategy-sim/keep-them-sleeping/27679/ . As always, any and all feedback is welcome.
In other news, we are still working on Seeking Imagination, but we're putting Lord Sen's Battle Arena on the backburner until we can resolve the issues with it and implement some sort of servers system for multiplayer. In the meantime we're fleshing out the designs and prototypes for a few other games.
That's all for now; my lunch break is over so I'm back to work.
Whelp, unfortunately our Kickstarter for Lord Sen's Battle Arena wasn't successfully funded. The game will still be coming out, but we're not sure how we're going to approach it. Our options are to finish the work and put it out with my ugly art or put it off until we have the funds to pay the artist. This also gives us a chance to review the direction of the project before continuing, so we're taking a little break through April on it.
Keep Them Sleeping
In the meantime we're going to be working on smaller projects and ideas. The first of which is Keep Them Sleeping - a small Windows game that puts you in the shoes of the Emergency Pod Management Bot on a spaceship.
The inhabitants of the medbay pods have been put into chryo-sleep due to the length of the journey. Somewhere along the way, disaster strikes, ripping apart the hull and disabling most of the automated systems. It is your job to keep the patients alive and asleep.
Here's a screenshot:
You can see some more on our website (http://bealssoftware.com/?module=project&id=14). You can also download it from there or directly here: http://www.bealssoftware.com/download.php?id=2.
Most of the primary features have been implemented, now we're just refining some things, adding better visual feedback and adding audio. I'm also contemplating changes due to the mechanics not being completely intuitive.
As always, any and all feedback/suggestions/etc. are welcome!
I know, you've all missed us and are wondering where we've been. Well, our time has been split about 50/30/20, with the majority of our time going to our families and our day jobs.
Let's Play Indie Games
Hi everyone! We're back with another weekly update. For those that are wondering where we've been and what's going on, I'll get to that in just a moment.
I personally have spent the majority of my free time working on the new version of letsplayindiegames.com, which launched a couple weeks ago. Funny enough, the whole point was to update the site so that I'd be able to spend LESS time on it and I ended up spending MORE time on it. However, going forward it'll require less of my time so it'll be worth it.
Before all of the work was being done by yours truly - I had a SQL script that would randomly select a Let's Player from the list on the site and then I'd look through their videos. There are a couple of issues with this process: 1) it's way too much work for me and 2) I'm going to be biased (I like some LPers videos more than others', I shy away from games that are higher profile, etc.) So, the process is automated and more fair - I'm not stuck trying to find a video at 2 in the morning and the people that really use the site will get the attention they deserve.
I'm also using the site as a guinea pig of sorts - once we've worked through a lot of the issues, the same system will be installed for our primary site, bealssoftware.com. Once that is done we'll be able to post our blog entries, video updates, etc on there.
Anyway, if you have a game you want added to the site or if you have let's plays that you' like added to the site, head on over and register an account. If you just want to see some great let's plays of indie games there is no need to register (though, it doesn't hurt.)
Lord Sen's Battle Arena
We have a larger scale project that we'll be working on in the future titled Seeking Imagination and Lord Sen's Battle Arena is a companion game to that project. What that means is that you'll be able to create characters in Lord Sen's Battle Arena, play matches and such against other players and then use the rewards from those battles in the full game once it is released. You'll also be able to do the reverse: take a character created in Seeking Imagination and play with them in Lord Sen's Battle Arena to allow you to upgrade your equipment without the bores that normally come with grinding in a single player game (the grinding is still there so to speak, but it's in a different format.)
Here's a quick little video showing some gameplay:
You can download a playable demo via this link. It is multiplayer only, so make sure to grab a friend. It is also very limited at the moment; only deathmatch/team deathmatch are available and only three maps are finished. We are going to host some play sessions this coming weekend (March 8th/9th 2014), so if you want to play with us let us know.
We launched our Kickstarter yesterday, trying to obtain funding to pay the artist for all of the in-game assets (tilesets, characters and avatar weapons.) If you want to check it out and find out some more info on the game, you can see it here: Lord Sen's Battle Arena Kickstarter Page.
That's about all there is at the moment - we're hard at work on Lord Sen's Battle Arena, so expect to see more info on that as we get features implemented.
But first, let's Kick Start Your Week with Mikeyo:
We're a little behind with our Indie Spotlights:
For the week of October 25th to November 1st our Spotlight was of Cloaks & Spells, a 2D platformer/metroidvania game:
Beals Software Project Page
For this week, our Indie Spotlight is Approaching Infinity, a 2D space roguelike:
Beals Software Project Page
Approaching Infinity has a Kickstarter that is currently running: http://www.kickstarter.com/projects/181428952/approaching-infinity-a-space-adventure-roguelike (ends December 11, 2013)
Now, we're really far behind partly due to our day job, but mainly due to working on the prototype for Lord Sen's Battle Arena (it was supposed to be the alpha, but we weren't able to hit that mark.) Basically, early last month I said that we were going to have the alpha for Lord Sen's Battle Arena ready by the end of October, so I put everything aside and focused on that. I realized in the last week/week and a half that I had the project nowhere near alpha ready, let alone prototype. So, I "fell off the grid" to put all of my time and energy into that. The prototype (version 0.1) was put up for download on 11/04, but I didn't really promote it due to the fact that it really is still quite unstable and featureless. Version 0.2 was just put up for download which is less broken, but still quite featureless. It is playable though; you can create a lobby, have people join, change teams and game settings, start the game and play (you can download it from it's project page, but it requires multiple players to "play".)
So, what was the hold up? Well, I implemented the initial system using plain a TCP set up. I know from reading forum posts and many articles throughout the years that TCP isn't the way to go. So, I then converted and refactored our core networking library over to Lidgren. While this was a very smooth process (seriously, if you're doing any networking I highly recommend Lidgren), it did still take a week due to my lack of networking knowledge.
The major hiccup though has been my lack of multiplayer game development experience. In all my time programming, every time I've attempted to develop anything remotely "online", my hold up is usually what to send and where. I've spent countless hours searching, but I have never seen an article that touches on this and trying to decipher it from others' projects (even tutorial projects) is close to impossible. I've come to realise that this is due to the fact that it depends so much on how your engine itself is written. I've also come to realize that using a component based engine wasn't the best choice
Anyway, things are moving along rather well now. We have everything planned out from our current version (0.2) through alpha (0.5) and beta (1.0.) We're going to be posting a new version every Monday (most likely evening), so keep your eyes out.
On other fronts, we've made the decision today to move The Lost Chapters to the background so that we can make room for a different project (Operation D.A.V.E as Mike has dubbed it.) We're going to discuss some details about it in our meeting later, so we should have some more info soon. I do want to say that it is kind of a time limited thing, which is why we are pushing it to the head of the line (well, third in line; Lord Sen's Battle Arena and Seeking Imagination are still leading the charge.)
Now, on to the topic of this blog: I'm not really sure about the future of it. I've come to realize that this really isn't the place for the weekly update; it is meant for game development and that's the content we should be providing here. So, I'm going to be shifting this journal back to more game development related topics, but I probably won't be doing "scheduled" posts. Basically what I was doing before I started the weekly update, but hopefully a little better (I'll obviously plug the weekly update in the blog posts though.)
As for the weekly update, we're kind of splitting things up and "expanding". Since the Let's Play Indie Games idea has expanded a little bit (we're showcasing our videos plus other let's players), we're talking about doing a Let's Play Recap video that would include those. Mikeyo's Weekly Update and Kick Start Your Week videos will continue as normal; we'll probably start putting up a news items for those (he also tweets them from @mikeyothedj.)
Anyway, I think that's all for this week and to catch up what we've been doing over the past couple weeks. I'm not sure what format I'll move forward with for the blog posts, but they'll definitely still be coming. Thanks for stopping in!
Mikeyo and I were quite busy last week with our day jobs, so I missed out on my tasks and Mikeyo's had to take this week off for his. So, the Kick Start video below is for last week and we'll be back on track next week.
As usual, Mikeyo kick started our week with some crowdsourcing projects:
He follows that up with his weekly update:
Let's Play Indie Games
Welcome back for our Weekly Update!
The indie games that we played last week were:
Castles in the Sky
We've got quite a bit going on over at www.letsplayindiegames.com. I'm working on getting dedicated hosting for it, rather than routing to a subdomain on our main site. Also, the contact page has been fixed (again; every time I make a change I manage to break that page even though it hasn't been touched since the launch of bealssoftware.com's new layout.)
We've also added a ton of Let's Players that play indie games to our wall; 30 of them at the time of posting. To help promote them (and also because I apparently am too busy at the moment to be able to work in recording and editing a video every day), we're going to be highlighting one of their video on days that we don't post one. In the future, when I'm able to hand the project off to someone else, we may change it to one of our videos a day and a video from one of the Let's Players. I'm not sure, this is the part where the fact that I shouldn't be in charge really comes to light: I'm too indecisive to pick between a couple videos, let alone 30; the entire point of the site is to help promote everyone, how am I supposed to pick a single video a day? We'll see though, maybe a good idea will pop up.
Another idea is having the Let's Players sign up for a mailing list and then dev's can submit their game's information through the site and we'll send it out. Not really sure how effective it would be; some improvements have been offered up (like allowing the Let's Players choose a genre to receive notifications for.)
Kind of a spin off of that idea - I know I plan on putting up a notification for our games that anyone and everyone can make a let's play and monetize it. So I'm contemplating adding a page to the site that will basically be a collection of authorizations from developers for let's players to make videos (and possibly monetize them.)
So, we have a lot of stuff in the works for it. The whole idea is to help promote indie devs, Let's Players that play indie games and to help bring them together. I personally think that let's plays are one of the best forms of advertising (I don't know how many games I've bought simply because I saw the guys from Rooster Teeth having a blast playing it), so I'm really putting a lot of time into getting that off the ground.
The indie spotlight for this week is Black Ice. You can find out more information about it on the project page: http://bealssoftware.com/?module=project&id=10.
Lord Sen's Battle Arena
Last week I showed off screenshots of the multiplayer lobby that I through together for Lord Sen's Battle Arena. However, know that there was a fundamental difference between TCP and UDP, I decided to dig deeper before moving forward. Lots of reading later, I decided that it would probably be best to switch to UDP before moving forward. So, I took our core library, ripped out all of the TCP stuff and integrated in Lidgren.
We're now back up and running and moving forward. I've added a screen for entering the settings when creating a lobby (your username, the port number and the lobby password):
I've added a screen for entering the setting when joining a lobby (your username, the host, the port number and the lobby password):
Here's a shot showing some different teams:
Here's a shot that shows actual map files and map previews working:
And finally, here's a shot showing the host in game:
At the moment the client doesn't actually get "in the game", he just sits at the lobby, but the host can start and move around. I'm hoping to be doing some connection stress testing this weekend. Following that, I get to try to figure out network prediction.
For anyone looking into networking - I definitely recommend Lidgren. It is super easy to get set up and the library itself is just really well laid out.
Well, that's all for this week's update. I'll be back next week, on time and with more info. We're quickly approaching the alpha, so there will be lots of screenshots and some videos coming out. Keep an eye on my twitter, @Programmer16, or check back here next week. Thanks everyone!
Mikeyo kick starts our week with some more crowd sourcing projects:
He also wraps up last week in this week's Weekly Update video:
Let's Play Indie Games
Hi everyone and welcome back for another Weekly Update!
Last week I mentioned that we would be doing five games a week...I failed to reach this goal. I had some games, but they are android and I really don't have a way to record those at the moment; I'm going to discuss that in our meeting this week.
I'm also having a hard time with it this week as well - I found some games that looked good, but they didn't record well, wouldn't record (not OpenGL or DirectX) or they crashed multiple times. I use FRAPS for my recording, which isn't a cover all, so I'm looking into some alternatives.
I'll warn you...I had a hard time cutting out anything from today's video so it is extra long (20 minutes.) I played through the human tutorial for Savage XR, by Newerth:
You'll be able to see this week's games on our site, LetsPlayIndieGames.com (check out the archive for last week's videos.)
If you have any PC games with a demo/release that you'd like a Let's Play video created for (along with some social media traffic and a chance at being in our Indie Spotlight), please send us your information at [email="email@example.com"]firstname.lastname@example.org[/email] .
Also, if you do Let's Plays of indie games, please let us know so that we can add you to our wall of Indie Let's Players (letsplayindiegames.com/?module=letsplayers.)
This week's Indie Spotlight is last week's Monday video, Blood Alloy. Their kickstarter is still running for the next couple days and could use a hand: http://www.kickstarter.com/projects/63518568/blood-alloy (ends October 10th.) Here's the video for those that missed it:
Lord Sen's Battle Arena
As Mike mentioned in the weekly update,we have named the battle arena "Lord Sen's Battle Arena" and are aiming to have an alpha done by the end of the month. As such I have put everything (well, other game projects) aside so that I can focus on that task. The focus this week is the base for the networking system and it is going well so far (though, I've yet to get to the hard part.) Here are some screenshots, including the newly finished team system:
And here's one where I've created a lobby (right) and connected to it (left.)
And the placeholder title screen:
That is all for now, thanks for dropping by!
As normal, Mikeyo kick starts our week:
He also wraps up last week in our Weekly Update:
Let's Play Indie Games / Indie Spotlight
We're expanding our Indie Spotlight segment to help promote more indie games. We will be playing one game a day, Monday through Friday and then we'll do the regular spotlight from those games on Saturday. I am still working on the website, so for now we have a temporary page up on our main site; you can check it out at www.letsplayindiegames.com. For more information, check out my news post.
Today's Let's Play Indie Games is the awesome Blood Alloy!
This week's Indie Spotlight is RedNeck Assassin, you can check it out on it's project page.
If you have any games that you'd like some extra marketing for, please let us know! Just remember, we're sticking to games that have playable versions and we're going to be making a video of it.
This week saw a great milestone - the feature used in both Battle Arena and Seeking Imagination are done, so Battle Arena has been separated into it's own branch.
Just to cover what the game is - Battle Arena is a 2D, skirmish-based multiplayer game. It will support 8-person local and network-based multiplayer. It's going to include all of the features from Seeking Imagination, but molded for the multiplayer experience.
So, obviously one of the biggest focus points is going to be game types - deathmatch, capture the flag, etc. This was my first task to tackle and it seems to be working pretty well; I have a lot more testing to do, but I'm happy with it. We have 7 game types planned so far and probably more to come.
This coming week will be focusing on developing the team system and getting the rest of the network core done.
Seeking Imagination's development will be slowing down a bit now until Battle Arena is finished. I finished implementing the basic AI functionality and that covers the major features needed for that, so once we come back to it we should just need to get content and artwork done.
Here is some concept art that was quickly sketched out last weekend:
And here's a teaser screenshot for a future project:
That's all for now, have a great week!
Hello everyone and welcome back for another weekly update!
Mikeyo kick starts our week with another group of crowdsourcing projects.
Indie Spotlight #3 - Shadow of Arawyn
The Indie Spotlight for this week is a great action adventure game, Shadow of Arawyn by DC3S. They are currently running an indiegogo project that you should go check!
Seeking Imagination Battle Arena
This week saw the implementation for a bit of the AI sub system.; mainly line of sight (a poor, initial implementation) and some reaction mechanics. I'll have some more information on those once I've improved them and fleshed them out more. For now, here's a screenshot:
More importantly, this last week saw the implementation of the date/time and day/night cycle. Our date/time system supports minutes, hours, days, months and years; all of which are based off of ticks (just like the normal date/time system.) We can specify exactly how many ticks make up each components, which allows us to control what a date calculates to.
The day/night system allows us to specify how many in-game minutes a real-time second equals (basically, each real-time second X amount of minutes are added to the game time.) It also allows us to specify a palette that will be used for the "lighting"; we can supply any size palette and it lerps between two values depending on the time.
With the two systems, we could theoretically start a game at 01/01/01 0:00 and could run it through the end, one second at a time. Here's a video showing the current setup:
We start off at 1 RT second = 1 IG minute, then 15 IG minutes, then 30 and finally 60.
That's all for this week; we'll be back with more next week.
In the meantime, don't forget to like our Facebook page to be entered into our contest and if you have a game you'd like us to spotlight, contact us in any one of the ways below:
- These forums
- @BealsSoftware on Twitter
- @MikeyoTheDJ on Twitter
- @Programmer16 on Twitter
Kick Start Your Week with Mikeyo
We'll start off with Mikeyo's video:
Weekly Update with Mikeyo
Indie Spotlight #2 - Don't Starve
This week's Indie Spotlight is Don't Starve by Klei Entertainment. Don't Starve is a great survival adventure game with a focus on crafting and a procedurally generated world for the PC. You can find out more information on our spotlight page.
[color=#282828][font=arial]Our Facebook contest is still going on ([/font][/color]facebook.com/bealssoftware[color=#282828][font=arial]), we're getting close to a drawing. We have just 12 likes to go, so let your friends know to get in now for the best chance to win. You can find the rules in [/font][/color]this Facebook post[color=#282828][font=arial].[/font][/color]
I'm not sure what Mikeyo is talking about, I don't remember saying I was going to switch from MonoGame to SFML...
So, originally our plan was to use MonoGame in combination with Xamarin.Android to deploy to mobile and OUYA. However Xamarin has changed their licensing, so now to use it with Visual Studio will cost about $1000USD per developer per platform so...EFF THAT. This defeats the purpose of using MonoGame anyway, so that takes away points.
The issue in particular that broke the camel's back is issue #998, which appears to have been resolved, but there has been no mention of a stable release (I'm not a fan of building from source code as that has resulted in bad results in the past for me.) I'm not sure why, but for some reason it just appears randomly for me (and once it appears it won't go away until I restart my computer), so not really something I want to ship my game out with.
The major issue is the features missing from MonoGame - dynamic sound instances, proper support for Xbox 360 gamepad (actually an issue with the underlying library I believe), streaming audio and, most of all, the lack of issue resolution - they're far more interested in "getting it running" on different platforms and adding new features than fixing the issues in (https://github.com/mono/MonoGame/issues/894 has remained an issue for over a year.)
Don't get me wrong, I appreciate what they've done with it so far, but I don't have the time to implement their features and track down their bugs so that I can work on my project and track down bugs in it. So the idea was to switch over to SFML...but that leaves us in the same position as I would have to implement all of the features that MonoGame offers. So, we're going to continue with MonoGame for now and if it becomes an issue we'll switch over to XNA for PC and probably SFML for Android.
Feature wise this has been a good week! I was able to get a simple status effect system in place, stat points and leveling in place (core, not UI.) More importantly I've started working on brains - the basic implementation for wandering is started and I've started implementing the symbols needed for more advanced abilities.
Bugwise it wasn't so good: I fixed angle-range detection which means you can only activate entities if you are facing and also allowed for line of site detection (or rather "facing" detection). However I found another - enemies are not clearing when changing from one map to another. I haven't had a chance to look at it, but it has me confused as enemies and other NPCs are all handled the same way.
That's it for this week; we'll be back with some more screenshots and videos and more next week. Thanks for stopping in and have a great week!
I apologize for the absence, Mike has been out of town and I haven't had much to report other than disasters.
I keep all of the game assets on an external drive that is connected to my development server; this makes them easily accessible from anywhere. However, I had an issue the week before last with files disappearing momentarily, most notably video and audio files (mainly because I use those for an extended period of time.) I've backed everything up, but I'm not sure how to move forward as neither the server nor the drive seem to have any issues. I was thinking it was a connector issue, but I had no issues with it connected directly to my laptop; now I'm thinking it may be a network issue.
Then this last week I spent most of my time over at my mother's house due to an infestation of yellow jackets. We're back home now and it is mostly dealt with (I hope), but I didn't get much done as I was running back and forth between my house, my parents' and the store.
This last weekend was not much better. I spent most of my time trying to track down an error that was being caused by MonoGame. Basically every now and then the game just won't run, it throws an error about failing to find the entry point for one of the opengl DLLs. This is just one of a long list of issues I've had with the library, so I'm moving away from it; playing around with SFML at the moment to see how well that works. I originally chose MonoGame as I wanted easy cross platform, but the cost to develop using C# on Android is just getting to high at this point ($1000USD per year, per platform, per developer just so that I can use it with Visual Studio? No thanks.) This is another reason I'm looking at SFML, they have bindings for C# and Java, so it should be easy enough to have two separate builds. We're having a meeting today to discuss the alternatives though.
Top Down Shooter Engine
I was able to get the TDS engine I created for LD27 converted over to MonoGame (from XNA) and got it updated to use our core libraries. This was pretty painless; I've written the code a lot of times, but it changes each time and it is usually just enough to make it a PITA when I try to convert it. There is still a ton of features that it needs, but it is a pretty good starting point. The first thing I'm going to work on is adding thinner walls and collision detection that will work with that.
Seeking Imagination Battle Arena
I fell behind on development for SIBA because I was trying to make the two engines the same since SIBA is supposed to be the prototype for Seeking Imagination. As you can imagine, this doesn't work very well. While they both have the same core mechanics, the engines themselves are very much different - SI is a singleplayer action RPG, SIBA is a multiplayer action arcade game (with RPG elements); SI has saving and loading, SIBA does not; etc. So, going forward I am focusing on SIBA and once I'm done I'll fork the code and alter it for SI.
I did manage to get melee combat in; I need to update the code so that it (and activation) takes the player's facing into consideration. Once I have some AI brains completed I'll post a video showing off the combat.
Lastly, I completed the implementation of a new feature - item instancing. We added this as we want to allow customization of items (think enchanting or sockets.)
Game Jolt Integration
I attempted to participate in Ludum Dare #27, but things did not work out well as I was taking care of both kids on Saturday and I ended up having to work on Sunday. I did get a very solid base going for a top down shooter though.
I've mentioned Game Jolt before, but I haven't really been using it. Back in February I created an open source API on CodePlex (gamejolt.codeplex.com) and I've now completely integrated it with our base library. The API provides simple solutions for game news (new DLC, kickstarter, etc) and cloud saves at the moment, if I think of anything else I will be adding them as I go. Here is a screenshot of the login screen and trophy screen running in Young Minds Memory Game:
Obviously the project will be changing shortly, depending on which library we decide to go with.
We chose our first Indie Spotlight entry - Steam Marines. You can find out more information about the game on our spotlight page. It's a great game and I highly recommend checking it out.
We have chosen the game for our second Indie Spotlight, but we plan on continuing to do them, so if you'd like to be featured on our front page, our Facebook, our Indie Spotlight page, our weekly update video and have a permanent project page on our website then let me know. It doesn't have to be a specific platform (though we are limited to recording Windows only at the moment) nor does it have to be free. We'll also update the page whenever you'd like; so if you add DLC/expansion packs, start a Kickstarter, etc you can just send us an email and we'll help spread the word.
Our Facebook contest is still going on (facebook.com/bealssoftware); we're just 15 likes away from our first drawing. So let your friends know to get in now for the best chance to win. You can find the rules in this Facebook post.
I've rambled on enough today; if I missed anything I'll cover it in next week's post. Thanks for stopping in and have a great day!
First off, the storyline: I decided to use the alternative form of the word Second, mainly the form of "second in command." The summary of the story is that you live in a destitute town that is being ruled by a bloody thirsty man and his personal guards, the 10 Seconds. They are named this because they are all considered to be his second in command, if he were to die they would have to fight over who would become the new leader (a little bit of a stretch on the theme, but I think it works.)
For technology I chose to use XNA and C#, which wasn't necessarily good or bad. I know both of these, so it was a better choice (in my opinion) than HTML5 or something similar. For the next jam/game, I'm contemplating hitting up a free game engine like Love or maybe a program like Construct 2.
I decided to use hard coded data so that I didn't have to worry about file formats or creating an editor. However, since I planned on converting it over to my personal game engine once I was done, I implemented this in a fashion which would easily translate.
The majority of the time I put in was split between buffered input (for mouse, keyboard and gamepad) and collision detection. Sadly both of these were a major waste; buffered input is nice to have for UI/game screens, but could have very easily been handled by a system that didn't take two hours to implement: isLeftButtonPressed, isRightButtonPressed, isUpPressed, isDownPressed, isActivatePressed and isCancelPressed.
I then spent (read: wasted) three hours on collision detection. "A top down shooter needs oriented bounding boxes, right!?" I thought...but I was wrong. For one, I have never implemented a proper oriented bounding box system, so this didn't end very well. I erased that and started implementing sphere based collision, but this is a horrible idea for square objects (i.e. tables, crates, the majority of scenery in games, etc.) So, in the end I went with a simple rectangle based collision and just made sure to limit the rotation I set for an object. So basically I spent three hours on a collision system that I scrapped and replaced with a 30 minute job.
For the combat I implemented a very simple system to handle guns. Each gun has the standard stats: fire rate, reload speed, damage and clip size. I used an "instance" system so that, if I wanted to, players could modify their guns (or I could generate random versions of the same gun that had slightly different stats.) The stat system was based on a 1-5 rating, which I am thinking needs to be expanded to a 1-10; 5 just doesn'to offer enough room for difference.
When trigger is pulled the system checks to see if any bullets are in the clip if not it checks to see if any ammo is in the reserve and if that is empty nothing happens (once sound is in, it'll play a click sound.) If there are bullets in the reserve it triggers a reload. Once therer are bullets in the chamber, the engine removes one and then a script that is attached to the gun generates any necessary projectiles (again, when sound is in the script will generate the sound effects.)
This spurred one of the things I've never thought about: how to measure accuracy in a situation like this. If I do it on a projectile base, we're going to be a little off as it's not really a good measure for multiple projectile guns (like the shotgun.) I could generate a "shot id" number that every projectile gets in a single shot, but that seems like a giant hack. The last idea I had was to generate a parent "shot class" that, once notified, would modify the accuracy numbers in the engine; this seemed like the best course to me.
The current status of the engine is kind of a mashup of different ideas. Originally it was going to be a simple run and gunner, so I had damage on guns, stats, etc. However, midway through I started thinking maybe something similar to Hotline Miami as it really kind of fits. Go to a location, murderize some people, move up a level and repeat. Find a boss or clear everyone out and move on to the next area. If you die you return to the entrance to the current area and that area resets. So enemies will currently die in one shot, unless they are marked as having armor on in which case they'll die in two hits.
So, at the very least I now have a nice solid start for a top down shooter. It will take very little effort to convert over to my code base (which I actually need to update now, as some of the code I did for the LD entry is better than what my library has.) The major change will need to be the map system - it is currently running on a normal tile map, which doesn't really suit the game that well. I think I might convert it over and throw together a small bullet hell game...
I also had a lot better experience with the competition this time around; I've "attempted" entries for Ludum Dare before, but I usually give up after a couple of hours because I'm not getting much done. This engine is fairly close to being done and I believe if I had been able to participate for the whole weekend I may have finished on time (most likely not very polished though.)
Here are some screenshots of the game:
Welcome back for another Weekly Update!
I'm trying to clean up the previous weekly update entries. It appears that every time I edit a post it messes up the formatting and removes the embedded YouTube videos. I will be posting a "Youtube Video Link" below the embedded video in case it gets removed.
Seeking Imagination Battle Arena
Youtube Video Link
In this installment of our devlog you can see the UI updates that I've made (font changes and the new message popup texturing) and the beginning of ranged combat. There was supposed to be more, but as always implementation issues and life got in the way.
How to get out?
Matt is working diligently on 'How to get out?' We will have some screenshots shortly...just as soon as I get the artwork to him. Moving forward Matt will be writing this section, so they should be more entertaining and have more content in them.
Our Facebook contest is still going on over at http://www.facebook.com/bealssoftware. Stop by and like us to be entered in the first. If you don't win, you'll continue to be entered in the future drawings. See our previous post for the rules.
We are working on gathering some games to put in our weekly Indie Spotlight. Mikeyo gives more details in the video below, or you can see our previous post.
Youtube Video Link
Thank you very much for stopping by! Tune in next week for some more videos and screenshots!
Here is the video of Seeking Imagination - Battle Arena's prototype:
The editor for these entries is terrible. The font sizes keep randomly changing and it keeps removing my video links. I've added the YouTube video URL back.
Yesterday did not turn out to be my best of days. I ended up having to record the video twice as the first time I recorded three and a half minutes with my headset plugged in, but not on my head. I then lost about 3 hours of artwork as my computer crashed; GIMP locked up when I went to save, so I copied and pasted everything to MS Paint only to have that lock up as well (and then everything else started locking up.) I'm still not quite sure what happened.
We are plugging away at Seeking Imagination - Battle Arena. The nice thing is that we are almost past the backend stuff, so moving forward there should be a lot more content. Like us on Facebook or follow us on Twitter ([twitter]BealsSoftware[/twitter]) as that is where the pictures will be posted first (I'll be doing a round up and posting them here as well.)
I was going to show off the battle system, crafting and shop this week, but while implementing it I uncovered a bug and a large design oversight that took a bit of time to correct. The bug was a simple fix - everything was immune due to the health calculating off of the wrong stat. However the design oversight was a biggie - there was no way to implement brains in NPCs.
Anyway, those issues have been corrected and I am currently working away at getting the UI artwork done (part of the artwork that was lost last night.) I'll post some screenshots of that on Twitter and Facebook later tonight.
How to get out?
Hi everyone, I just wanted to pop in to let you know that we are moving our weekly update to Mondays. Trying to hit Friday is just not working out very well for either Mike or myself. Having the weekend to put together videos and the blog posts will definitely make things a lot easier, plus I normally get the most work done over the weekend. By the time I get to making the Friday post, I've had about 4 days of not getting much done, making for a very bleak post (I fail to write down what I do over the weekend and come Friday I just can't remember.)
Matt has been quite busy building the base framework for 'How to get out?'. I am going to be providing him with the script and the art for the first entry in the series at some point this week; this was the majority of the artwork that was lost last night. We are having our meeting shortly, so I'll have more information about the project in the next update.
We're getting closer to our first drawing for our Facebook contest; at the time of posting we need 25 more likes. For those that missed it, here are the rules for the contest:
[color=rgb(40,40,40)][font=arial]Starting now we will be giving away a $25 gift card for every 100 likes we get on our Facebook page ([/font][/color]facebook.com/bealssoftware[color=rgb(40,40,40)][font=arial]); if we hit 600 likes we will also be doing a drawing for a bonus prize.[/font][/color]
[color=rgb(40,40,40)][font=arial]The contest will run until either we reach 1000 likes or November 30th 2013 at 11:59pm ET, whichever comes first. Anyone who has liked us, rounding down to the nearest 100, will be included in each drawing (with the exception of any previous winners.) However, if we do the drawing for the bonus prize, EVERYONE will be included.[/font][/color]
So, head on over to our Facebook page and give us a like!
[color=rgb(40,40,40)][font=arial]We're still looking for some indie games to feature on our site and (if we receive permission) our YouTube channel. If you have an indie game that you would like us to put in the spotlight, please let me know. I have found a few that would be good picks, but I am waiting on responses from the owners.[/font][/color]
[color=rgb(40,40,40)][font=arial]Here are the rules for the Indie Spotlight:[/font][/color]
[color=rgb(40,40,40)][font=arial][font=arial]We are starting up our Indie Spotlight segment - we'll be playing indie games and doing reviews for them or, if allowed, video gameplay. We'll also be offering to host a copy of the game for download and will put up a page on our site for it.[/font][/font][/color]
[color=rgb(40,40,40)][font=arial][font=arial]So, if you are an indie developer and have a game/prototype/alpha you'd like for us to put in the spotlight and it meets the requirements below, let me know![/font][/font][/color]
- It can be run on a Windows machine, Android device or iPad
- It doesn't require illegal software or for us to root/jailbreak our device
[color=rgb(40,40,40)][font=arial][font=arial]The game doesn't have to be free, but it will help your chances of us getting to it. [/font][/font][/color]We are not a game reviewer[color=rgb(40,40,40)][font=arial][font=arial], we just want to help out and this seemed like a great way to do so. We'll only be doing a single game each week to begin with; we may increase this at some point, but I would no count on it.[/font][/font][/color]
That's all for this weekly update. Thanks for stopping by; we'll see you next week!
The Facebook contest that I mentioned in the last update (link) is till running. At the time of posting we need 27 more likes before we can do our first drawing.
Hi everyone! We've been a bit busy this week; Matt has been moving and I'm helping my parents remodel their kitchen. We've managed to get some stuff done though!
We're still looking for some indie games to feature on our site and (if we receive permission) our YouTube channel. If you have an indie game that you would like us to put in the spotlight, please let me know. Here are the rules:
[color=rgb(40,40,40)][font=arial]We are starting up our Indie Spotlight segment - we'll be playing indie games and doing reviews for them or, if allowed, video gameplay. We'll also be offering to host a copy of the game for download and will put up a page on our site for it.[/font][/color]
[color=rgb(40,40,40)][font=arial]So, if you are an indie developer and have a game you'd like for us to put in the spotlight and it meets the requirements below, let me know![/font][/color]
- It can be run on a Windows machine, Android device or iPad
- It doesn't require illegal software or for us to root/jailbreak our device
[color=rgb(40,40,40)][font=arial]The game doesn't have to be free, but it will help your chances of us getting to it. [/font][/color]We are not a game reviewer[color=rgb(40,40,40)][font=arial], we just want to help out and this seemed like a great way to do so. We'll only be doing a single game each week to begin with; we may increase this at some point, but I would no count on it.[/font][/color]
[color=rgb(40,40,40)][font=arial]If you decide to submit your game, please let us know whether or not video gameplay is acceptable and, if so, the type that is acceptable (a single session or a full playthrough.)[/font][/color]
That's it for now, we'll be back on Monday with our regularly scheduled Weekly Update.
We'll start off with Mikeyo's weekly update video:
Youtube Video Link
[color=#333333][font='lucida grande']Epic Like-Ability Facebook Contest[/font][/color]
Hello everyone! We have a short update this week; Mikeyo has been quite busy and was a little under the weather, so he was unable to get a video done and I have a video done, but I can't share it yet (legal reasons), but hopefully I can get it up next week.
We launched a new Facebook this last week. Here are the rules, as posted on our website:
Starting now we will be giving away a $25 gift card for every 100 likes we get on our Facebook page (facebook.com/bealssoftware); if we hit 600 likes we will also be doing a drawing for a bonus prize.
The contest will run until either we reach 1000 likes or November 30th 2013 at 11:59pm ET, whichever comes first. Anyone who has liked us, rounding down to the nearest 100, will be included in each drawing (with the exception of any previous winners.) However, if we do the drawing for the bonus prize, EVERYONE will be included.
We are starting up our Indie Spotlight segment - we'll be playing indie games and doing reviews for them or, if allowed, video gameplay. We'll also be offering to host a copy of the game for download and will put up a page on our site for it.
So, if you are an indie developer and have a game you'd like for us to put in the spotlight and it meets the requirements below, let me know!
- It can be run on a Windows machine, Android device or iPad
- It doesn't require illegal software or for us to root/jailbreak our device
The game doesn't have to be free, but it will help your chances of us getting to it. We are not a game reviewer, we just want to help out and this seemed like a great way to do so. We'll only be doing a single game each week to begin with; we may increase this at some point, but I would no count on it.
If you decide to submit your game, please let us know whether or not video gameplay is acceptable and, if so, the type that is acceptable (a single session or a full playthrough.)
I apologize, I do not have a video yet. I received permission to post media so it is coming, I was just busy all day today with family stuff. I do however have some screenshots.
Please note that the tileset in these screenshots is custom, but the characters are not. Once I have combat in and our artist has finished the second tileset we are going to discuss the character sets. The map seen here is the prototype for the Battle Arena; I have since started completely redoing it and I will feature the new layout in next week's video.
How to get out?
Matt has picked up the new project, 'How to get out?' and is running with it. The game is a puzzle/brainteaser type game that puts you in scenarios in which your movement is limited and you need to use your environment, inventory and/or dialogue to get out of. For example: you are a teenager stuck at dinner with his parents; they won't let you leave the table, so you need to use the environment, your inventory and some dialogue to distract them long enough for you to make a hasty exit. There are lots of scenarios being brainstormed, ranging from a bank robbery to being stuck in a shelter/vault/well.
The engine is being written in HTML5 and, as I said before, is being written by Matt. It will be playable on our website as well as on GameJolt. We're hoping to have the first game playable around the end of August/beginning of September.
The Lost Chapters
I have started laying the groundwork for The Lost Chapters. We had to make some changes to simplify it, but in the end this will allow us to focus on the stories in the game rather than the backend. There isn't much more to say on this project at the moment, I've mainly been doing the initial project setup.
It's been a while since I mentioned this project, huh? Well, as I said there is a lot that needs to be changed with it. One of my biggest issues with the engine was the node-based scene system that I had set up. It made for very stiff movement and made map-making a nightmare. I chose this system for one reason: it was a simple design. However, this came back to bite me VERY quickly; it introduce many nuances and quirks (the whole issue with picking a node to place the character at when they decided to change their path while moving) and it just limited your area of movement too much.
This is no longer an issue! I have created a prototype with polygon-based A* pathfinding. Basically you pass in a polygon and a map is generated that fits the entire polygon. From there, all nodes are tested to determine if they are inside the polygon; this leaves us with possible nodes for our path (this is the "pre-processing" stage.) From there we can generate a path from any point in the polygon to any other point.
Originally I was testing to see if ANY corner of the rectangle was inside the polygon, but this was too loose and allowed for certain paths to fall outside of the polygon. I cut this down to what can be seen in the image by checking to see if the top-left and bottom-right or top-right and bottom-left corners lie inside the polygon.
It might need to be optimized, but the pathfinding itself is pretty fast at the moment (the path below was generated in 2.9718 milliseconds.) Plus, this will be done on small regions at a time rather than a full map (I'll do some larger tests later.) The polygon can be baked into the map/level/scene or one will be able to be generated at runtime (slower, but will only need to be done on load so it shouldn't be bad.)
Now, we haven't officially started this project back up; I just needed a break from the other projects and we have several point and click adventure game projects planned out, so I decided that I would take a whack at implementing this on a "slow" day.
That's all we have for this week; tune in next week for a glimpse of the combat, leveling and crafting systems in my first video. Also, like our Facebook page and be entered for a chance to win a $25 gift card and possibly a more epic prize.
In company news, we are happy to welcome Matt McCullar to the team. Mike and I decided to bring him in to help with a free monthly game that we're starting up soon (not The Lost Chapters, a different, smaller web-based game.) Matt is a talented writer and programmer, so he will do a great job of heading that project as well as a welcome addition on future projects.
The project has had a little bit of a change in direction. Originally we were aiming for a bit of a Zelda-esque game: mild combat, epic boss battles, small set of items, puzzle-centric. However, this doesn't really mix that well with the storyline or what we were actually envisioning.
I would still categorize the game as an action-adventure game, but with some RPG elements. It is going to have:
- World-map combat (similar to Zelda, just a little less mild)
- A small set of stats - attack (melee combat effectiveness), defense (health and physical damage protection), magic (magic damage) and dexterity (ranged combat effectiveness), which you will be able to affect via leveling up, the items you equip and potions
- Lots of items - food, potions, melee weapons, ranged weapons, armor and tools.
- Lots of crafting - cooking, alchemy, blacksmithing, etc.
Due to the change in design, we've also switched up the UI. We're using a standard health bar now, instead of hearts, we've added an XP bar, gold display and a place to put the character's avatar. Here's a screenshot of it:
We can't agree on a layout and I know others aren't going to be able to, so there will be three choices: four corners, centered across the top and centered across the bottom.
Local Multiplayer Dropped
I'm not sure if you watched my video from last week, but due to the way that gamepads are handled in either Tao or OpenGL, we're going to have to drop local multiplayer for everything except the OUYA. Basically the issue is that when a second gamepad is connected to the system the IDs get messed up in the library. This results in calls to GetState(PlayerIndex.One) to report the state of controller two and GetState(PlayerIndex.Two) to report the state of controller one. I figured that I could get around this using a hack, but I then ran into the issue that if I disconnected controller two at this point, controller one would still try to report the state as if it was controller two and resulted in major defects. The IsConnected was also not being report corrrectly.
Originally I assumed these issues were related to MonoGame, but I ran into the same issue when trying to use SFML.Net; the only library that seems to report the information correctly is XNA. The general census that I've received is that local multiplayer on non-console systems isn't very important (networked multiplayer was obviously more important), so we have decided to drop it and I will start implementing network-based multiplayer once I have finished the initial pass of the prototype.
That's about all that I can think of at the moment. I've spent most of my day writing down ideas, so my brain is kind of shot at the moment. Thanks for tuning in and we'll see you next week!
Weekly Update Video
Well, I totally spaced on this weeks update; I wrote the content locally, but I apparently forgot to upload it on Friday. So, I've updated it a little bit and posting it today, but we'll have another update this Friday.
The local multiplayer system is fully in place and cemented in now - up to four players are supported via gamepads and the UI is set up properly to handle it. The previous version had lots and lots of code that updated the UI, but I've now switched that around so that the UI polls the data based on which player it represents...much more effective.
I was also able to get the content loading classes implemented, so we can now start developing maps as well as fleshing out entities and items. This wasn't all that hard, seeing as how I'm using MonoGame, the hardest part being loading the entities since we're using a component-based entity system (though, that really wasn't that hard either.)
Mikeyo is currently about halfway through the second draft of the script and luckily he has only run into one major continuity issue; which he resolved. I just finished reading the script on Wednesday and I was super excited and almost to the point of crying come the end.
In the video Mikeyo touches on the fact that we've changed the crafting system. Originally we were going to use a simple system that revolved around gathering colored orbs that would be used to either craft the item or unlock it. However, we weren't really happy with it as it started out as a different idea and we kind of molded it into the crafting system. So now we are exchanging the orbs for two different categories of items: components (wood, cloth, ore,etc) and magic essences (fire, water, earth and air) which you can then use to craft equipment and enchant them. The components will drop from most of your standard creatures - a peasant would drop cloth, a knight would drop iron (and possibly cloth) or an ogre might drop wood (his club). On the other hand, magical essences will mostly drop from elemental creatures - a fire elemental will drop fire essences, an ice elemental will drop ice essences, etc. I'm going to be focusing on getting that system in place, so hopefully I can show it off in a video next weekend.
Speaking of video - I had started making a video to show off the current state of the prototype (which really isn't much), but it broke...several times. The things I've been testing all week are now not working, so I don't have enough time to fix those and edit the video (which I'm still learning how to do lol.) I'll have one done for next week though.
I was able to edit my streams together to make a "decent" video so you can see me make a fool of myself.
There's a breakdown in the video's description of what went wrong.
The Lost Chapters[/font][/color]
I've spent my time working on Seeking Imagination, so I haven't had the chance to do anything with the Lost Chapters yet. I'll be starting the ground work for that shortly.
Project Game Show[/font][/color]
We've discussed a new project that we will be starting in the future which Mikeyo touched on in the video so I thought I would mention it here. I just wanted to clarify - we're not starting a gameshow, it's a game based around a "gameshow" - an alien gameshow. It will be a two-player competitive co-op (local or networked) arcade game for PC and OUYA, maybe mobile. We'll have more info on this later though.
That's all for this week, tune in next week for some in-game video. Thanks for stopping by!
Weekly Update Video
Hi all, another great week here. Mikeyo spent a lot of time on company stuff - planning an upcoming Facebook contest, getting things going for an upcoming Kickstarter and getting some affiliates set up for us.
Youtube Video Link
I have made quite a bit of progress with the initial build of the battle arena, mostly in the multiplayer area. I have to say that I have always been for local multiplayer, but I can definitely see why it has mostly been cut out (we're still going to provide it as I believe it is a feature that should be included if possible, but I can understand why not a lot of games support it anymore.) The hardest part so far has been handling the odd scenarios:
1) What if two controllers are plugged in, but only player two wants to play (or two controllers were plugged in and then the first was removed)
2) On PC, what player does the keyboard belong to?
3) Constraining the camera to X number of players (not splitscreen)
4) How to handle a controller being disconnected mid-play
5) Determining where to spawn a new player
It has been harder than I expected, but is definitely worth it! The other issue I have run into is with the shop and crafting system, mainly the fact that I didn't fully design them out so I'm not sure how to implement them. So, I am going to discuss it with Mikeyo on our call and we'll go from there.
Script-wise, Mikeyo has finished the primary story script for SI and has started the second pass (proofreading, continuity checks, etc). Once he has completed that he'll start fleshing out some of the other content.
We have also brought on an artist to provide a cover art piece as well as an artist to do the in-game art. So, we should have something artsy to show off shortly.
Here's another shot showing the current state of the prototype. My son and I were playing around and this is me talking to him to test the trigger system.
There is still tons of script integration to do (even the message screen is a placeholder at the moment), but it's working which is a step in the right direction.
The Lost Chapters
We are starting work on a new series that we will be providing free monthly episodes for, which is currently titled The Lost Chapters. We haven't quite nailed down the gameplay mechanics, but the games will be short (15-20 minutes long) story-driven games. Each episode will be completely separate from the others; the idea is based on short stories in a storybook. I'm not sure at the moment when we'll be able to start development on this or how many episodes there will be, but I've been fleshing out story ideas for several episodes.
That is all for this update. We'll have another update this coming Friday, possibly with a video with yours truly as well. I want to try to release a more technical video, but I'm not sure if time will permit it at the moment or if I can come up with enough content; we'll see.
Thanks for stopping in!
Mikeyo talks about it in his weekly update video:
For the Facebook contest, we're still wrapping up the guidelines and prizes, but Mike has already laid out some great prizes. Keep an eye our Facebook page (http://www.facebook.com/BealsSoftware) in the next week or two for more information.
The Kickstarter is a little ways off, but it is coming. We've talked with a few different artists and have an idea of what we need, I just need to get the prototype for the game finished.
We've joined the affiliates program with Amazon.com, ThinkGeek.com and Stamps.com. You can check those out on our website's shop page: http://www.bealssoftware.com/?module=shop.
Speaking of the website, we just launched a new layout last night. I didn't feel that the old version was laid out very well and it seemed very cramped, so we widened the whole thing as well as using a Twitter list's widget rather than our individual widgets.
I still don't have much for screenshots, but here is the first screenshot of the game:
It doesn't look like much as it is almost all backend stuff (save/load system, component system, game states, etc.) and UI. There will be more to come soon though.
Thanks and have a great weekend!
I'm a little bit late, don't tell Mikeyo.
Mikeyo has been super busy, getting some affiliate programs up and running, checking out some conferences and playing with his new Ouya. He didn't have his professional camera available at the time, but he shot the video below showing it off and talking about a game or two that he has checked out:
He also donned his fedora and shot this week's update video, explaining a little bit about what we've been up to (or rather, what he's been up to) and some info on our current project, Seeking Imagination:
I'm excited as he brought up a really good prototype idea during our conference call this week. Basically it will be a free arena type game that includes all of the mechanics of the game (crafting & combat) and some possible extra things (multiplayer & leaderboards.) This will give us a chance to get some feedback on the gameplay itself while we're developing the editors and content for the full game. If it works out well, we may do something similar with future games.
Mikeyo is hard at work writing the main storyline still. Last I knew he was around page 70, leaving 5 more pages to an event and about 30 pages to go. Once he has that done he can go back through and wrap things up and then we can start building out the lore a bit and adding branches to our tree.
I'm working on ramping back up so that I can get some screenshots flowing and then we can get some gameplay videos done. Tomorrow morning I'll be updating all of my tasks in our PM software and then setting a deadline that I can hit (if I don't I think Mikeyo might fire me lol.)
Until next time, enjoy the rest of your weekend and have a great week!
Hello all! Going to be a short entry today as we just got back from the hospital with our newest family member:
Reiya Kay Beals
June 20th, 2013 @ 6:42am
Mikeyo pretty much covers everything else in his video (3 minutes) for this week:
I'm a little out of it at the moment, so I'm going to leave it at that for this week. Everyone have a great weekend and I'll be back next week.
Mike and I have been very busy working on getting things rounded off so that we can move forward with our current projects. We're going to be doing at least weekly posts, he's working on fitting videos into his schedule (I'll be doing the same in the near future) and we're both working on keeping twitter and the facebook page active. So, basically there will be a lot more activity from both of us moving forward.
Sadly we don't have much to report on the art side at the moment. We've got a few portfolios for artist, so hopefully in the near future we'll have some art to show off.
On the design side, Mike is hard at work writing the script for our current project, Seeking Imagination [working title]. He has a few more milestones to reach and then that will be finished (the main storyline and it's dialogue anyway; we'll add some side stories and such once he is finished with that.)
I am currently working on designing the prototype for a a simple puzzler based off of the mechanics of Minecraft's redstone system. It is a level based arcade game where each level has certain objectives that you must accomplish using the supplied objects. You'll have a "wiring layer" where you can place wire, switches, repeaters, inverters, pulses, etc. which affect the object layer above it.
I am almost done with the prototype for Seeking Imagination; I have to create some brains in Scribe to verify that it will run fast enough and then add the combat system. I would provide a screenshot, but sadly I broke the engine last time I was working on it and have yet to fix it (I added the map system into the state machine and it's not happy that it is null.) I will provide some sort of screenshot for the post next week.
I do however have a screenshot of the Redstone Game prototype:
There isn't a lot going on in this screenshot; I was testing the new repeater block. The buttons along the bottom (left to right):
Pointer (clear the currently selected block), wire, inverter, power, light, switch, command, repeater, branch, TNT, and clear. This is just a prototype for a possible future project,
It was originally titled Block Coder as it was going to be a strictly programming based game (think Redstone and Command Blocks, which I didn't know existed when I started working on this prototype), but I didn't like the results so we switched over to this idea. I am working through adding rotation to the engine so that wiring and objects can rotate (turrets will be an object, so those should be fun with a pivot gear, a timer, and a resistor.)
Sage/The Mysterious Life of Aaron James
I have been asked by a couple people about Sage and the Mysterious Life of Aaron James - these have been moved back to the "Future Projects" pool for a couple reasons:
1) As much as I hate to say it, I can't bring myself to work on it anymore. Sage is a husk of what it was when I made the demo for Aaron James, the feature set is almost completely different and the fact that I want to make it cross platform means I basically need to rewrite it and I have absolutely not ambition to do so. I spent 2 months trying to rewrite an engine that took 14 days to write and all I had was a (barely working) title screen.
2) We cannot provide the art that we would like, nor can we afford an artist that can provide the art.
3) I was taking input from anyone and everyone and I was making it up as I went - causing lots of plot-holes, poor dialog, etc. I am going to convene with Cierra (this storyline was originally hers) and we'll work together to rewrite what we have and to finish the design document before I start developing it again.
Long story short: Sage WILL return in the future as we have at least one other point and click adventure game that we want to develop and The Mysterious Life of Aaron James WILL return, I'm just not sure when. Mike and I are both constantly working on two projects, so if we get bored we have something 'fresh' to work on, and Sage/Aaron James are my 3rd project - I'm working on them, but they don't get my attention very often.
I am working on updating the website - adding a control panel, database support, etc. I'm basically bringing it up to date until we can bring in a web developer to do it properly (I know the languages necessary, but I am terrible at web design and I abhor web development.) The new version will be up at some point this weekend, once I get Mikeyo's approval.
Last, but not least, Cierra is in the last couple weeks of her pregnancy, so I may not be able to get any development done in the near future. However, I will still post an update on what Mike has been up to and any news we have. I am going to try to keep the posts regular on Thursday evening or Friday afternoon, but it depends on where Mikeyo fits the videos into his schedule.