Jump to content

Sakura Engine


Antidote
 Share

Recommended Posts

That's a good idea. I am so happy you are doing this. If there is one thing I wanna do in life before I die is to play ALTTP with 2 player co-op.

 

So when this is done I assume it will be easy to use? I played alot of Zelda engines that are ALTTP based and they were too hard to use.

Link to comment
Share on other sites

I'm hoping to match ALTTP's difficult but fair (Moldorm accepted) difficulty. It will largely depend on the AI.

The controls (the ones that exist) are pretty tight right now, but they'll definitely be configurable. And gamepad support is definitely planned.

  • Like 1
Link to comment
Share on other sites

Well, with the compiler finished I thought I'd show off it's Usage banner:

Don't try accessing the repo at that link just yet.

 

[antidote@localhost MapCompiler]$ ./mapcompiler 
-----------------------------------------------------------------
-TMX to ZMAP Compiler Copyright 2013 Phillip "Antidote" Stephens-
-                      Powered by Tmx-parser                    -
-                http://tmx-parser.googlecode.com               -
-                  Designed for the Sakura engine               -
-               https://github.com/Antidote/Sakura              -
-----------------------------------------------------------------
Usage: mapcompiler <mapfile.tmx>
  • Like 1
Link to comment
Share on other sites

Sakura now queries all relevant hardware (working on RAM) and prints it to the newly written log class:

 

 

