Jump to content
SubSpace Forum Network

Recommended Posts

Posted (edited)

Hello all,

 

I have decided to start a work log on this project. For now I will keep it casual.

 

12-14-2010

Since the last release of the client (A.25d) I have been working on world scaling. This is a feature I had long wanted in SubSpace. So I now have map scaling in, just like zooming in or out (*In Real Time). I totally love it. Just imagine being able to zoom out for that wide field of view.

 

So I am going through all my code now adjusting for world scale incorporation. I had always planned to do this but I still have a few bugs to fix during this change.

 

Another reason to include world scaling is special FX. I would like have multiple planes of play. For example a ramp for jumping or a bridge. Alpha (transparency) will allow me to create areas of the map where multiple planes of play are occurring at the same point (x,y) on the map. Should be way cool.

 

More to follow...

 

Richard Betson

aka. Vidiot_X

Edited by Richard Betson
Posted (edited)

12-19-210

 

I have added multiple background layers. Phoenix SS is now able to display the background tiled images (stars and alike) in multiple Z-ordered layers. This means you can have each layer moving at different speeds and alpha transparency's. This renders a really cool parallaxing (depth) background. This is in addition to other layers of objects like the sun, planets and wall/floor's. It's really starting to look pretty cool.

 

Generally you won't be able to get to cray with the background layers as they tax the video card, but you should be able to use at least 2-3 on most maps. I have updated the level editor so all you have to do is place a background image in an empty part of the map. It is then automatically rendered as a background layer.

 

I'll try to post a video clip of it soon. I do not plan to release another update until I have collision firmly in place (coming very soon) so enjoy the video clips of Phoenix SS's progress for now. :unknw:

 

Richard Betson

Aka. Vidiot_X

Edited by Richard Betson
Posted (edited)

12-20-2010

 

I tried to make a video for above, but the background fx are just not coming through. So I will post a new client release (I wanted to wait for collision) in a day or two.

 

The level editor now also supports the zoom feature. This so rocks for editing a map. This coupled with multiple sub views (each with independent zoom) should make editing large world/maps a breeze.

 

The multilayer-ed backgrounds are forcing me to consider (they really tax some video cards) lower resolutions then 1280 x 720. Since they are not 16:9 but 4:3 I am adding scaling that will support these lower resolution so they display right. Look for in this next release.

 

On separate note I have been invited to become a beat tester for the language (BlitMAX/BRL) I currently use. They are developing a new language that will really expand the options for this project. Also having the inside support and access is a big plus. I can not comment on the new language but you all know that. :pardon:

 

Look for the client update with Zoom and Multilayer-ed backgrounds.

Edited by Richard Betson
Posted

12-25-10

 

Still working out some of the issues involved with lower resolution aspect correction (anamorphic conversion). It is turning out to be a little bit harder then I had originally thought. But I have a handle on it now. New client available soon. :D

 

Happy Holiday's,

Richard Betson

aka. Vidiot_X

  • 2 weeks later...
Posted

Hello all,

 

I have been hard at work going through timing code which is now 'Rock Solid' as pertains to 'Frames per-second'. I have it now so that it limits the frame rate to 60 frames per-second even if hardware Vsync is set to forced (a possible cheat). On the other end, I have it recovering all dropped frames by looping through and calculating the physics that are missing. The end result is that even at 60 millisecond delay (like 17 FPS) the game still can function, although this will not be the case in the real world.

 

I have worked out most of the anamorphic conversion issues for the lower resolutions. I plan to support resolutions higher then 1366 x 768 at some point in the future but for now this should suffice.

 

I am now at the collision point and this is proving to be degrees of compromise. I have looked into using vertlet style physics which let you do cool things like push objects around or even 'rag doll' sorta physics. But this appears as if it will eat way to much cpu resource for low end systems. So I will stick with the current impulse/vector model I have in place. This also relates to rotating the screen which will also be to cpu costly to implement for low end systems.

 

