Hey guys I'm a grad student at a game development school and we have an assignment to create a game over the next semester. As the weeks go on certain games will be cut and others will be greenlit.
I decided (after doing the previous level design assignment in the free CE3 free SDK) to continue poking around with it and see what I could accomplish. I've had an idea for awhile now to build a top down shooter that changes into a side scrolling shooter and cryengine would be really sweet graphically to do this in.
We are currently about two weeks in and I'm waiting to hear the results but my class seemed totally blown away by the progress I've made so far. This might make some people wince but it will end up being a flowgraph game using custom assets that the artists in my class made last semester (so it wont look like producer art XD).
Here are some screenshots of what I've got so far, you can see my test area with both cameras. There is a close up of both ships which are currently geomEnitities and in game shots of the top down and side view cameras that I can switch between.
BTW cryDevs thank you for adding that xbox input in the last update, made input wayyyyy easier.
If anyone has comments or suggestions please let me know!
I've integrated with perforce so my new guy and I can work on the project without overwriting each others work, good stuff. (He was absorbed from one of the cut games last round).
The bad news is I seem to have a massive memory leak with my flowgraph which I've narrowed down to the screenshot below. If anyone has any ideas or suggestions please let me know.
*nevermind this, it actually seems to be my ship model .cga file that is creating the memory leak...?
You'll notice there are two groups here, either one causes the memory leak. The first group is just launching a projectile from the position of my ship. This doesn't work due to the projectile not having hit information included with it, I think that is generated when you shoot a projectile out of a weapon. The second group attaches a rocket launcher to the ship as a child and fires it. This seems to work really well. The only issue, besides the memory leak, is that my custom ship entities don't have hit information and I'm having trouble implementing this within the lua file. The documentation on implementing hit info has no examples, just a list of properties and the only example I've been able to find is in vehiclebase.lua which references a lot of other vars within that file.
No, I'm pretty sure its not loading multiple times. In fact I just found that its the rotation on the model within the editor itself causing leak.
We had changed our design from the previous week to run in the +y direction. Easy change, rotate model, rotate camera, increment all axis of input accordlingly and no big deal... With the model facing its original direction it runs fine, but if the model is rotated to the right 90 degrees its starts chugging after about 5 seconds of simulation in the editor.
looks intersting, are you using the XBox controller to test the game ?
Yep, it simplified the flow graph for the input by... alot. I have it currently set to switch my side view camera when you press the 'A' button, but I think game play is going to be impossible if the player gets to choose when to be in side view vs. top view. So it will probably end up being a scripted event, or maybe a mechanic for hitting boss weak spots.
There is an issue I need to fix with this flowgraph, when I start the game you'll notice I'm also disabling my left thumbstick at the same time I'm enabling it. This is causing me to have to push the 'A' button to re-enable it before I can move.
I should have a video posted in a few days of the current game state.
Finally got around to getting some video of what it currently looks like.
This week I was able to add enemies shooting (in a straight line), player ship hp, and a kill counter/score.
I'd like to use CryEngine's native destructible object but it appears that takes quite a bit of work in maya. I'd also like to implement my own weapon/projectile type. If anyone has tips or suggestions on these things give me a shout.
The biggest problem I encountered was that if a player had the choice to be in side view or top view, it was almost impossible to line yourself up with the enemy ships to hit them. My solution was to detect if the player was in side view or top view and move the enemies into the player's plane so that they wouldn't have to worry about it. The result is pretty cool but created some additional issues. When initially placing the enemies they all must have unique x AND z coordinates, or when the player switches they will shoot themselves. Thats a problem because I had no idea where entity health and hit detection was located (I located it yesterday, its in the EntityUtils.lua script), so I implemented my own HP and decremented off of any hit, meaning enemies could shoot each other.
Anyway here is a video of how its working with the plane shifting enemies, all sorts of stuff I could do with this!