[Info]  Built using SFML 2.1 ***********************************************************[Info]  CPU AuthenticAMD, SSE, SSE2, SSE3, 64-bit support[Info]  GL_VENDOR NVIDIA Corporation[Info]  GL_RENDERER GeForce 9800 GTX+/PCIe/SSE2[Info]  GL_VERSION 3.3.0 NVIDIA 325.15[Info]  GL_EXTENSIONS:GL_ARB_arrays_of_arraysGL_ARB_base_instanceGL_ARB_blend_func_extendedGL_ARB_clear_buffer_objectGL_ARB_color_buffer_floatGL_ARB_compatibilityGL_ARB_compressed_texture_pixel_storageGL_ARB_conservative_depthGL_ARB_copy_bufferGL_ARB_copy_imageGL_ARB_debug_outputGL_ARB_depth_buffer_floatGL_ARB_depth_clampGL_ARB_depth_textureGL_ARB_draw_buffersGL_ARB_draw_elements_base_vertexGL_ARB_draw_instancedGL_ARB_ES2_compatibilityGL_ARB_ES3_compatibilityGL_ARB_explicit_attrib_locationGL_ARB_explicit_uniform_locationGL_ARB_fragment_coord_conventionsGL_ARB_fragment_layer_viewportGL_ARB_fragment_programGL_ARB_fragment_program_shadowGL_ARB_fragment_shaderGL_ARB_framebuffer_no_attachmentsGL_ARB_framebuffer_objectGL_ARB_framebuffer_sRGBGL_ARB_geometry_shader4GL_ARB_get_program_binaryGL_ARB_half_float_pixelGL_ARB_half_float_vertexGL_ARB_imagingGL_ARB_instanced_arraysGL_ARB_internalformat_queryGL_ARB_internalformat_query2GL_ARB_invalidate_subdataGL_ARB_map_buffer_alignmentGL_ARB_map_buffer_rangeGL_ARB_multisampleGL_ARB_multitextureGL_ARB_occlusion_queryGL_ARB_occlusion_query2GL_ARB_pixel_buffer_objectGL_ARB_point_parametersGL_ARB_point_spriteGL_ARB_program_interface_queryGL_ARB_provoking_vertexGL_ARB_robust_buffer_access_behaviorGL_ARB_robustnessGL_ARB_sampler_objectsGL_ARB_seamless_cube_mapGL_ARB_separate_shader_objectsGL_ARB_shader_bit_encodingGL_ARB_shader_objectsGL_ARB_shader_texture_lodGL_ARB_shading_language_100GL_ARB_shading_language_420packGL_ARB_shading_language_includeGL_ARB_shading_language_packingGL_ARB_shadowGL_ARB_stencil_texturingGL_ARB_syncGL_ARB_texture_border_clampGL_ARB_texture_buffer_objectGL_ARB_texture_buffer_rangeGL_ARB_texture_compressionGL_ARB_texture_compression_rgtcGL_ARB_texture_cube_mapGL_ARB_texture_env_addGL_ARB_texture_env_combineGL_ARB_texture_env_crossbarGL_ARB_texture_env_dot3GL_ARB_texture_floatGL_ARB_texture_mirrored_repeatGL_ARB_texture_multisampleGL_ARB_texture_non_power_of_twoGL_ARB_texture_query_levelsGL_ARB_texture_rectangleGL_ARB_texture_rgGL_ARB_texture_rgb10_a2uiGL_ARB_texture_storageGL_ARB_texture_storage_multisampleGL_ARB_texture_swizzleGL_ARB_texture_viewGL_ARB_timer_queryGL_ARB_transpose_matrixGL_ARB_uniform_buffer_objectGL_ARB_vertex_array_bgraGL_ARB_vertex_array_objectGL_ARB_vertex_attrib_bindingGL_ARB_vertex_buffer_objectGL_ARB_vertex_programGL_ARB_vertex_shaderGL_ARB_vertex_type_2_10_10_10_revGL_ARB_viewport_arrayGL_ARB_window_posGL_ATI_draw_buffersGL_ATI_texture_floatGL_ATI_texture_mirror_onceGL_S3_s3tcGL_EXT_texture_env_addGL_EXT_abgrGL_EXT_bgraGL_EXT_bindable_uniformGL_EXT_blend_colorGL_EXT_blend_equation_separateGL_EXT_blend_func_separateGL_EXT_blend_minmaxGL_EXT_blend_subtractGL_EXT_compiled_vertex_arrayGL_EXT_Cg_shaderGL_EXT_depth_bounds_testGL_EXT_direct_state_accessGL_EXT_draw_buffers2GL_EXT_draw_instancedGL_EXT_draw_range_elementsGL_EXT_fog_coordGL_EXT_framebuffer_blitGL_EXT_framebuffer_multisampleGL_EXTX_framebuffer_mixed_formatsGL_EXT_framebuffer_multisample_blit_scaledGL_EXT_framebuffer_objectGL_EXT_framebuffer_sRGBGL_EXT_geometry_shader4GL_EXT_gpu_program_parametersGL_EXT_gpu_shader4GL_EXT_multi_draw_arraysGL_EXT_packed_depth_stencilGL_EXT_packed_floatGL_EXT_packed_pixelsGL_EXT_pixel_buffer_objectGL_EXT_point_parametersGL_EXT_provoking_vertexGL_EXT_rescale_normalGL_EXT_secondary_colorGL_EXT_separate_shader_objectsGL_EXT_separate_specular_colorGL_EXT_shadow_funcsGL_EXT_stencil_two_sideGL_EXT_stencil_wrapGL_EXT_texture3DGL_EXT_texture_arrayGL_EXT_texture_buffer_objectGL_EXT_texture_compression_dxt1GL_EXT_texture_compression_latcGL_EXT_texture_compression_rgtcGL_EXT_texture_compression_s3tcGL_EXT_texture_cube_mapGL_EXT_texture_edge_clampGL_EXT_texture_env_combineGL_EXT_texture_env_dot3GL_EXT_texture_filter_anisotropicGL_EXT_texture_integerGL_EXT_texture_lodGL_EXT_texture_lod_biasGL_EXT_texture_mirror_clampGL_EXT_texture_objectGL_EXT_texture_shared_exponentGL_EXT_texture_sRGBGL_EXT_texture_sRGB_decodeGL_EXT_texture_storageGL_EXT_texture_swizzleGL_EXT_timer_queryGL_EXT_vertex_arrayGL_EXT_vertex_array_bgraGL_EXT_x11_sync_objectGL_EXT_import_sync_objectGL_IBM_rasterpos_clipGL_IBM_texture_mirrored_repeatGL_KHR_debugGL_KTX_buffer_regionGL_NV_blend_squareGL_NV_conditional_renderGL_NV_copy_depth_to_colorGL_NV_copy_imageGL_NV_depth_buffer_floatGL_NV_depth_clampGL_NV_ES1_1_compatibilityGL_NV_explicit_multisampleGL_NV_fenceGL_NV_float_bufferGL_NV_fog_distanceGL_NV_fragment_programGL_NV_fragment_program_optionGL_NV_fragment_program2GL_NV_framebuffer_multisample_coverageGL_NV_geometry_shader4GL_NV_gpu_program4GL_NV_half_floatGL_NV_light_max_exponentGL_NV_multisample_coverageGL_NV_multisample_filter_hintGL_NV_occlusion_queryGL_NV_packed_depth_stencilGL_NV_parameter_buffer_objectGL_NV_parameter_buffer_object2GL_NV_path_renderingGL_NV_pixel_data_rangeGL_NV_point_spriteGL_NV_primitive_restartGL_NV_register_combinersGL_NV_register_combiners2GL_NV_shader_buffer_loadGL_NV_texgen_reflectionGL_NV_texture_barrierGL_NV_texture_compression_vtcGL_NV_texture_env_combine4GL_NV_texture_expand_normalGL_NV_texture_multisampleGL_NV_texture_rectangleGL_NV_texture_shaderGL_NV_texture_shader2GL_NV_texture_shader3GL_NV_transform_feedbackGL_NV_vdpau_interopGL_NV_vertex_array_rangeGL_NV_vertex_array_range2GL_NV_vertex_buffer_unified_memoryGL_NV_vertex_programGL_NV_vertex_program1_1GL_NV_vertex_program2GL_NV_vertex_program2_optionGL_NV_vertex_program3GL_NVX_conditional_renderGL_NVX_gpu_memory_infoGL_SGIS_generate_mipmapGL_SGIS_texture_lodGL_SGIX_depth_textureGL_SGIX_shadowGL_SUN_slice_accum[Info]  GL_DEPTH_BUFFER_BIT 0[Info]  ALC_DEVICE_SPECIFIER OpenAL Soft[Info]  ALC_EXTENSIONS:ALC_ENUMERATE_ALL_EXTALC_ENUMERATION_EXTALC_EXT_CAPTUREALC_EXT_thread_local_contextALC_SOFT_loopback ***********************************************************[Info]  Mounting archive: data/pak0.pak[Info]  Precaching font fonts/arial.ttf... done.[Info]  Precaching sound sounds/LTTP_Link_Hurt.wav... done.[Info]  Loading texture sprites/link.png... done.[Info]  Loading texture sprites/octorok.png... done.[Info]  Loading texture sprites/heartpickup.png... done.[Info]  Precaching sound sounds/LTTP_Item.wav... done.
  • Like 3