So, I will be implementing collision the next few weeks and giving all the code a good "house cleaning" as well as documentation. From now on I will begin to include a version history text file as well as 'use' documentation.

 

After collision is added I will start implementing networking.

 

I'll keep you posted.:p

 

Richard Betson

aka. Vidiot_X

  • 2 weeks later...
Posted

Hi all,

 

I have been coding demos for the programming language company I'm working with and will be for the next two or so weeks. The good news is that I am writing some collision demos that will translate to this project. So this means the next release will have collision in place which will finally make it playable. I can't wait. :p

 

Richard Betson

aka. Vidiot_X

  • 4 weeks later...
Posted

02/18/11

 

I almost have collision working now. I'm playing with a few different models to see which will be the fastest. I'm also just about finished coding demos for Monkey a new programming language. Monkey has been stealing much of my time since I am testing for errors in the language itself, which can be time consuming. But, it's worth it as Monkey will eventually let me reach targets from webpages to cell phones and more.

 

So in just a month I'll release a new demo.

 

L8r,

 

Richard Betson

aka. Vidiot_X

  • 1 month later...
Posted (edited)

04/5/11

 

Well,

 

it looks like real-time screen rotation is going to be a reality. Last night I got the screen rotating 360 degrees. This should work on all platforms that supports OpenGL as well as native graphic drivers like DirectX and Mac OS.

 

So not only can you zoom in and out but rotate the screen in real-time. I not sure yet of the best way to use rotation but it's cool. I set the ship to point north (pointing at the top) and when you turn the whole level rotates instead of the ship. Crazy Wild! I will probably set up so you can manually rotate the screen as well or not at all.

 

This addition has caused some other issues I need to address but al1 fixable.

 

New version up soon.:D

 

L8r,

Richard R Betson

Vidiot_X

Edited by Richard Betson
Posted

04/12/11

 

Still hard at it. I'm stuck right now working out some bugs caused by converting all the code for rotation and splitting off all the various engines so that they can be used in other projects. It's slow going but worth it. I'll try and post a video soon, but the next version will have collision and some basic networking.

 

L8r,

Richard R Betson

Vidiot_X

  • 2 months later...
Posted

Hi,

 

I have settled on a vector style collision system that should be fast and flexible enough. I have had to make it from 'scratch' so it took a little research but I think it's worth it. The basic design (for you programming geeks) will use lines to define collision boundaries and normal's of map parts. Objects like bullets, bombs, shrapnel and alike will either be a single line for collision or a circle. Basically I'm calculating the last position of a bullet and it's present position and defining that as a line, if the line intersects a boundary line of a map part object there is a collision. It's simple and fast.

 

This will make the editor very useful for constructing maps as the user will be able to custom design the collision boundaries for each map part. Once the part has defined boundaries it can be used anywhere on a map. Ships will have collision boundaries defined much like parts.

 

So, I'm working the above out right now. My goal is to make the frameworks I develop portable to other languages like Monkey which in time will open up access to I-Pad, Andriod, HTML5, Flash and more. The cost is in the research in making frameworks/systems highly portable.

 

Look for another 'Sneek Peek'. I'll be posting something in a couple of weeks.

 

L8r,

Rich

  • 1 month later...
Posted

Hi,

 

Thanks to all who helped test the last networking attempt. It was very useful and the next version of Phoenix will be about a week away. I'm looking over to different network libraries and testing them out now. As soon as I choose one I can go forward with development.

 

Thanks again for testing.

-Rich-

  • 2 weeks later...
Posted

Hi,

 

I have been discussing server client design with the community and believe I've hit upon a design that will work for this project. I am now in the process of modifying all the frameworks to accommodate the new server client design and optimizing. This will take a little time but will be worth the effort. One optimization is modifying the player and bullet classes to better manage memory which is important to networking. Right now every player bullet is its own object and this is just to overhead intensive.

 

I am also now optimizing to include LUA scripting which will allow the user to use the methods/functions with in the game to construct levels. LUA scripting is used in many games and might be familiar to some.

 

So the upshot here is there is some reworking of code to-do.

 

