My one side project kind of exploded.
It started as a "Multiplayer Asteroids" kind of game and turned into what is currently dubbed "Project Ceres" (real name determined but to be revealed at a later date). At it's core it's still about blowing up random asteroids.
The objective for now is to blow up asteroids which will drop little power ups. You need to return these power ups to the spawn area for additional points. Rinse and repeat until you explode, at which point your score gets reset and you can try all over again!
I am feeling close to finished with the core gameplay. In the end it wound up a lot less fun than I had hoped. I am not likely to polish it much beyond the minimum needed for it to be playable as I already have a queue of new projects I'd like to try.
Showing posts with label news. Show all posts
Showing posts with label news. Show all posts
Thursday, July 18, 2019
Sunday, November 4, 2018
Spooky Progress and More News
So I had originally hoped to have Spooky finished by Halloween. That didn't happen. I've actually become quiet invested in making a suite of 2d platforming tools within JME which has resulted in Spooky taking a LOT longer than originally anticipated, and also means the scope of Spooky is probably getting bigger than originally planned as well. Making games is fun!
I have the foundation for a much more robust Sprite system than I've done before, and I've implemented Tile Maps with a custom collision system that is looking very promising. The platforming aspects of Spooky are something I've wanted to do in games for a long time, but I always used pre-made physics systems. Using physics is great for some games, but in games where you want more deterministic responses to collisions and the environment they tend to make simple things more difficult. Hopefully this makes Spooky's controls much tighter and more responsive than Dungeon Hordes were.
The month of November will likely not see any major updates to Gothic as I had expressed last time. I still really want to sit down and work through all my poorly realized net code and incomplete understanding of ES systems to make Gothic the game it deserves to be. For now it has been moved from "Probably in November" to "Maybe in January". Not the best news but that's where it's at.
Reindeer Rearing will still very likely see updates come December. A large amount of work I am doing for Spooky should be directly applicable to Reindeer Rearing. I'm honestly excited about the chance to clean things up and really fix some of the more game breaking bugs I had left due to time constraints. (Reindeer Rearing was originally made for a Jam).
My current schedule looks something like this: Continue working on Spooky with the hopes of getting a vertical slice level by the end of the month. Once December starts wherever I am at with Spooky will go on hold until I can at least clean up Reindeer Rearing and tackle some of the bigger bugs as well as re-do the sprite system to be in line with Spooky's sprite system. Once RR has seen enough polish to warrant another update, go back to Spooky.
Next update will have some screenshots no matter how ugly they are!
I have the foundation for a much more robust Sprite system than I've done before, and I've implemented Tile Maps with a custom collision system that is looking very promising. The platforming aspects of Spooky are something I've wanted to do in games for a long time, but I always used pre-made physics systems. Using physics is great for some games, but in games where you want more deterministic responses to collisions and the environment they tend to make simple things more difficult. Hopefully this makes Spooky's controls much tighter and more responsive than Dungeon Hordes were.
The month of November will likely not see any major updates to Gothic as I had expressed last time. I still really want to sit down and work through all my poorly realized net code and incomplete understanding of ES systems to make Gothic the game it deserves to be. For now it has been moved from "Probably in November" to "Maybe in January". Not the best news but that's where it's at.
Reindeer Rearing will still very likely see updates come December. A large amount of work I am doing for Spooky should be directly applicable to Reindeer Rearing. I'm honestly excited about the chance to clean things up and really fix some of the more game breaking bugs I had left due to time constraints. (Reindeer Rearing was originally made for a Jam).
My current schedule looks something like this: Continue working on Spooky with the hopes of getting a vertical slice level by the end of the month. Once December starts wherever I am at with Spooky will go on hold until I can at least clean up Reindeer Rearing and tackle some of the bigger bugs as well as re-do the sprite system to be in line with Spooky's sprite system. Once RR has seen enough polish to warrant another update, go back to Spooky.
Next update will have some screenshots no matter how ugly they are!
Thursday, October 4, 2018
A Scheduling Update
Hello again! it's been a couple of months so I figured I should make a post saying what I've been up to and my current road map.
First off, I disappeared again after getting another job. Finding good ones is hard, but this one will likely stick for awhile. My hours are a lot better and I have had a LOT more time to work on things, of course I also have my kid, so that's where a lot of that time went!
I also built a new computer from scratch. This was a much needed upgrade though it did result in a couple of weeks where I didn't have access to my usual desktop environment. It also lead to me switching from Windows to Linux. I still have a copy of Windows 10 that I mostly use for playing games, I am about 90% on Linux Mint now. This means I have less distractions since most games are a reboot away so I can focus on tasks better.
I've been working on my programming projects so here's the quick rundown:
Project Dawn (from WAY back when I first tried making a game in unity) has been re-booted entirely and I've actually made a lot of progress. It's a 3rd person spaceship game somewhere in between the X games and EVE Online. I probably won't mention more than that for a long time since that's a very large project and even though I've been burning through my checklist it's still a very long ways from being playable.
Sheep Tutorial is kind of on hiatus for now. I lost some of my source files when I transferred (an issue with getting Linux to play nice with ntfs file systems caused by my relative lack of Linux experience) but it's not abandoned, just waiting for a long weekend where I can sit down and get back up to speed.
For the month of October I am working on a project called Spooky! It's planned to be a 2d platformer I am planning to launch on October 31st. More info will come as I make progress worth showing.
If all goes well with Spooky and I get relatively close to my release without any major issues, November will be dedicated to going back and really re-working Gothic. I've noticed it's probably my highest trafficked project and I really sort of dumped it without giving it a proper round of polish. I won't make any major promises outside of cleaning up the UI and re-working alot of systems that were largely hacked together.
Lastly, December will be Reindeer Rearing's month of love. I plan on thoroughly re-working it's systems and giving it a solid round of polish it definitely deserves.
Well that's pretty much all I have for right now. I hope to have some screenshots and better news to share shortly!
First off, I disappeared again after getting another job. Finding good ones is hard, but this one will likely stick for awhile. My hours are a lot better and I have had a LOT more time to work on things, of course I also have my kid, so that's where a lot of that time went!
I also built a new computer from scratch. This was a much needed upgrade though it did result in a couple of weeks where I didn't have access to my usual desktop environment. It also lead to me switching from Windows to Linux. I still have a copy of Windows 10 that I mostly use for playing games, I am about 90% on Linux Mint now. This means I have less distractions since most games are a reboot away so I can focus on tasks better.
I've been working on my programming projects so here's the quick rundown:
Project Dawn (from WAY back when I first tried making a game in unity) has been re-booted entirely and I've actually made a lot of progress. It's a 3rd person spaceship game somewhere in between the X games and EVE Online. I probably won't mention more than that for a long time since that's a very large project and even though I've been burning through my checklist it's still a very long ways from being playable.
Sheep Tutorial is kind of on hiatus for now. I lost some of my source files when I transferred (an issue with getting Linux to play nice with ntfs file systems caused by my relative lack of Linux experience) but it's not abandoned, just waiting for a long weekend where I can sit down and get back up to speed.
For the month of October I am working on a project called Spooky! It's planned to be a 2d platformer I am planning to launch on October 31st. More info will come as I make progress worth showing.
If all goes well with Spooky and I get relatively close to my release without any major issues, November will be dedicated to going back and really re-working Gothic. I've noticed it's probably my highest trafficked project and I really sort of dumped it without giving it a proper round of polish. I won't make any major promises outside of cleaning up the UI and re-working alot of systems that were largely hacked together.
Lastly, December will be Reindeer Rearing's month of love. I plan on thoroughly re-working it's systems and giving it a solid round of polish it definitely deserves.
Well that's pretty much all I have for right now. I hope to have some screenshots and better news to share shortly!
Wednesday, February 28, 2018
The need for sheep
Hello, today I'm going to talk about a little project I've been working on to address something that's severely lacking from my favorite game engine, tutorials! That's right, I've been working on a super simple project with the intent on turning it into a short tutorial series!
Back to the present, my wife recently told me she wants to learn java and help me make games! She has absolutely 0 experience with java and programming in general, but she loves video games, which is honestly all I think you really need nowadays.
I decided to make some new tutorials that approach jMonkey's way of doing things and really showing how to utilize the different aspects of the game engine. I'll focus on setting up the jMonkey IDE and focusing on best practices for creating games in jme. There are a few tutorials out there already but a lot of them are old or are long videos with no voice over and showing a highlighted mouse waving in front of what is being demonstrated. jMonkey doesn't have many tutorials that could be compared to what more mainstream engines have such as Unity's "how to make an fps" tutorials.
So I'm finishing up a small demonstration game which I will then break into pieces and put together a "how to make a game in jme" series which will be uploaded to this blog and maybe youtube(not sure). Here's a couple screenshots showing where the game is now. It's still a little early so some assets will change but the core gameplay is set!
Well that's all for today, just letting you all know what I've been doing and giving you something to look forward to!
Sunday, February 4, 2018
Project Gothic
Working title: Project Gothic
Defend your keep while you smash your opponents! At the moment I only have multiplayer working. I will upload it as soon as I have a simple "time trial" single player, and I'll eventually add in ai opponents.
This project was a LOT of firsts for me. Building a game for multiplayer from the ground up requires a very different mindset and I hit a lot of roadblocks along the way. I try to rely on as few external libraries as possible to keep the design as clean as possible. I use jMonkey Engine as it's a very good, easily expandable engine based on lwjgl. For the UI I use Lemur GUI which is built from the ground up to work with and resemble jMonkey's scene graph and spatials. This makes adding and modifying ui elements extremely simple. I also use ZayEs Entity-Component system. By following "pure" Entity-component design philosophy I was able to add in complex systems that are very modular in nature, and allowed very easy online integration and I can trouble shoot each system independently. This does come with a memory over-head of storing large numbers of component objects and systems often have similar structures that are kept separate from each other. I feel requiring more memory is worth the trade off of having very distinct systems and components with very few cross contamination.
The assets are very simple assets I threw together quickly to have something playable. I probably won't revisit the assets unless this project gets enough interest.
Well that's all I have for right now. Expect something playable to be uploaded in the next couple of weeks!
Defend your keep while you smash your opponents! At the moment I only have multiplayer working. I will upload it as soon as I have a simple "time trial" single player, and I'll eventually add in ai opponents.
This project was a LOT of firsts for me. Building a game for multiplayer from the ground up requires a very different mindset and I hit a lot of roadblocks along the way. I try to rely on as few external libraries as possible to keep the design as clean as possible. I use jMonkey Engine as it's a very good, easily expandable engine based on lwjgl. For the UI I use Lemur GUI which is built from the ground up to work with and resemble jMonkey's scene graph and spatials. This makes adding and modifying ui elements extremely simple. I also use ZayEs Entity-Component system. By following "pure" Entity-component design philosophy I was able to add in complex systems that are very modular in nature, and allowed very easy online integration and I can trouble shoot each system independently. This does come with a memory over-head of storing large numbers of component objects and systems often have similar structures that are kept separate from each other. I feel requiring more memory is worth the trade off of having very distinct systems and components with very few cross contamination.
The assets are very simple assets I threw together quickly to have something playable. I probably won't revisit the assets unless this project gets enough interest.
Well that's all I have for right now. Expect something playable to be uploaded in the next couple of weeks!
Friday, January 19, 2018
Playing with Unity
I love jMonkey engine dearly, but it would be irresponsible to not look around at other tool sets.
I decided to take a look around at other engines since jMonkey doesn't have a very large range of deployment options. I like java a lot and I will continue to make java games in jMonkey, but I've fought with the Android deployment non stop for over a year and am just not getting it to sort of function. I would also like to support some play in browser capabilities which jMonkey lost when browsers quit supporting java applets.
I've used Unity in the past, it's actually what I first started learning to program on. I'm having to re-teach myself to work with the very loose way which unity runs. This is making the transition especially annoying since my current project must support networked multiplayer.
I'll try to have another blog post with some screenshots of any progress here shortly.
In other news, I'm learning jMonkey joystick support, and you'll likely see the effects of that soon as well ;)
Also, I set up streaming/recording software. I'm probably not gonna do live streams but it has made capturing video alot simpler. I'll work on getting some video previews for my games on itch!
I decided to take a look around at other engines since jMonkey doesn't have a very large range of deployment options. I like java a lot and I will continue to make java games in jMonkey, but I've fought with the Android deployment non stop for over a year and am just not getting it to sort of function. I would also like to support some play in browser capabilities which jMonkey lost when browsers quit supporting java applets.
I've used Unity in the past, it's actually what I first started learning to program on. I'm having to re-teach myself to work with the very loose way which unity runs. This is making the transition especially annoying since my current project must support networked multiplayer.
I'll try to have another blog post with some screenshots of any progress here shortly.
In other news, I'm learning jMonkey joystick support, and you'll likely see the effects of that soon as well ;)
Also, I set up streaming/recording software. I'm probably not gonna do live streams but it has made capturing video alot simpler. I'll work on getting some video previews for my games on itch!
Sunday, January 7, 2018
New Year
Hello everyone, I hope you had a wonderful New Years Eve/Day!
Here's what I've been up to:
New enemy added to Dungeon Hoard, the Kob! It's a flying enemy that travels twice as fast as a normal gob. Once it picks up a coin it gets weighed down and moves at half the speed of a normal gob. Plus, it's cute!
Reindeer Rearing has it's early release. I've put in some more work into assets, mainly adding backgrounds to some of the mini games and trying to flesh out the over-all look of the game. With the holiday season over and the Jam wrapped up this project will definitely slow down. I still have goals with it, but updates will be further apart now.
In it's place I started a new, longer term project. I am aiming for the end of the month. It's primary focus is multiplayer, which is something I've never attempted before! I already have a large amount of work synced and have had multiple clients connected across LAN and a not so good internet connection.
Looking forward to showing more progress in the coming weeks!
Here's what I've been up to:
Reindeer Rearing has it's early release. I've put in some more work into assets, mainly adding backgrounds to some of the mini games and trying to flesh out the over-all look of the game. With the holiday season over and the Jam wrapped up this project will definitely slow down. I still have goals with it, but updates will be further apart now.
In it's place I started a new, longer term project. I am aiming for the end of the month. It's primary focus is multiplayer, which is something I've never attempted before! I already have a large amount of work synced and have had multiple clients connected across LAN and a not so good internet connection.
![]() |
Wednesday, December 13, 2017
Newest Project
I wanted to wait until I had more art to announce it, but I've been super busy writing back-end stuff that I haven't had time to do more than the very lowest level of art.
I'm making another game! It WILL be out the 23'rd, and it will be available on Itch.Io. It involves reindeer and elves and a large man in red. It will play like a collection of mini-games which loosely effect each other over the course of each play through.
Here's a reindeer doing a belly slide!
I'm making another game! It WILL be out the 23'rd, and it will be available on Itch.Io. It involves reindeer and elves and a large man in red. It will play like a collection of mini-games which loosely effect each other over the course of each play through.
Here's a reindeer doing a belly slide!

