Needless to say, I’ve experimented a lot and learned a lot. I feel happy about the things I’ve worked on and learned over the year and feel like a much better programmer! I am looking forward to the next year of focusing on just a few projects. Mainly my Space Warfare game and the educational games this months game is a sneak peak at. I have a lot of plans for Space Warfare and feel like it has come a long way. I hope to keep improving it and making it awesome after all the stuff I’ve learned.
The final game is part of a vocabulary game I am working on for my school. This is not the final version, just a demo version that is geared towards my Reading / English class. The final game is going to be focused on History vocab and will hopefully be released on school iPads!
In this game, players race through a spooky maze trying to find a portal that might grant them access to the next level. How deep will you delve into the maze?
In the game, you are pursued by ghosts that can kill you. You cannot hurt them, but usually you can outrun them. Each level will mean more ghosts. Don’t worry, if you die you will just respawn close to the beginning of the maze (bottom left corner). The exit is usually in the top right. The compass can help you try to navigate your way as well as the pillars and torches. There is a dungeon level, a couple different cave levels, and a temple. Once you get past the lava rock cave, levels are built of different segments so you might find a cave leading to a dungeon. There is no way to win or lose really because the game will keep generating new mazes forever so I’d say if you can get to level 10 that’d be a win. Also if you can do it without dieing that would be a feat. Click here to play Ghost Maze…
Mouse = Look
Shift = Run
C = Crouch
Space = Jump
M = change music volume
The mazes are generated procedurally using Conway’s Game of Life. The current default is Chance to Start at 20%, Birth 2, Death 0, Crowd 6 and Generations 6. This seemed to yield dungeons that worked best. The game tests for solvability with a flood fill algorithm and if it fails after 3 tries, it drops the player pretty close to the exit–so if that happens, congrats you get to go to the next level! The game also features an generally unseen homemade occlusion culling type thing. I disable rendering most of the maze that is not within a certain range of the player and re-enable as the player approaches. It cut the draw calls down to nothing and boosted the frame rate.
Additionally, I used the Ultimate First Person Shooter asset for my player and the spawning for the player, enemies and random objects. I used Breadcrumbs AI for the Ghosts AI. I used music from www.nosoapradio.us once again! Of course I used NGUI for my menu as always. I sure I can use it better. I need to figure out a good pause screen so players can configure the game.
For the month of October I have been working on a way to randomly generate a world that is interconnected in a way that I can drop the functionality into my Space Wars game to manage jump gates between Star Systems. The result has been this maze game. Some of the behind the scenes stuff isn’t really used by the maze game and the wall building stuff probably won’t be used in Space Wars but its still coming along pretty well. Here is a video of the gameplay so far…
At some point you could see the maze generation. I used Conway’s Game of Life to generate the structure. Then I had to test which squares need walls. I am also using the Respawn system to drop in Ghosts and objects to help you navigate the maze. The exit portal ends up also being spawned randomly. Here is a pic of early maze generation —
Originally, I was building 100×100 mazes, but with the game in action 50×50 currently runs best. Also it seems pretty impossible even in the smaller size. I built a pseudo occlusion culling system as well which disables renderers for rooms that aren’t super close. It definitely helped speed the game up.
The month of September was devoted to experimenting with procedurally generated space areas, hyperspace jumping, and dog fighting AI.
The result is affectionately named Space Wars Team Battle Demo. The team means AI teammates, no online play for this one… yet. Technically, if you fly long enough you can arrive at the planets. The game will eventually feature some sort of landing, probably not seamless atmosphere flight as that is just magical to me.
There are also jump gates that are functional. Again they require flying far into space. They are glowing spheres. Hit one and you will jump to a new system. These will eventually link between systems in a way that makes sense. For now they are random… The main ‘game’ of this demo is just destroying the enemy fleet and then auto-jumping to the next round. It’s hard. Here is the link to the Webplayer (PC and Mac Coming soon)… Frame rate seems ok when I play it, but mileage may vary –should run real fast on the standalone build.
On the web version – Right click and Go Fullscreen. This will allow the mouse to lock and give you the ability to use the right mouse button to do a barrel roll.
Plerion is difficult to describe. Basically there is an energy source in the center of the screen that increasing sends energy burst fireballs off to the edges of the screen. The player must tap or click the edges of screen to send their own energy blast to stop the bursts from going past. It works best on a touch screen since you don’t have to move a mouse, but I am putting up a web version for fun. Also, I am still finishing this, so while the basics are there, its unbalanced and super difficult to go very far. I am thinking of having distinguishable levels, perhaps a more pattern based energy release, and eventually a sense that one can master the game. At the moment, I think it feels way too difficult and confusing. But… its pretty and there are explosions!! Here is a link to Plerion.
Zombies have invaded Badger Head Games! My game for July is complete! (As complete as a one month game can be, right?) It’s not perfect, but it has zombies and a semblance of a plot! Basically, you try to escape the zombies by contacting a rescue helicopter. You start with your bare hands, but can find a baseball bat and a pistol to fight off the zombie hordes. There are also helpful first aid kits!
Zombies use sight lines to see you, so you sneak around them. They react to noise so guns aren’t always super smart. (Or helicopters…)
Disclaimer: There is a little bit of cartoonish / blocky violence so get permission from parents before you play… (gun noises and puffs of blood here and there are about it oh and whacking zombies on the head)
(above are updated with bug fix 7/31 at 8:24PM EST)
Problems- My house model went a little wonky when I combined the meshes so they are a little messed up-you might see some glitching there. Also I have working doors but ran out of time to put them all back in. I also wanted more weapons, crawling zombies, path finding…, different building models, more items, survival components, a longer game… Also, the game can be super easy or super impossible depending on how you play I guess. So in the next version…
It’s not perfect – missiles don’t really work in multiplayer because of targeting. I have to rewrite the way I handle missiles to get that to work. They work fine against AI enemies tho.
The controls have changed a little – F or Right Mouse for Missiles. Space or Left Mouse for lasers. Mouse Look to steer. Q-E to strafe.
Update: On further testing – I think I made the multiplayer cooperative… can’t seem to hurt the other player due to the collision detection. Didn’t want players to blow themselves up with their own missiles. I will fix this in the next update. Perhaps I need to add a teams dialogue to the log in screen.
A little more progress this week – I’ve added in multiple cannons and missiles to the mix. The missiles involve targeting enemies which I made automatic by just aiming at them. Aiming puts a red box around the enemy that is currently being targeted. From their a missile will chase the target for a period of time usually resulting in a hit. I tried all sorts of ways of doing the missile trajectory and while big arcing ones looked cool, they resulted in lots of misses. So the current missiles are pretty vicious and accurate. Check out the video of some highlights…
Another added feature is I’ve included Space for Unity assets in the game. They are much cooler looking than my stuff and I picked it up a long time ago so it’s best I put it to some use. In adding the cool planets and nebulas, I also expanded the map to about 4000 square units. Seems big enough to explore now. The mini map is a little crammed but I have plans to make it a little more zoomed in and then have an expanded area map UI at some point.
I’ve noticed with some of my updates, I need to test again online since some of the effects only show up for one player. Also the enemies are super jumpy if you are not the server it seems…
I’ve also been trying to figure out an offline mode but the Photon directions are unclear how to implement it… 🙁
I’ve added better(?) AI, explosions, sound effects as well as hit points and a score to the game. It might be getting too complex for the webplayer soon. We may need to switch to stand alone PC/Mac downloads. Here is a link to the web version of Space Wars…
Rewatching the video, I notice the AI is doing a lot of spinning. I am still trying to figure out how to make the AI better, I’ve tried a lot of things. Sometimes it works great, sometimes it does random silly things while it works out its rotation. I plan to implement a waypoint patrol ai, a search ai, a follow/guard ai and a defend area ai soon… Those will be sooner rather than later. Further on I’d like to have goal oriented AI and preferred targets where AI will assess enemy ships and decide what is the most important target. Fighters set to skirmish mode will rate other fighters highly as potential targets, but other fighters whose mission is to destroy a space station or carrier might skip other fighters to prioritize travel and attack their main target. This will be important as ships diversify, we can have capital ships chasing every little fighter buzzing around them if there is an enemy cap ship pumping them full of lasers…
Also up for the AI will be factions so that some AI bots can be on the player’s team. Then the real space war will commence…
I’ve added some enemy AI ships to the game to chase around players. You can team up and try to take them out. They are fast and vicious and they respawn just like you do.
Having been testing the game with by myself, it is pretty cool to have some ships to fight against. Now I just need to make them smarter and maybe easier. Next up capital ships – but I will need to program some turrets and some missile style weapons too.