=Rich=

  • 1 month later...
Posted

Phoenix SS will include a windowed mode in the next release. It actually is working out quite well with the zoom feature and looks as if it will be a good option for lower performance systems as the user can lower the total display area. In addition I have also added real-time resolution change to full-screen or windowed modes. Users can also use shift+return to toggle between windowed and full-screen modes. I am also adding a "Flip" delay hack to help smooth out windowed mode and have reworked tweening (delta frame rate timing) for smooth operation below 60 fps.

 

I have split all the map data into arrays instead of a class which has lowered overhead and up'ed performance. The map system is now based on a sector and sector parts structure where, for example,one could construct a map with a grid of 64 x 64 sectors with each sector covering a display area of 2048 pixels wide by 1024 pixels in height. Each sector holds up to 300 parts. I may add a second array to group these sector grids/chunks for very large maps, but not sure on this.

 

I have also been reworking the map editor and getting it up to a point it can be used for map development. I have reworked the grid system to be flexible enough as well as work with the map and collision frameworks. Plus lots of other tweaks and additions. it seems to be working well and should be good enough to start making maps.

 

I am also making new map parts and writing a small app to easily add line segment collision data to those parts. I will migrate this app into the map editor soon. I have also written another small app to import 3D "X" or "3DS" meshes of ships (or what ever) and light, image and record ship turn angles into an animated image. It actually works great and in 'rotation mode' the ship looks really cool when turning.

 

So, I still have a few weeks of coding before the next release. I need to finish building all the parts and add collision data. Lots of little fixes and some z-order issues to solve (nothing big) and then a stability release of the client and editor. Then I will start to work on the server and client side networking. Once I hit that point Phoenix SS will be at mid alpha stage, which will be cool.

 

So that whats going on. :)

- Rich -

  • 5 months later...
Posted

Hi all

 

I have been working on integrating the collision system for Phoenix SS. Basically I am overlaying a vector style system which has had its own set of problems but I have it working and am in the process of optimizing it all. I should have a video of the client out this week and and a new client posted next week. The next client release will be more a sanity check then anything but should be interesting to test with all the new features. I will do the same with the editor in a week or so after releasing the client. A copy of the server will be a month or more before I have something to test.

 

So the bottom line is I am getting close to getting a server and client running along with the editor. I will be pushing out code as much as possible, but I am starting a band and learning a lot of new music which is competing for my time so it looks like a lot of late nights :)

 

 

- Rich -

  • 4 weeks later...
Posted

I feel like I am getting over the 'hump' with this project as collision and more has successfully begun to be implemented. With the last two versions of the client I have been able to test the core of the Phoenix SS framework and can now start to proceed to firming up the editor and starting work on the servers. The addition of Direct 10 and 11 really open up some possibilities as well.

 

The plan is to now move the core framework, client and editor to a beta stage and start with a simple server to work out it's framework. As far as a timeline goes I plan to release the editor in a few weeks and start on the the first server model. I will also will add more to the core framework features such as a radar map (two styles), background elements, menu and HUD display.

 

Off to code...

 

- Rich -

  • 3 weeks later...
Posted

I have what appears to be a stable tween system that will interpolate given a lag/delay. I am currently setting up a basic server and client based on a client side prediction model. It's all new ground for me but I think I am getting a handle on it.

 

- Rich -

  • 1 month later...
Posted

Hi,

 

It has been a while since I have updated the work log. :)

 

With a successful first attempt at building a UDP client/server I am moving to the next step which is implementing a networking model called client prediction. It is partially implemented in the current version but more needs to be done. Basically client prediction is when both the server and the client both use the same frameworks (physics, collision, networking, tweening) and this allows the client to run along on its own and the server checks to make sure it is accurately rendering the map/world. The model makes it easier to spoil cheaters and is low latency (network delay). So in this next version of the server/client I will add bullet to ship collision and some other options that enable some game play.

 

