Jump to content

rjs23

Community Members
  • Posts

    94
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by rjs23

  1. Documentation:

    And I think the AI's weakness is that it lacks the ingenuity of a human :P That and currently all the AIs are scared of water.

    Thanks for the documenation. Thats one challege I'll try to tackle then! *Thumbs up*

    I don't know too much about the AI system, but I do know one major factor is serialization. If you start adding multithreaded without much thought, you'll end up causing players to desync.

    I'm glad you brought that up. Thats another challenge to tackle: making it multiplayer supported with muiltithreaded without causing out of sync. Before I do that, I want to get familar with concepts that 0AD can offer before I can begin my creation with muiltithreading support. I can't guarantee anything at this point but I want to try. My personal goal is to try to make an AI without it sucking up the main threads as much as possible.

    So far, I'm still researching around what 0ad has to offer for muiltithreading. Does it offer JavaScript's Web Work or is there alternative to it?

  2. Hello, I'm a long time lurker here. I've been watching 0AD progressing and it is a beautiful game. I haven't mod with it very much, but now I got some free times to play around with it.

    Anyway, I am curious to know if Web Worker is supported in AI and RMS? Is AI muilti threaded already supported? Having muilti-threaded AI could help with performance in late game.

    I'm researching around to begin the AI creation for fun but before I begin, there are several things I would like to know:

    1. is there any references document for AI

    2. list of deprecated functions that shouldn't be used but exists in game? I would like to try to avoid outdated functions.

    3. What are the 0AD AI system's most weakness?

    I'm excited to learn how to make AI and possibly contribute something useful!

  3. A thought just hit my mind: I'm not sure if other games has this feature but what if you place those buttons (train, research, or upgrades) ABOVE the unit/building instead of placing those buttons in the UI container?

    Heres a rough image of what I'm talking about: (using the Mythos_rule's screenshot that i modified)

    15813365522-orig.jpg

    Those buttons are transparent until you mouse over them which then becomes completely solid.

    • Like 1
  4. A new server is found with the new update to game lobby server.

    Edit: Link removed (my account got suspended due to exceeding CPU quota on their server.)

    Changelog:

    New server for web hosting.

    Contain several bug fixes.

    Improved performance

    Each user are named 0AD_## instead of their ip address. (I will add renaming feature to rename their nickname)

    Chat/talk fixes

    Speed up game list refresh rate

    New feature: Now show which host is offline (host that is not connected to lobby server but still hosting);

    Some other new features such as port numbering and nickname from the documentation provded by sergiovier

    EDIT: forgot a new feature, you can sort game list by game name, latency, and host.

    @sergiovier: I've added some of those specifications to the server I'm building. Let me know how it goes and we'll work together from there

    I will continue work on adding more features and add security layers to it. Feel free to post your wishes/suggestions.

    By the way, I am aware of my failing English noted here. I apology but bear with me lol.

    Issues with this server:

    This server is slow. The ping can spike.

    Can easily be messed up.

  5. @Sergiovier: Interesting idea, so you're going to try to build these web services for your php build or you want me to follow those outlines and apply them to my server so your php application can use them?

    I think 0ad team will implement an internal lobby, so this will be the best (only) place where you can launch a 0ad multiplayer game. But we can always have a web interface to show the lobby activity.

    They will implement it, but for now, my lobby server provides temporary mean of finding games (once it gets back up and running) for users while developers create their lobby in 0AD.

    Edit: I took this opportunity to learn more about gaming lobby since I have never had this kind of experience

  6. According to my web hosting server. I've been suspended. 10Xhosting do not like the chat feature. I will have to find another server for this.

    @sergiovier if your REST application can launch 0ad game automatically then that would be great because popular browsers does not permit it. Users will still need to launch the game manually then use copy/paste ip address to join games. Let me know if you plan to do this.

    @Kimball I am slowly working out bugs. I will do the essential ones such as sorting list and nickname (if I'm right, retrieving users' name on other domain will not happen unless 0ADLobbyserver is on same domain as this website. However, I can be wrong about this. )

    You could email me your team's email address so we can talk.

  7. Gotcha, I dont really need to be good in C but I just need to be able to find information about 0AD and how to make browser and 0ad communicate to each other. If 0AD game does not handle HTTP then what other protocol does 0AD game handle?

    Edit: I've trying to create something similar the way teamspeak uses like.

    If it has it's own protocol handler then I could use it instead of using HTTP? I'm not sure what other protocol to use that could communicate itself to 0AD

  8. Hm, those .cpp and .h files are somewhat new to me. Will takes time to know them all.

    Will the source files be updated to the game automatically If i make a change on it using notepad or do I need to use a program that applies updates to the game?

    Right now, I'm trying to communicate to the 0A.D via loopback now.

    How do I make 0.A.D respond back if a connection to 0.A.D from a browser using http://localhost:20595/

    Right now, it is not acknowledging that 0A.D has receives the communication from the browser.

  9. I've thought about embedding WebKit, but I think it'll be quite a pain to do it portably and efficiently. It'd probably be easier for an in-game lobby client to just use our current custom GUI system for rendering (and we should add an HTTP API so GUI scripts can communicate with the server).

    I can imagine it being troublesome to be planting it into the the 0A.D. You're right, it's probably not worth the files space and security flaws they might pose. I don't know much about all the engines and C programming and all that, but I could understand all the works involve in it now. I'll start programming the client side browsers to try to interact with the 0A.D via "bidirectional communication" once I know what it needs to communicate with 0A.D.

    *goes look for a document around here to find more about how to communicate to 0A.D*

  10. @dementor:

    Which file are you refering to? We do not know the status of your pc. What operating system is it? are the software and features installed and ready? What files does it lack?

    For now, I'll use that web hosting. It's not a big deal to use your server right now.

    @Ykkrosh: I'm lending toward on your opinion about the "predetermined port" because I believe that 0A.D can do more features with the outside communications than just the through the protocol handle which may be an hassle to deal with. It could also allow voice chat (would not work good in this case since it's a free server which can make it unreliable and slow until the lobby server get a real server) which some user would like to have. Unless a user has a plugin that allows javascript to start 0A.D automatically, the user of will still have to run the program manually, of course.

    Maybe 0A.D could use a browser engine like webkit, or gecko to communicate directly to the server while inside the game as a part browser (without depending on those popular browsers?)

    Anyhow,

    I've made some more progress on the Lobby Server. It is much more stable and is more completed.

    It also now allow hosts to stop hosting when they're done hosting.

    They can now remain hosting the game without needing to run browser in background. When the server loses connection with you while you're still hosting, the server will eventually see you being offline and mark you as a inactive hosting (but your game would be still being hosted) and your hosting session will become restored as an active host once you visit the lobby server later. The benefit of this to free up CPU and RAM for 0A.D to run more smoothly on old machines while your game is being hosted.

  11. I've released a somewhat operational lobby server. It is incomplete but it should be able to help people find games by their ip addresses.

    It does not connect you to the game automatically yet since I do not know how to make the lobby server communicate to 0AD game yet. I'm thinking about communicating through memory by using clipboard?

    This server's url is http://0adlobby.x10.bz/0adLobby.html and it is being operated on a free server so it will be running slow and might go down sometimes if people abuse it. I am trying to keep this thing free and allow access to everyone so the users don't have to sign in without a charge.

    Again, I'd like to point out that some feature are still incomplete therefore they can be glitchy.

    Feel free to test around.

    The following features that I plan to add later when I have more free time:

    User sign in/out (so that username are displayed instead of their ip addresses)

    friend list

    @dementor: The server doesnt really have to be new to be good. We can test it later if you can get it up and running. Are you saying that you having trouble configuring the server?

    @tatewatkins: I am not very good in C programming so I'd have hard time reading SpringLobby's open source code.

  12. Ahh, I see whats the cause.

    Installer tries to use up my main disk drive (C:\) where it extracts/uncompress to where it has very low amount of space available and I went to My Computer to check my free space and it said 0 bytes free of 35.6 (it was 225mb free before I open the installer but now its 0 free when the same error came up).

    I've solved this by moving the installer.exe to k:\ drive to give c:\ more space and it went successfully installed.

    The installer was located in My Download folder (where my firefox downloads file to), and temp folder is 55mb big but temp folder was located within the c:\ where it doesnt really have much free space left.

    The blame is my main drive.

    Edit: Reinstalling the game removes the pink screen of death. I think it was a corrupted configuration (probably by me lol). Thanks.

    While in full screen my cursor doesnt show up at all. I could move my mouse around and see thing gets highlighted in main menu but there are no cursor. This is not a big deal to me since I like to play in Windowed screen since windowed screen doesnt have this bug.

  13. I've decided to reinstall the game from scratch by using setup.exe file instead of using Tortoise.

    This is my install path:

    post-7398-1283826700_thumb.jpg

    The installer gave me an error when the progress bar reached 80%, saying something about "Extract: error writing to file rain_11.ogg".

    The error dialog:

    post-7398-1283826826_thumb.jpg

  14. It is recent and my ATI CCC has an About dialog that tells you about the version and the .NET framework Version (attached below).

    It worked before Alpha 1 was released. I just recently upgraded to Alpha 1 three days ago. It worked fine before I updated the game using the TortoiseSVN.

    I am not sure which SVN version I might had. How can I find that out?

    post-7398-1283719090_thumb.jpg


  15. (generated 2010-09-05 12:00:33 UTC)

    OS : Vista SP 2 (6.0.6002)
    CPU : IA-32, Intel Core2 Duo E4700 @ 2.60GHz (1x1x1), 3.00 GHz
    Memory : 3070 MiB; 1449 MiB free
    Graphics Card : ATI Radeon HD 3800 Series
    OpenGL Drivers : 3.3.10151 Compatibility Profile Context;
    Video Mode : 1024x768:32
    Sound Card : High Definition Audio Device
    Sound Drivers : OpenAL32.dll (unknown)
    Network Name : RJS-Desktop (192.168.1.67)

    OpenGL Extensions:
    GL_AMDX_debug_output
    GL_AMDX_vertex_shader_tessellator
    GL_AMD_conservative_depth
    GL_AMD_debug_output
    GL_AMD_draw_buffers_blend
    GL_AMD_name_gen_delete
    GL_AMD_performance_monitor
    GL_AMD_sample_positions
    GL_AMD_shader_stencil_export
    GL_AMD_texture_cube_map_array
    GL_AMD_texture_texture4
    GL_AMD_vertex_shader_tessellator
    GL_ARB_blend_func_extended
    GL_ARB_color_buffer_float
    GL_ARB_copy_buffer
    GL_ARB_depth_buffer_float
    GL_ARB_depth_clamp
    GL_ARB_depth_texture
    GL_ARB_draw_buffers
    GL_ARB_draw_buffers_blend
    GL_ARB_draw_elements_base_vertex
    GL_ARB_draw_instanced
    GL_ARB_explicit_attrib_location
    GL_ARB_fragment_coord_conventions
    GL_ARB_fragment_program
    GL_ARB_fragment_program_shadow
    GL_ARB_fragment_shader
    GL_ARB_framebuffer_object
    GL_ARB_framebuffer_sRGB
    GL_ARB_geometry_shader4
    GL_ARB_half_float_pixel
    GL_ARB_half_float_vertex
    GL_ARB_imaging
    GL_ARB_instanced_arrays
    GL_ARB_map_buffer_range
    GL_ARB_multisample
    GL_ARB_multitexture
    GL_ARB_occlusion_query
    GL_ARB_occlusion_query2
    GL_ARB_pixel_buffer_object
    GL_ARB_point_parameters
    GL_ARB_point_sprite
    GL_ARB_provoking_vertex
    GL_ARB_sample_shading
    GL_ARB_sampler_objects
    GL_ARB_seamless_cube_map
    GL_ARB_shader_bit_encoding
    GL_ARB_shader_objects
    GL_ARB_shader_texture_lod
    GL_ARB_shading_language_100
    GL_ARB_shadow
    GL_ARB_shadow_ambient
    GL_ARB_sync
    GL_ARB_texture_border_clamp
    GL_ARB_texture_buffer_object
    GL_ARB_texture_compression
    GL_ARB_texture_compression_rgtc
    GL_ARB_texture_cube_map
    GL_ARB_texture_cube_map_array
    GL_ARB_texture_env_add
    GL_ARB_texture_env_combine
    GL_ARB_texture_env_crossbar
    GL_ARB_texture_env_dot3
    GL_ARB_texture_float
    GL_ARB_texture_gather
    GL_ARB_texture_mirrored_repeat
    GL_ARB_texture_multisample
    GL_ARB_texture_non_power_of_two
    GL_ARB_texture_rectangle
    GL_ARB_texture_rg
    GL_ARB_texture_rgb10_a2ui
    GL_ARB_texture_snorm
    GL_ARB_timer_query
    GL_ARB_transform_feedback2
    GL_ARB_transform_feedback3
    GL_ARB_transpose_matrix
    GL_ARB_uniform_buffer_object
    GL_ARB_vertex_array_bgra
    GL_ARB_vertex_array_object
    GL_ARB_vertex_buffer_object
    GL_ARB_vertex_program
    GL_ARB_vertex_shader
    GL_ARB_vertex_type_2_10_10_10_rev
    GL_ARB_window_pos
    GL_ATI_draw_buffers
    GL_ATI_envmap_bumpmap
    GL_ATI_fragment_shader
    GL_ATI_meminfo
    GL_ATI_separate_stencil
    GL_ATI_texture_compression_3dc
    GL_ATI_texture_env_combine3
    GL_ATI_texture_float
    GL_ATI_texture_mirror_once
    GL_EXT_abgr
    GL_EXT_bgra
    GL_EXT_bindable_uniform
    GL_EXT_blend_color
    GL_EXT_blend_equation_separate
    GL_EXT_blend_func_separate
    GL_EXT_blend_minmax
    GL_EXT_blend_subtract
    GL_EXT_compiled_vertex_array
    GL_EXT_copy_buffer
    GL_EXT_copy_texture
    GL_EXT_direct_state_access
    GL_EXT_draw_buffers2
    GL_EXT_draw_instanced
    GL_EXT_draw_range_elements
    GL_EXT_fog_coord
    GL_EXT_framebuffer_blit
    GL_EXT_framebuffer_multisample
    GL_EXT_framebuffer_object
    GL_EXT_framebuffer_sRGB
    GL_EXT_geometry_shader4
    GL_EXT_gpu_program_parameters
    GL_EXT_gpu_shader4
    GL_EXT_histogram
    GL_EXT_multi_draw_arrays
    GL_EXT_packed_depth_stencil
    GL_EXT_packed_float
    GL_EXT_packed_pixels
    GL_EXT_pixel_buffer_object
    GL_EXT_point_parameters
    GL_EXT_provoking_vertex
    GL_EXT_rescale_normal
    GL_EXT_secondary_color
    GL_EXT_separate_specular_color
    GL_EXT_shadow_funcs
    GL_EXT_stencil_wrap
    GL_EXT_subtexture
    GL_EXT_texgen_reflection
    GL_EXT_texture3D
    GL_EXT_texture_array
    GL_EXT_texture_buffer_object
    GL_EXT_texture_buffer_object_rgb32
    GL_EXT_texture_compression_latc
    GL_EXT_texture_compression_rgtc
    GL_EXT_texture_compression_s3tc
    GL_EXT_texture_cube_map
    GL_EXT_texture_edge_clamp
    GL_EXT_texture_env_add
    GL_EXT_texture_env_combine
    GL_EXT_texture_env_dot3
    GL_EXT_texture_filter_anisotropic
    GL_EXT_texture_integer
    GL_EXT_texture_lod
    GL_EXT_texture_lod_bias
    GL_EXT_texture_mirror_clamp
    GL_EXT_texture_object
    GL_EXT_texture_rectangle
    GL_EXT_texture_sRGB
    GL_EXT_texture_shared_exponent
    GL_EXT_texture_snorm
    GL_EXT_texture_swizzle
    GL_EXT_timer_query
    GL_EXT_transform_feedback
    GL_EXT_vertex_array
    GL_EXT_vertex_array_bgra
    GL_IBM_texture_mirrored_repeat
    GL_KTX_buffer_region
    GL_NV_blend_square
    GL_NV_conditional_render
    GL_NV_copy_depth_to_color
    GL_NV_explicit_multisample
    GL_NV_float_buffer
    GL_NV_half_float
    GL_NV_primitive_restart
    GL_NV_texgen_reflection
    GL_SGIS_generate_mipmap
    GL_SGIS_texture_edge_clamp
    GL_SGIS_texture_lod
    GL_SUN_multi_draw_arrays
    GL_WIN_swap_hint

    My ATI CCC software version is 2010.0803.2125.36577

    Edit: I am using 64 bit OS Window Vista.

  16. It'd be just for lobby. The way i see, it could show list of available games (for players to be able connect in order to automatically join a game in a peer to peer networking manner), ping speed, friend list, and chat lobby/game rooms.

    A good example of this would be MSN Zone where it used to acted like a lobby server for AOE II.

    Edit: I will be using this, as Ykkrosh has recommended, with JSON-over-HTTP.

×
×
  • Create New...