Tuesday, November 21, 2017
Lots of progress
It's been a little over a week since I last posted. I've made a ton of progress but not alot that can really be shown. I'll do what I can with some quick screenshots.
First of all I decided to just ignore the particles issue for now. I'm nowhere near ready to start really working on fx and what i have works for what is needed.
I fixed a bug that had been annoying me since I first wrote the flight physics. When the aircraft was near 180 and the velocity dipped more or less the flight physics would go crazy. This was most obvious when I tried to implement barrel rolls. When upside down the angle of attack would get stuck at + or - 180 and you would either turn into a rocket ship or get slammed into the ground. well I fixed it! before I was finding the difference between your 3d forward vector, projected to 2d space, and the 2d physics engine velocity vector. This worked for small values but not larger ones. I now project the 2d velocity vector into 3d, and convert it to a "local" vector for the plane. I then project the local 3d vector back to 2d and find the angle. Theres actually less math involved in this case since atan2, which is expensive, is only called once instead of twice. All other math involved is fast multiplication, and I get the results I need for ALL angles!
I also fixed the "Snap" that was shown here.
As you can see in the gif I now have a better camera. It centers on where the player is looking while making sure the players vehicle stays on-screen, that way you have a good view of whats in front no matter your angle.
The next big step is terrain editing. I am working on an editor to make generating terrains fast and easy for myself. I'll do a more in depth post on it when it's in a more finished state. Once I'm happy with terrain editing I'll of course need a more general level editor where I can define terrain, player spawn, enemies, objectives, scenery, etc.
This project is definitely the longest one so far, but also the most complex yet!
First of all I decided to just ignore the particles issue for now. I'm nowhere near ready to start really working on fx and what i have works for what is needed.
I fixed a bug that had been annoying me since I first wrote the flight physics. When the aircraft was near 180 and the velocity dipped more or less the flight physics would go crazy. This was most obvious when I tried to implement barrel rolls. When upside down the angle of attack would get stuck at + or - 180 and you would either turn into a rocket ship or get slammed into the ground. well I fixed it! before I was finding the difference between your 3d forward vector, projected to 2d space, and the 2d physics engine velocity vector. This worked for small values but not larger ones. I now project the 2d velocity vector into 3d, and convert it to a "local" vector for the plane. I then project the local 3d vector back to 2d and find the angle. Theres actually less math involved in this case since atan2, which is expensive, is only called once instead of twice. All other math involved is fast multiplication, and I get the results I need for ALL angles!
As you can see in the gif I now have a better camera. It centers on where the player is looking while making sure the players vehicle stays on-screen, that way you have a good view of whats in front no matter your angle.
The next big step is terrain editing. I am working on an editor to make generating terrains fast and easy for myself. I'll do a more in depth post on it when it's in a more finished state. Once I'm happy with terrain editing I'll of course need a more general level editor where I can define terrain, player spawn, enemies, objectives, scenery, etc.
This project is definitely the longest one so far, but also the most complex yet!
Sunday, November 12, 2017
Particles
I'm having some trouble with particles. On one hand I'd like to keep them simple so I can re-use the assets between emitters. On the other hand jMonkey's built in particle system doesn't like dark particles.
I am happy with the effect I came up with for rockets, and I was able to re-do my old particle system to keep persistent trails around after the rocket entity dies. But I am not happy with the blend modes available to jme.
Jme has 9 different blend modes for it's particle material, and of those modes 6 are "additive" type modes, or modes which when combined make the color brighter. This makes sense for alot of particles, white smoke, clouds, fire and electricity all make things brighter. When you want things to get darker though, it gets more complicated.
So much of the effect gets blown out from the additive modes.
Alternatively I can use alpha blend, and color all the particle effects in an image editor. This results in some nice looking effects but it becomes much harder to re-use assets. Currently all of my particles are simple black and white textures which makes it easy to use the same effect for fire, smoke, fog, water, etc.
I think I am going to look into adding more blend modes myself over the next week or so.
Saturday, November 4, 2017
Zay-es and "Blueprints"
One of my favorite libraries for jmonkey is Zay-es entity system. Zay-es is a powerful entity-component system that really forces you to consider an entity-component system from a very "pure" perspective. This is really great for rapid prototyping as I have built up a collection of components that are very easy to drag and drop from project to project. The only thing I really need to change are the underlying systems.
That said, entity-component systems to have their shortcomings. One problem I have been trying to find a good solution to is saving and loading entities. Zay-es has a way to do this, though from what I've read it's focused more on saving/loading the entire system as opposed to a single entity. I am interested in saving/loading a "blueprint" of an entity, much like Unity's prefabs. In the past I have used factory type builders to get an entity when I needed to spawn many similar objects, such as bullets or enemies.
Today I figured out a way to achieve this using json files! I came up with a simple way to use Gson to read and write easy to read files with all the components you would like attached to an entity. These files are simple text files so modifying them outside an ide is simple. Here's an example file for you :
My simple Gson parser assumes that every component is preceded by the class path. This is read using a buffered reader and the class is located. After a class is located the reader will read the next line using Gson which will instantiate the component.
The read/write commands are held within an "Entity Blueprint" class, which is basically just a set of components and the read/write commands to parse the files. During run time the blueprints can be used to quickly set components of entities as they are created.
In the example above you will notice a "child component". This is an example of the pitfalls to my system. Any component that references another entity (id:1) will not work after loading. There is no way I can guarantee entity's id's at runtime. For now I can design around this by not making blueprints of entities that rely on such components, but in the future this is a problem I will need to address.
That said, entity-component systems to have their shortcomings. One problem I have been trying to find a good solution to is saving and loading entities. Zay-es has a way to do this, though from what I've read it's focused more on saving/loading the entire system as opposed to a single entity. I am interested in saving/loading a "blueprint" of an entity, much like Unity's prefabs. In the past I have used factory type builders to get an entity when I needed to spawn many similar objects, such as bullets or enemies.
Today I figured out a way to achieve this using json files! I came up with a simple way to use Gson to read and write easy to read files with all the components you would like attached to an entity. These files are simple text files so modifying them outside an ide is simple. Here's an example file for you :
com.mru.lib.scene.TransformComponent
{"position":{"x":0.0,"y":1.0,"z":0.0},"scale":{"x":1.0,"y":1.0,"z":1.0},"rotation":{"x":0.0,"y":0.0,"z":0.0,"w":1.0}}
com.mru.lib.scene.ChildComponent
{"parent":{"id":1},"offset":{"x":0.0,"y":1.0,"z":0.0},"scale":{"x":1.0,"y":1.0,"z":1.0},"rot":{"x":0.0,"y":0.0,"z":0.0,"w":1.0}}
com.mru.lib.scene.ModelAssetComponent
{"key":{"name":"models/MG.j3o"}}
My simple Gson parser assumes that every component is preceded by the class path. This is read using a buffered reader and the class is located. After a class is located the reader will read the next line using Gson which will instantiate the component.
The read/write commands are held within an "Entity Blueprint" class, which is basically just a set of components and the read/write commands to parse the files. During run time the blueprints can be used to quickly set components of entities as they are created.
In the example above you will notice a "child component". This is an example of the pitfalls to my system. Any component that references another entity (id:1) will not work after loading. There is no way I can guarantee entity's id's at runtime. For now I can design around this by not making blueprints of entities that rely on such components, but in the future this is a problem I will need to address.
Sunday, October 29, 2017
Back from hiatus & Itch.io
Hello, I hope you all had a good summer. Mine was busy, working non stop 12-14 hour days all summer, now I'm done with that and I have time to sit down and work on games again! :)
I decided to upload all my games to itch.io to make downloading them easier and not rely on google docs, which isn't really intended for distributing large numbers of downloads.
My itch url is https://mruniversegames.itch.io, I'll work on uploading the games I have completed over the next couple of days. I am also working on a new project which I hope to have finished in the next 2 or 3 weeks!
I hope to see you again soon.
I decided to upload all my games to itch.io to make downloading them easier and not rely on google docs, which isn't really intended for distributing large numbers of downloads.
My itch url is https://mruniversegames.itch.io, I'll work on uploading the games I have completed over the next couple of days. I am also working on a new project which I hope to have finished in the next 2 or 3 weeks!
I hope to see you again soon.
Tuesday, March 21, 2017
No longer a game a week :(
Hey everyone, sorry as the title suggests I'm not doing a game a week anymore. For those curious I decided I wasn't going to continue at that pace last Friday as I was working on The Getaway. The primary reason is simple, I need to get a real job and these games are growing in scope.
I will now be posting every other week.
On one half I will be getting at least a part time job soon so I will have maybe half as much time to work on these games. Making games has honestly been the most fun I've ever had revolving around video games. Getting a new job will certainly not stop me from doing this, but I do need a source of income as my savings are starting to dwindle.
On the other half the scope of my games has grown every week. This may be do to my own lack of planning but it was difficult to jump straight from one project to the next with no break in between. I also put my previous projects on hold for the previous 5 weeks and it wasn't until last week when I gave myself a break that I had time to look back at any of those, and I made a ton of progress!
I will apologize that I won't be releasing every week. I am hopeful that releasing every other week will see a solid foundation for the quality I expect in my finished pieces, while also giving me the chance to work on my long term projects and support myself and my growing family.
Thanks for reading and I will see you on the 27th with a game featuring Bombs!
I will now be posting every other week.
On one half I will be getting at least a part time job soon so I will have maybe half as much time to work on these games. Making games has honestly been the most fun I've ever had revolving around video games. Getting a new job will certainly not stop me from doing this, but I do need a source of income as my savings are starting to dwindle.
On the other half the scope of my games has grown every week. This may be do to my own lack of planning but it was difficult to jump straight from one project to the next with no break in between. I also put my previous projects on hold for the previous 5 weeks and it wasn't until last week when I gave myself a break that I had time to look back at any of those, and I made a ton of progress!
I will apologize that I won't be releasing every week. I am hopeful that releasing every other week will see a solid foundation for the quality I expect in my finished pieces, while also giving me the chance to work on my long term projects and support myself and my growing family.
Thanks for reading and I will see you on the 27th with a game featuring Bombs!
Subscribe to:
Posts (Atom)