All in all everything is going smoothly aside from the research which is for me is a time killer. After the implementation of client prediction to the client and server I will be adding security and server-side scripting which should put both the client and the server into Beta which means the basic outline is done and feature adding and tweaking can occur.

 

I work on this project everyday and I am pushing to get this project off the ground by the end of this year which would include not only the server and client but the map editor as well.

 

If your looking to help with this project I am looking for artwork, music and sound FX. Remember if you would like to contribute, all artwork, sound and music have to original and free of any copyright issues. If you have any questions about making media for Phoenix SS such as size or format please contact me. For those wishing to contribute I will of course give full credit within Phoenix SS.

 

I will also be starting a group of beta testers that can have access to the map editor in its current forum and can begin building and designing maps and artwork. This group will also have advance copies of the client (and server at a later point). All who participate will be included in the Phoenix SS credits. Check the forum for more information on beta testing.

 

Well, that all for now:)

- Rich -

  • 5 months later...
Posted

Hi,

 

It has been a while since I have updated the work log. Since the last post here much has happend. The core of the games is well on it's way to beta and with the edition of a functioning server and client Phoenix is now playable to a certain extent. The next release will include many fixes and new features like in-game windows for easy HUD and informational devices. For a complete view of what is going on with Phoenix you can follow this thread for now.

http://www.subspace....ient-lets-play/

 

- Rich -

  • 2 weeks later...
Posted

Hi,

 

I'v been working on Linux install and getting it ready for development. Nearly there as I now have debian 7 AMD64 working and compiling 32bit apps via multi-arch. Just a few teaks and I'll be compiling Phoenix for Linux. :D

 

Debian 7 is pretty rocking and the Gnome3 desktop is very slick. The Nouveau video driver (installed by default) is much faster then pervious versions and I'm quite happy with the performance. Debian is really sweet.

 

- Rich -

  • 2 weeks later...
Posted

Hi,

 

I have Phoenix compiling on Linux and it's looking good for a Phoenix release on Linux ( http://phoenix.subsp...oenix_linux.png ). I will be splitting off setup and other tasks onto a launch application similar to Continuum. Collision has greatly improved and a lot of little fixes. Adding in encryption.

 

Currently working on the map editor and getting it ready for it's alpha release.

 

- Rich -

  • 1 month later...
Posted

Hi,

 

I have accomplished quite a bit since my last post. Phoenix is now know as Phoenix Universe of Space Combat or just Phoenix USC. I have worked up a client launch application and added many new features such as in game windows/HUD, GUI and much more.

 

I will release the last alpha sometime next month and then the 'Beta' testing begins. I have also made this a donation project so the game client, server and map editor will all be FREE to play and use.

 

Phoenix also has a new domain at http://www.phoenixusc.com which is under construction but please check it out and let me know what you think. You can also follow Phoenix USC's progress on Facebook, Google+, Twitter or by RSS Feed, all the links are at the bottom of the page. But you can always find me here too.

 

So things are starting to gel and I cant wait to release the map editor and server so you can get started making way cool maps. I'm working on this project almost everyday now so progress should be quickening.

 

- Rich -

  • 2 weeks later...
Posted

The plan.

 

Hi,

I am planning on releasing the final alpha version on or about 2/25/13. Along the way I will release the client launch application for testing and then release both the client launch application and the client for testing on the server.

Once that's all done the beta phase of development will begin and I will maintain a server here during that time. I will for a select group allow other servers to be running. During the beta phase most of the features that have been requested will be added as well as further development of the game. You can think of the the alpha as the basic bones/core of the project as being in place and the beta where I start adding the more advanced features. So I will have the client launch application up shortly and then from there things should start to move more swiftly.

Lots to do but I expect to have several servers up and running with different custom maps during beta. This makes life a little hard for me as I will have to improve the map editor but it's really not to far off from a beta status as well. Once the map editor is out there it should be a lot of fun for those running servers.

I'll keep you posted, but look for the client launch application very soon, then client/server alpha testing right after that.

- Rich -
Guest
This topic is now closed to further replies.
×
×
  • Create New...