Link to comment
Share on other sites

O hay guys I designed the co-op.

 

At any time during the game a 2nd player can hit start on the joypad to help the 1st player on his adventure at any time. It's drop-in/drop-out co-op!

The 2nd player can quit at anytime by hitting select and you get these two options.

Continue Game
Drop-Out

For added challenge and true co-op gameplay you share your hearts, magic, money and ammo However you can use your own items. You must survive together! (You can pick the same item too.)

Here are some concept screenshots I made with ms paint to show what the gameplay would look like. Ok so it's not real in game but the engine can pull it off. I felt bad for HoL so he is Link's sidekick. (at least he is doing something... right?)

 

This is based off local play. Network will be in too so you won't be lonely and stuff. Antidote is awesome for planning to add it!

 

Posted Image

 

Posted Image

 

Posted Image

  • Like 3
Link to comment
Share on other sites

After quite a few runtime issues which resulted in me compiling my own SFML library and reinstalling Mingw, I got Sakura running on windows with complete feature parity.

There is only one thing missing and it's really not important: Blinking text on fatal error.

 

Posted Image

  • Like 1
Link to comment
Share on other sites

[antidote@localhost MapCompiler]$ time ./mapcompiler EasternPalace.tmx Writing header...Writing tilesets...Writing layer 0...Counting tilesGot 12474 tilesWriting tilesWriting layer 1...Counting tilesGot 101 tilesWriting tilesWriting layer 2...Counting tilesGot 679 tilesWriting tilesWriting collision data...DoneWrote 205344 bytes to EasternPalace.zmap real 0m2.221suser 0m1.900ssys 0m0.307s
 
2 Seconds to convert over 12k tiles? not bad not bad at all :D
  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.